Как добавить репозиторий yandex mirror

Обновлено: 12.05.2024

Экспериментальные репозитории, установочные образы и наборы программ (experimental/addons).

Установочные образы и наборы программы из данной папки НЕ ПОЛУЧАЮТ техническую поддержку.

  • В данных репозиториях размещены архивные версии репозиториев, для которых уже не будут выпускаться обновления безопасности (версии Astra Linux Common Edition очередное обновление 1.11 и снимки репозиториев Astra Linux Common Edition 2.12);
  • Установочные образы и наборы программы из данной папки техническую поддержку в соотвествии с действующими лицензиями договорами.

Сохранён для совместимости с более ранними версиями структуры папок. К использованию не рекомендуется. Cовпадает с репозиторием stable.

Установщик по умолчанию, если иное не задано в файлах настройки приоритетов, старается устанавливать более новые версии пакетов.
При этом изменения номеров минорных версий установщиком не учитываются, т.е.:

  • При возможности установки пакетов пакет_1.1.1-100 и пакет_1.1.2-1 (отличие в последней цифре номера мажорной версии) будет установлен пакет_1.1.2, как имеющий старшую мажорную весрсию;
  • При возможности установки пакетов пакет_1.1.1-1 и пакет_1.1.1-100 (мажорные версии совпадают, отличия в минорных версиях) будет установлен первый найденный в репозиториях вариант пакета.

Приоритеты выбора репозиториев задаются в каталоге /etc/apt/preferences.d/ или в файле /etc/apt/preferences (устаревший способ).
Подробности см. по ссылке

Если приоритеты выбора репозитория не заданы явно, то

  • неподписанные репозитории имеют меньший приоритет, чем подписанные;
  • репозитории обрабатываются в порядке их перечисления в конфигурационных файлах.

Проверить приоритеты репозиториев для конкретного пакета можно командой:

apt-cache policy имя_пакета

Подключение репозитория выпуска orel-frozen - 1.11

далее в терминале выполнить:

Для обновления дистрибутива:

Sources List Generator (генератор списка репозиториев)

В интернете есть сервисы, которые автоматически формируют sources.list на основе ваших потребностей. Вы можете использовать как свой генератор, так и воспользоваться готовым.

Я не знаю, кто ведет подобные List Generator и можно ли им доверять. Всегда проверяйте список репозиториев, который будет сгенерирован для вас. По сути, это обычный текстовый файл, который вы скопируете себе.

К примеру, я указал в List Generator, что мне надо подготовить список репозиториев со следующими параметрами:

  1. Репозиторий Stable
  2. Ветка main (просто отключил ветки contrib и non-free)
  3. Mirror - Russia
  4. Включить репозитории Security и Updates
  5. Добавить repo для софта - Docker, MariaDB, Nginx, NodeJS, Php, Webmin

В итоге получил вот такой sources.list

К нему еще список gpg ключей для импорта. В принципе, к списку у меня претензий нет. Все по делу. Нужно только проверить php и mariadb repository. Мне предложенные не знакомы.

В целом, я бы не рекомендовал использовать такие сервисы по генерации готовых списков. Я не вижу проблем, чтобы вручную все сделать и проконтролировать процесс.

Подключение репозиториев Astra Linux Common Edition

Установка remi repo в CentOS

Les RPM de Remi repository поддерживает последние версии MySQL и PHP (бэкпорты федоровских rpm). Пакеты этого репозитория необходимо использовать с осторожностью, так как они заменяют базовые пакеты.

Установка репозитория remi в centos:

установка remi в centos

Подключение rpmforge repo в CentOS

  • Servers (eg. monitoring, troubleshooting, management)
  • Desktops (eg. office, leisure, multi-media)
  • Development (eg. perl, python, ruby libraries)

Установка rpmforge на centos:

  1. Устанавливаем GPG ключ:
  2. Идем на страницу загрузки и копируем ссылку rpm пакета под нужную нам архитектуру.
  3. Устанавливаем скопированный rpm пакет:

В настоящее время приведенная выше ссылка не работает по неизвестным причинам, я надеюсь, что это временные проблемы с сайтом. Пока можно использовать альтернативную:

установка rpmforge centos

Проверяем директорию /etc/yum.repos.d:

Все в порядке rpmforge репозиторий установлен.

Подключение репозитория выпуска orel-frozen - 1.11

далее в терминале выполнить:

Для обновления дистрибутива:

sudo apt update && sudo apt dist-upgrade

Архив репозиториев для старых версий

Ниже представляю готовые настройки репозиториев для прошлых версий.

Debian 9 stretch

Репозитории Debian 9 stretch пока еще находятся в основных репозиториях:

В скором времени они тоже переедут в архив. Случится это в июне 2022 года, когда кончится период длительной поддержки. Тогда их можно будет подключить по следующим адресам:

Debian 8 jessie

Репозитории Debian 8 jessie:

Debian 7 wheezy

Репозитории Debian 7 wheezy:

Debian 6 squeeze

Репозитории Debian 6 squeeze:

Подключение репозиториев скопированных на локальный жесткий диск

Перед копированием файлов на локальный жесткий диск рекомендуется убедиться, что в файловой системе достаточно свободного места. Сделать это можно командой:

Репозитории в локальной папке

Для добавления репозиториев, находящихся в локальной папке (нет доступа в интернет или нужна локальная копия) в /etc/apt/sources.list надо вписать строку:

Репозитории в скачанном образе .iso (применимо к образам дисков с обновлениями безопасности Astra Linux Special Edition)

в /etc/apt/sources.list надо вписать строку:

После внесения изменений в /etc/apt/sources.list обновить списки источников:

Для автоматического монтирования образа добавить в файл /etc/fstab строку вида:

/home/user/ISO/devel-smolensk.iso /opt/repo iso9660 defaults 0 0

Для того, чтобы такой репозиторий был доступен на других компьютерах удобно использовать предоставление файловых ресурсов через службу FTP.:
При этом источник в /etc/apt/sources.list для ОС Astra Linux Special Edition РУСБ.10015-01 будет выглядеть как:

deb ftp://путь_к ресурсу smolensk contrib main non-free

Подключение сторонних репозиториев

Введение

В первую очередь расскажу, что такое репозиторий (repository) своими словами. В общем случае это место, где хранятся и поддерживаются какие-то данные. Применительно к операционным системам и конкретно к Debian, репозиторий - это файловый сервер, который хранит у себя пакеты для установки на операционную систему . Это могут быть как пакеты программ, так и обновлений для сервера в виде новых ядер, системных утилит и т.д.

Существуют repository не только для операционных систем, но и для программ. Там могут быть как уже скомпилированные и готовые к установке пакеты, так и исходные коды программных продуктов. Большинство репозиториев содержат готовые пакеты. Это относится и к стандартным репозиториям Debian.

Помимо официальных списков реп (транскрипция от сокращения repo), есть сторонние, которые поддерживают производители программ либо энтузиасты. Нужно внимательно относиться к сторонним репозиториям, не добавлять их бездумно. Там может располагаться любое ПО, в том числе не то, что заявлено изначально. Либо они могут быть взломаны для размещения вредоносных программ.

Управлением пакетами и работой с repository lists в Debian занимаются отдельные утилиты:

  • apt
  • apt-get
  • synaptic
  • aptitude и др.

В данной статье мы не будем рассматривать их отличия, так как это тема отдельного повествования. Все они работают со стандартным списком источников, который в общем случае располагается в /etc/apt/sources.list.

Если у вас еще не настроен сервер с Debian, рекомендую мои материалы на эту тему:

Подключение репозиториев Debian 9 "Stretch"

С установкой пакета debian-archive-keyring

Для Astra Linux Common Edition 2.12.8 установить пакет dirmngr для управления ключами и пакет debian-archive-keyring, содержащий ключи к репозиториям Debian:

sudo apt install debian-archive-keyring dirmngr

В /etc/apt/sources.list добавить ссылку на репозиторий Debian:

После добавления ссылки выполнить команду

sudo apt update

Если пакет debian-archive-keyring установлен, то команда должна отработаться без ошибок.
Если пакет debian-archive-keyring не установлен, то команда сообщит, что не может проверить подписи репозитория, и сообщит, какие именно ключи нужны для проверки.

На момент написания этой статьи к репозиторию Stretch относится третий, последний отпечаток.

Для Astra Linux Special Edition пакет debian-archive-keyring может быть установлен из репозитория Astra Linux Common Edition после подключения этого репозитория или командами:

В примере команды указана версия пакета, доступная на момент написания примера, при изменении версии команда должна быть откорректирована.

Без установки пакета debian-archive-keyring

Для того, чтобы установить ключ проверки подлинности:

    Временно изменить настройки DNS, оставив только сервер DNS 8.8.8.8, после чего попробовать получить ключи вышеуказанной командой.
    После успешного получения ключей настройки можно восстановить.

sudo apt-key add ИМЯ_ФАЙЛА.

После установки ключа репозитория обновите список пакетов:

sudo apt update

Ключ репозитория Stretch действителен до 2025-го года, если установлен пакет debian-archive-keyring ключи будут обновляться автоматически по мере обновления пакета.

Проверить список установленных ключей можно командой

Подключить репозиторий можно и без установки ключей, однако данный способ не рекомендуется к применению, так как при этом проверка подлинности данных, получаемых из репозитория, становится невозможной. Для отключения проверки ключей в определении репозитория нужно указать дополнительный ключ trusted=yes:

Для отключения проверки ключей в определении репозитория нужно указать дополнительный ключ trusted=yes:

Сценарий создания собственного простого репозитория

Данный сценарий позволяет создать собственный репозиторий из произвольного набора ранее скачанных пакетов формата deb (двоичных пакетов Debian).

Сценарий позволяет указать в качестве аргумента вызова версию релиза (orel, smolensk и т.д.) для создания репозитория, если никакая версия не указана - то используется текущий релиз системы.

Репозиторий создаётся в текущем каталоге.

После завершения создания репозитория в текущем каталоге создаётся файл со строкой-ссылкой на созданный репозиторий для списка источников пакетов.

Установить необходимые для создания репозитория пакеты, если они не были установлены ранее:

sudo apt install dpkg-dev apt-utils

Создать каталог, в котором будет размещён репозиторий, и перейти в этот каталог, например:

sudo mkdir /opt/repo
cd /opt/repo

Сохранить сценарий в файле с именем, например, create-flat-repo:

CODENAME="$"
if [ -z "$CODENAME" ] ; then
echo "Имя дистрибутива не определено, укажите вручную как аргумент команды"
exit 1
else
echo "Имя дистрибутива определено как \"$CODENAME\""
fi

ARCH=$(dpkg-architecture -q DEB_BUILD_ARCH)

mkdir -p dists/$CODENAME/main/binary-$ARCH

dpkg-scanpackages -a $ARCH . > dists/$CODENAME/main/binary-$ARCH/Packages

echo -e "Origin: Debian\nSuite: unstable\nCodename: $CODENAME\nVersion: $V\nArchitectures: $ARCH\nComponents: main" > dists/$CODENAME/Release
apt-ftparchive release . >> dists/$CODENAME/Release

Разрешить выполнение созданного файла:

sudo chmod +x create-flat-repo

sudo ./create-flat-repo

По необходимости переместить или скопировать созданный файл .list в каталог списков источников пакетов /etc/apt/sources.list.d/ и обновить списки пакетов:

После выполнения указанных операций установку пакетов из созданного репозитория можно будет выполнять стандартной командой:

sudo apt install имя_пакета

Репозитории в CentOS

Для начала давайте поясним, что такое репозитории и для чего они нужны. Вот что говорит wikipedia на этот счет:

Репозито́рий, хранилище — место, где хранятся и поддерживаются какие-либо данные. Чаще всего данные в репозитории хранятся в виде файлов, доступных для дальнейшего распространения по сети.

Существуют репозитории для хранения программ, написанных на одном языке (например, CPAN для Perl) или предназначенных для одной платформы. Многие современные операционные системы, такие как OpenSolaris, FreeBSD и большинство дистрибутивов Linux, имеют официальные репозитории, но также позволяют устанавливать пакеты из других мест. Большинство репозиториев бесплатны, однако некоторые компании предоставляют доступ к собственным репозиториям за платную подписку.

Некоторое время назад Linux приложения выходили в виде исходного кода, который потом компилировали на сервере и получали готовые программы. На сегодняшний день большинство приложений выходят в виде так называемых пакетов. Это уже собранные приложения, которые можно сразу установить и пользоваться.

В нашем случае репозиторий - хранилище пакетов для операционной системы CentOS. Существуют repository от разработчика системы, их называют официальные. Набор rpm пакетов там обычно ограничен и версии не самые свежие. Для установки дополнительного софта используют сторонние репозитории. Их поддерживать могут как другие компании, так и группы энтузиастов.

Управлением пакетами и репозиториями в CentOS занимается утилита yum. Ее конфигурационный файл находится в /etc/yum.conf. Этот файл содержит секцию [main], в которой указываются глобальные настройки программы. Так же он может содержать одну или несколько секций [repository], в которой хранятся настройки репозиториев. Тем не менее, рекомендуется информацию о репозиториях хранить в каталоге /etc/yum.repos.d/ в специальных файлах .repo.

Минимальное содержание файла .repo следующее:

Другие ползные параметры, которые могут быть указаны в repo файле:

enabled принимает значение 1 или 0, 1 - репозиторий подключен, 0 - отключен
async управляет загрузкой пакетов, auto - использует при возможности параллельную загрузку, on - использует только параллельную загрузку, off - параллельная загрузка отключена
mirrorlist вместо ссылки на конкретный адрес репозитория может быть указана ссылка на список адресов, из которых при установке будет выбран наиболее подходящий
gpgcheck принимает значение 1 или 0, 1- осуществлять проверку GPG подписи пакета из репозитория, 0 - не проверять
gpgkey ссылка на GPG ключ репозитория

Вот содержание стандартного файла с репозиториями CentOS /etc/yum.repos.d/CentOS-Base.repo:

Локальный репозиторий

Есть несколько способов создать локальный репозиторий Debian. Из того, что я пробовал, самым простым и удобным мне показался apt-mirror, но у него есть один баг, если его использовать как зеркало официальных репозиториев. Он не качает переводы в формате .gz и.xz, только .bz2. В итоге, когда будете использовать локальный репозиторий в качестве зеркала официального, получите ошибку:

Дальше создаем каталог для локального репозитория и конфиг.

Конфиг делаем примерно следующего содержания.

Выполняем инициализацию репозитория.

Теперь можно добавлять пакеты в локальный репозиторий следующей командой.

Для того, чтобы подключить локально новый репозиторий, его нужно добавить в sources.list.

После этого выполняете обновление кэша пакетов и увидите в списке репозиториев свой локальный.

Локальный репозиторий Debian

Удалить репозиторий в CentOS

Для того, чтобы удалить репозиторий из системы, необходимо узнать его id с помощью команды yum repolist. Об этом я писал в предыдущем разделе. Затем с помощью утилиты yum-config-manager, которая входит в пакет yum-utils выполним удаление:

Если получаете такую ошибку, то установите пакет yum-utils:

Удаление репозитория в centos:

Теперь проверяем список активных репозиториев:

yum-config-manager --disable repo

Удаленного репозитория remi-safe нет. Значит все в порядке, отключение репозитория прошло успешно.

Для того, чтобы обновить кэш yum после изменения репозиториев, можно воспользоваться следующими командами:

Решение проблемы одинаковых версий пакетов при подключении нескольких репозиториев

При смене репозиториев установка пакетов может затрудняться тем, что в используемых репозиториях оказываются пакеты с одинаковыми версиями.
Для устранения этой проблемы (и, возможно, в качестве профилактической меры при частой смене репозиториев) следует:

Очистистить сохраненные списки пакетов, содержащие информации о ранее использовавшихся репозиториях:

sudo rm -rf /var/lib/apt/lists/*

Обновить списки пакетов в соответствии с актуальным списком репозиториев:

sudo apt update

После вполнения указанных операций установка пакетов выполянется в обычном порядке.

Подключение репозиториев на DVD дисках

вставить загрузочный диск в привод и выполнить команду:

sudo apt-cdrom add
sudo apt update

для подключения диска со средствами разработки нужно еще вставить диск со средствами разработки и выполнить команду:

sudo apt-cdrom add
sudo apt update

Список репозиториев в sources.list

Изначально, содержимое sources.list будет зависеть от того, какой источник для пакетов вы выбрали во время установки debian. К примеру, в моем случае для системы Debian 10 он выглядит следующим образом.

Репозитории Debian в sources.list

Для Debian 11 bullseye немного изменился формат записи для репозитория security. Теперь он выглядит так:

Репозитории Debian 11 Bullseye

В общем случае файл sources.list имеет следующую структуру:

deb и deb-src тип архива, бинарные пакеты (deb) или пакеты с исходным кодом (deb-src)
http://site.example.com/debian url репозитория
distribution псевдоним релиза (bullseye, buster, stretch и т.д.), либо класс релиза (stable, oldstable и т.д.)
component main, contrib или non-free набор пакетов

Про псевдонимы релизов и наборы пакетов мы поговорим ниже более подробно в соответствующем разделе.

Помимо основного файла sources.list, репозитории могут располагаться в отдельных файлах в директории /etc/apt/sources.list.d. Формат файлов такой же, как и у основного. Обычно туда добавляют отдельно в каждый файл набор источников для какой-то определенной программы. Например, proxmox размещает в отдельном файле свой платный репозиторий.

Подключение репозиториев текущей версии orel-stable- 2.12

В /etc/apt/sources.list прописать путь к основному репозиторию (stable):

Или, по необходимости, к репозиторию testing или experimantal:

Не рекомендуется подключать одновременно репозитории testing и experimental, так как их совместимость друг с другом не гарантируется.

sudo apt update

sudo apt dist-upgrade

Подключение репозиториев на DVD дисках

вставить загрузочный диск в привод и выполнить команду:

sudo apt-cdrom add
sudo apt update

для подключения диска со средствами разработки нужно еще вставить диск со средствами разработки и выполнить команду:

sudo apt-cdrom add
sudo apt update

Подключить repo epel, rpmforge и другие репозитории в CentOS

Для любого сервера необходимо иметь возможность оперативно получить актуальное свежее программное обеспечение. Установка репозиториев epel, rpmforge и др. repo для CentOS решает вопрос получения rpm пакетов для последующей настройки и обновления функционала сервера. Так что уделим внимание этому вопросу и разберемся в тонкостях, которые тут присутствуют, как и в любом другом вопросе.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Данная статья является частью единого цикла статьей про сервер Centos.

Добавить новый repository в debian

Теперь от теории перейдем к практике. Давайте вручную добавим новый репозиторий в Debian. К примеру, нам нужно установить на сервер стабильную версию MariaDB. Для этого добавим ее репозиторий. Это можно сделать либо в файле sources.list, но лучше создать отдельный в sources.list.d. Назовем его MariaDB.list.

После подключения репозитория, надо добавить его gpg ключ.

Теперь обновим кэш пакетов. Это нужно делать каждый раз после подключения нового репозитория.

Добавление репозитория в Debian

Можно выполнить поиск пакета, чтобы убедиться, что новый репозиторий подключен.

Новый репозиторий

Как я уже говорил, для настройки нового репозитория, вы могли просто добавить эти же 2 строки с параметрами в sources.list напрямую. Разницы никакой нет.

Ветки main, contrib, non-free

Каждый официальный репозиторий Debian имеет по 3 ветки:

  1. main состоит из DFSG-compliant пакетов, которым не требуется другое ПО из других источников. Эти пакеты считаются частью дистрибутива Debian. Они полностью свободны для любого использования.
  2. contrib пакеты так же содержат DFSG-compliant ПО, но их зависимости могут требовать дополнительное ПО, которое может быть в других источниках, например ветке non-free.
  3. non-free содержит все остальное ПО, которое не соответствует DFSG.

DFSG - Debian Free Software Guidelines, критерии Debian по определению свободного ПО. В любом случае, пакеты из всех трех веток main, contrib и non-free полностью протестированы и подготовлены для работы с дистрибутивом Debian.

Теперь, зная всю теорию по репозиториям в Debian, мы можем проанализировать файл sources.list, который мы получили после установки. В нем подключены 3 репозитория с ветками main.

Это stable repo текущего релиза. Далее идет security repository для установки свежих обновлений безопасности.

И в завершении stable-updates для получения стабильных обновлений до очередного Point Release текущего дистрибутива.

Признаюсь честно, я много лет администрировал сервера с Debian, а до конца не понимал, что у меня записано в sources.list. Разобрался полностью только сейчас, когда писал статью. До этого просто копировал по привычке конфиги с репами. Догадывался о чем там речь, но точно не знал. Теперь восполнил пробел и поделился с вами информацией.

Добавление репозитория в Debian, примеры sources.list

Для любого сервера необходимо иметь возможность оперативно получить актуальное свежее программное обеспечение. Я расскажу, как настраивать список репозиториев в Debian - добавлять, удалять, редактировать разные repository в sources.list. Разберем внимательно эту тему, обратив внимание на различные нюансы, которые присутствуют, как и в любом другом деле.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом "Administrator Linux. Professional" в OTUS. Курс не для новичков, для поступления нужно пройти . Цены 2020 года.

Данная статья является частью единого цикла статьей про сервер Debian.

Подключение репозиториев в CentOS

Добавить репозиторий в CentOS можно тремя разными способами:

  1. Добавив секцию [repository] в файл /etc/yum.conf
  2. Создав .repo файл в директории /etc/yum.repos.d
  3. Установив rpm пакет с информацией о репозитории

Как уже было сказано ранее, первый способ использовать не рекомендуется самими разработчиками. Наиболее быстрый и удобный третий способ. Если rpm пакета для добавления репозитория не существует, то используется вручную второй способ.

Подключение репозиториев скопированных на локальный жесткий диск

Перед копированием файлов на локальный жесткий диск рекомендуется убедиться, что в файловой системе достаточно свободного места. Сделать это можно командой:

Yandex mirror для CentOS

На зеркале CentOS можно скачать дистрибутивы всех актуальных на текущий момент версий, а это версии 5, 6 и 7. Зеркало можно использовать в качестве источников стандартных репозиториев системы - base, updates, extras, centosplus.

На этом у меня все по теме работы с репозиториями. Дальше можно заняться настройкой CentOS. Ели есть замечания, дополнения, уточнения, ошибки, прошу писать об этом в комментариях.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.

Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов

Все команды, котрые вносят изменения в систему, выполняются:

  • в Astra Linux Common Edition - с правами администратора системы;
  • в Astra Linux Special Edition - с правами администратора системы с высоким уровнем целостности;

То есть выполняются либо через команду sudo для каждой выполняемой команды, либо для группы команд в сессии администратора после выполнения команды:

Установка пакетов при подключенном репозитории производится в терминале командой:

также установка пакетов и настройка репозиториев может производиться с помощью графического менеджера пакетов Synaptic.

Для находящихся в эксплуатации систем рекомендуется использовать именно этот репозиторий.
  • Репозитории и установочные образы с актуальными стабильными версиями пакетов;
  • Установочные образы и наборы программ из данной папки ПОЛУЧАЮТ техническую поддержку.
  • Репозитории с новыми (тестируемыми) версиями обновлений и пакетов;
  • После выпуска обновлений данный репозиторий какое-то время соответствует репозиторию stable;
  • Установочные образы и наборы программ из данной папки НЕ ПОЛУЧАЮТ техническую поддержку.

Экспериментальные репозитории, установочные образы и наборы программ (experimental/addons).

Установочные образы и наборы программы из данной папки НЕ ПОЛУЧАЮТ техническую поддержку.

Репозитории experimental/addons предназначены для установки на текущую stable версию дистрибутива и могут быть несовместимы с пакетами, входящими в репозитории testing.
  • В данных репозиториях размещены архивные версии репозиториев, для которых уже не будут выпускаться обновления безопасности (версии Astra Linux Common Edition очередное обновление 1.11 и снимки репозиториев Astra Linux Common Edition 2.12);
  • Установочные образы и наборы программы из данной папки техническую поддержку в соотвествии с действующими лицензиями договорами.
Использование этих репозиториев лишает Вас возможности получать критические обновления, в том числе обновления безопасности! Актуальный репозиторий находится в папке stable.

Сохранён для совместимости с более ранними версиями структуры папок. К использованию не рекомендуется. Cовпадает с репозиторием stable.

Установщик по умолчанию, если иное не задано в файлах настройки приоритетов, старается устанавливать более новые версии пакетов.
При этом изменения номеров минорных версий установщиком не учитываются, т.е.:

  • При возможности установки пакетов пакет_1.1.1-100 и пакет_1.1.2-1 (отличие в последней цифре номера мажорной версии) будет установлен пакет_1.1.2, как имеющий старшую мажорную весрсию;
  • При возможности установки пакетов пакет_1.1.1-1 и пакет_1.1.1-100 (мажорные версии совпадают, отличия в минорных версиях) будет установлен первый найденный в репозиториях вариант пакета.

Приоритеты выбора репозиториев задаются в каталоге /etc/apt/preferences.d/ или в файле /etc/apt/preferences (устаревший способ).
Подробности см. по ссылке

Если приоритеты выбора репозитория не заданы явно, то

  • неподписанные репозитории имеют меньший приоритет, чем подписанные;
  • репозитории обрабатываются в порядке их перечисления в конфигурационных файлах.

Проверить приоритеты репозиториев для конкретного пакета можно командой:

Зеркало официального репозитория yandex mirror

Repository yandex mirror можно так же использовать для сетевой установки систем.

Цели статьи

  1. Рассмотреть различные ветки официальных репозиториев.
  2. Подробно рассказать, как настраивать репозитории в debian.
  3. Показать на примере, как настроить локальный репозиторий.
  4. Составить список актуальных репозиториев для старых версий Debian.

Заключение

Постарался собрать весь материал, который касается настройки репозиториев в Debian в одном месте. Если есть какие-то ошибки или неточности, а так же дополнения, прошу сообщить в комментариях. Писал все сам, нигде не переводил у других и не копировал. Постарался раскрыть тему своими словами максимально понятно.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.

Подключение репозитория с пакетами из проекта debian (wheezy)

Процедура получения ключа для репозитория Wheezy в целом аналогична процедуре для Stretch (см. выше), отличаются только строка с адресом репозитория и ключ.

далее в терминале выполнить:

И, если пакеты с ключами ранее не установлены, по полученной подсказке получить ключи для репозитория.
Ключ (на момент написания этой статьи) следует получать по отпечатку 6FB2A1C265FFB764 :

Обновление репозиториев с помощью yum

После добавления новых репозиториев в систему, никаких дополнительных действий производить не требуется, в отличие от debian based систем, где после добавления репозиториев, необходимо обновить кэш доступных пакетов с помощью команды apt-get update. Если выполнить команду yum update, то начнется сразу обновление пакетов. То есть смысл команды совсем другой. В CentOS кэш пакетов обновляется каждый раз, когда производится какое-то действие с помощью yum. Например, при выводе списка доступных репозиториев, обновляется список пакетов.

Показать список активных репозиториев в centos

yum repolist

repo id id репозитория
reponame имя репозитория
status количество пакетов

Подключение репозиториев текущей версии orel-stable- 2.12

В /etc/apt/sources.list прописать путь к основному репозиторию (stable):

Или, по необходимости, к репозиторию testing или experimantal:

Не рекомендуется подключать одновременно репозитории testing и experimental, так как их совместимость друг с другом не гарантируется.

sudo apt update

sudo apt dist-upgrade

Установка epel repo в CentOS

Полностью epel репозиторий называется так - Extra Packages for Enterprise Linux. Это хранилище пакетов, созданное группой специалистов операционной системы Fedora. Пакеты из epel репозитория никогда не конфликтуют и не переустанавливают базовые пакеты RHEL. Поддерживаются пакеты для следующих операционных систем:

  • Red Hat Enterprise Linux (RHEL)
  • CentOS
  • Scientific Linux (SL)
  • Oracle Linux (OL)

Установить репозиторий epel в CentOS проще всего, так как epel-release package включен в стандартный Extras repository CentOS, который доступен по-умолчанию. На сегодняшний день это самый популярный неофициальный репозиторий для CentOS.

Установка репозитория epel в centos:

установка epel centos

Теперь если проверим папку /etc/yum.repos.d, увидим там файл epel.repo, в котором будет информация о новом подключенном репозитории.

Подключение репозиториев ОС Astra Linux Special Edition РУСБ.10015-01

Подключение образов ОС скопированных на локальный жесткий диск

создать копию DVD диска на локальном жестком диске можно выполнив команду:

sudo dd if=/dev/cdrom of=/opt/cd.iso bs=1M

или просто скопировав содержимое диска в выбранную папку.

Смонтировать iso файл в выбранную папку можно выполнив команду:

sudo apt update

Подключение репозиториев Astra Linux Common Edition

Подключение репозитория с пакетами из проекта debian (wheezy)

Процедура получения ключа для репозитория Wheezy в целом аналогична процедуре для Stretch (см. выше), отличаются только строка с адресом репозитория и ключ.

далее в терминале выполнить:

И, если пакеты с ключами ранее не установлены, по полученной подсказке получить ключи для репозитория.
Ключ (на момент написания этой статьи) следует получать по отпечатку 6FB2A1C265FFB764 :

Подключение репозиториев Debian 9 "Stretch"

С установкой пакета debian-archive-keyring

Для Astra Linux Common Edition 2.12.8 установить пакет dirmngr для управления ключами и пакет debian-archive-keyring, содержащий ключи к репозиториям Debian:

В /etc/apt/sources.list добавить ссылку на репозиторий Debian:

После добавления ссылки выполнить команду

sudo apt update

Если пакет debian-archive-keyring установлен, то команда должна отработаться без ошибок.
Если пакет debian-archive-keyring не установлен, то команда сообщит, что не может проверить подписи репозитория, и сообщит, какие именно ключи нужны для проверки.

На момент написания этой статьи к репозиторию Stretch относится третий, последний отпечаток.

Для Astra Linux Special Edition пакет debian-archive-keyring может быть установлен из репозитория Astra Linux Common Edition после подключения этого репозитория или командами:

В примере команды указана версия пакета, доступная на момент написания примера, при изменении версии команда должна быть откорректирована.

Без установки пакета debian-archive-keyring

Для того, чтобы установить ключ проверки подлинности:

  1. Установите пакет dirmngr (если он ранее не установлен) и
  2. Используйте команду apt-key с указанием нужного отпечатка:

    Временно изменить настройки DNS, оставив только сервер DNS 8.8.8.8, после чего попробовать получить ключи вышеуказанной командой.
    После успешного получения ключей настройки можно восстановить.

После установки ключа репозитория обновите список пакетов:

sudo apt update

Ключ репозитория Stretch действителен до 2025-го года, если установлен пакет debian-archive-keyring ключи будут обновляться автоматически по мере обновления пакета.

Проверить список установленных ключей можно командой

Подключить репозиторий можно и без установки ключей, однако данный способ не рекомендуется к применению, так как при этом проверка подлинности данных, получаемых из репозитория, становится невозможной. Для отключения проверки ключей в определении репозитория нужно указать дополнительный ключ trusted=yes:

Для отключения проверки ключей в определении репозитория нужно указать дополнительный ключ trusted=yes:

Подключение сторонних репозиториев

Типы официальных репозиториев в Debian

Как я уже показал выше, в sources.list используются псевдонимы, либо классы релиза, а так же разные ветки наборов пакетов. С псевдонимами релизов все понятно. Они названы в честь персонажей мультфильма История игрушек (Toy story) - Wheezy, Jessie, Stretch, Buster, Bullseye и т.д. А вот насчет классов релизов поговорим отдельно. Существуют следующие официальные классы релизов Debian.

Stable

Стабильная ветка официального текущего релиза Debian. То есть это самая свежая и актуальная версия, которую рекомендуется использовать. Официальный репозиторий стабильной ветки содержит проверенный набор программ, зачастую не очень свежих версий. Это плата за надежность. В production рекомендуется использовать пакеты именно из репозитория stable.

В этом репозитории регулярно публикуются все актуальные обновления текущего релиза. Он формируется из ветки Testing, которая в момент релиза новой версии превращается в Stable.

Oldstable

Oldstable - кодовое имя предыдущего stable repository. Для этого репозитория выпускаются обновления безопасности. Ветка Oldstable формируется из Stable предыдущего релиза на момент публикации нового.

Testing

Testing содержит в себе текущее состояние разработки нового стабильного релиза. После его выхода, testing становится stable. Пакеты в testing попадают из репы unstable. В общем случае использовать репозиторий testing следует только для тестовых целей, чтобы посмотреть на новый релиз.

Для этого можно сделать чистую установку текущего релиза, затем изменить repo со stable на testing и обновиться. Вы получите свежую версию тестового релиза, который готовится к выпуску.

Unstable (sid)

Sid это repository с самым свежим программных обеспечением. Проблема только в том, что оно еще не протестировано достаточным образом для использования. Если вы точно уверены, что вам нужен новый софт и он не сломает вам систему, можете поставить его из unstable репозитория. Но в общем случае, делать это не рекомендуется.

Даже если софт из unstable не повредит работе системы, он может нарушить зависимости пакетов, так что потом может быть затруднительно вернуться на stable repo.

Experimental

Experimental repository содержит пакеты и утилиты, которые в данный момент только разрабатываются и находятся в состоянии alpha версии. Этот репозиторий предназначен только для разработчиков и тестировщиков. Если будете его использовать в рабочей системе, с большой долей вероятности, сломаете ее.

Backports

Backports repository выступает как некий компромисс между стабильностью основной ветки и свежим набором программ из ветки testing. Репозиторий backports содержит пакеты преимущественно из testing и немного из unstable (только для обновлений безопасности).

Пакеты из backports там, где это возможно, устанавливаются без новых библиотек, которых нет в стабильной версии. Это сделано, чтобы можно было с большей вероятностью опять вернутся на stable, в случае необходимости.

Если вам нужен софт из веток testing и unstable, лучше использовать backports. Репозиторий создан как раз для того, чтобы не прыгать между этими ветками.

Это все, что касается деления репозиториев по классам релизов. Есть еще небольшое разделение, которое явно нигде не описано и сразу не догадаешься, как оно работает и устроено.

Важное замечание. Я не рекомендую в качестве репозиториев указывать классы релизов - stable, oldstable и т.д. Всегда явно указывайте название релиза - bullseye, buster, stretch и т.д. Иначе в случае выхода нового релиза, вы при обычном обновлении получите обновление релиза, даже если не собирались его обновлять.

Security updates

Существует отдельный репозиторий только для security updates. Добавить его можно следующим образом:

Смысл этого repo в том, что сюда попадают только обновления безопасности и ничего другого. Вы можете настроить автоматическую установку пакетов из этого репозитория и не переживать о том, что что-то сломается. обновления сюда попадают максимально быстро после выпуска исправлений.

Stable-updates

Еще один отдельный репозиторий для установки пакетов через механизм stable-updates. Добавить его можно следующим образом.

Через этот repository вы будете по мере выпуска получать обновления, которые готовятся к публикации в очередном обновлении релиза. Так называемые Point Releases - 10.1, 10.2 и т.д. Случаются они не часто, примерно раз в 2-3 месяца, но проверенные для них обновления можно получить ранее как раз с помощью stable-updates.

Возможные ошибки

Рассмотрим наиболее популярные ошибки, которые возникают при добавлении и обновлении репозиториев.

Репозиторий не содержит файла Release

Текст ошибки, по идее, дает готовый ответ. В репозитории нет обязательного файла Release. Но суть в том, что он скорее всего есть. Дело тут чаще всего в том, что вы добавили к себе репозиторий, который не содержит указанной вами ветки. К примеру, вы добавили репозиторий в дистрибутив Buster, а в репозитории нет поддержки этого дистрибутива. Предыдущие есть, а этого нет.

Ровно эту же ошибку вы получите, если будете использовать старую, снятую с поддержки версию Debian. В какой-то момент стандартные репозитории перестанут поддерживать вашу версию дистрибутива и вы получите ошибку. Вам надо будет либо обновляться до более свежей версии, либо использовать архивные репозитории.

Подключение образов ОС скопированных на локальный жесткий диск

создать копию DVD диска на локальном жестком диске можно выполнив команду:

sudo dd if=/dev/cdrom of=/opt/cd.iso bs=1M

или просто скопировав содержимое диска в выбранную папку.

Смонтировать iso файл в выбранную папку можно выполнив команду:

sudo apt update

Подключение репозиториев Debian из закрытой сети

Сохранённые файлы ключей следует скопировать на компьютер, на котором должна выполняться установка пакетов, и установить ключи из скопированного файла:

sudo apt-key add ИМЯ_ФАЙЛА_С_КЛЮЧОМ

Читайте также: