Репозитории ALT Linux

Материал из ALT Linux Wiki
Information.svg Полезные ссылки:

Главные правила

Внимание!
  • Не следует смешивать несовместимые репозитории, например, репозитории разных версий (следует заметить, что в Synaptic достаточно легко отметить лишнее).
  • Обновляя систему с версии на версию, следует отключать старые репозитории при подключении новых. Кроме того, рекомендуется прочитать замечания по обновлению, которые, скорее всего, уже будут доступны на этом сайте. Прыгать через версию не рекомендуется.
  • Не стоит подключать несколько разных зеркал. Это увеличит необходимый объём памяти для расчёта зависимостей обновлений, плюс зеркала могут синхронизироваться в разное время, что также может добавить проблем при расчёте зависимостей.


Подключение репозиториев осуществляется записью соответствующей строки в файл /etc/apt/sources.list, либо в произвольный файл, соответствующий шаблону *.list в каталоге /etc/apt/sources.list.d/. C 2011 года существует утилита apt-repo, которая упрощает манипулирование репозиториями в командной строке. Также подключение и смену репозиториев можно осуществлять посредством графической утилиты Synaptic. Подробнее это описано в разделе Формат описания репозиториев в APT.

Обязательным является подключение двух репозиториев: архитектуронезависимого (noarch) и архитектурозависимого (i586, x86_64, aarch64 и т.п.). Это обусловлено тем, что как архитектуронезависимые компоненты пакетов, так и целые архитектуронезависимые пакеты не имеет смысла дублировать в архитектурозависимых репозиториях. Соответственно в ALT Linux принята такая идеология создания репозитория.

Дистрибутивы

Процесс формирования стабильных веток и дистрибутивов ALT Linux на их основе выглядит так:

  • в рамках Sisyphus осуществляется текущая разработка (unstable);
  • когда приходит время очередной стабильной ветки — сизиф притормаживается;
  • альфа-сборки происходят на «медленном» unstable;
  • одновременно с фиксацией беты дистрибутива происходит отделение бранча;
  • далее некоторое время бранч и сизиф идут почти шаг-в-шаг (происходит копирование);
  • когда в сизифе начинают меняться ABI или иная функциональность, бранч уходит «в автоном»;
  • дистрибутивы выпускаются на бранче (x.0 и далее x.0.y).

Например, дистрибутивы семейства 10.x выпускаются на базе p10/branch.

До версии 4.1 включительно для дистрибутивов формировались соответвующие опубликованным образам репозитории — например, для ALT Linux Server 4.0 доступен здесь.

Ветки

Стабильные ветки

Основная статья: Branches

Каждая стабильная ветка (branch) разработки имеет APT-репозиторий. Поскольку стабильные ветки достаточно консервативны по измененениям, то эти репозитории достаточно безопасны для использования вместе с дистрибутивами (совпадающими по мажорной и минорной цифре в версии). Репозитории стабильных веток можно также использовать для обновления на следующие минорные и мажорные версии.

Для пятой, шестой и седьмой платформ сопровождались сразу две ветви: ветвь для выпуска дистрибутивов (p5, p6, p7) и ветвь сообщества (5.1, t6, t7). Ветвь для выпуска дистрибутивов делает упор на стабильность, надежность и тестирование, а ветвь сообщества отличается более свободным допуском и расширяет ветвь для выпуска дистрибутивов новыми пакетами и новыми версиями имеющихся пакетов, оставаясь в целом бинарно совместимой с ветвью для выпуска дистрибутивов.

Для Восьмой платформы t8 не создавалась, текущие задачи решались в рамках p8. Для Девятой платформы ветка t9 так же не создана.

Существуют также бранчи c* (c6, c7, c8). Это репозитории дистрибутивов, имеющих сертификат ФСТЭК.

актуальный (p10):

# 32-bit x86
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/i586 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
# 64-bit x86
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic

p8/branch:

# 32-bit x86
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/i586 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/noarch classic
# 64-bit x86
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/x86_64 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/noarch classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/x86_64-i586 classic

p7/branch:

# 32-bit x86
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch i586 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch noarch classic
# 64-bit x86
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch x86_64 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch noarch classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch x86_64-i586 classic

t7/branch:

# 32-bit x86
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/t7/branch i586 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/t7/branch noarch classic
# 64-bit x86
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/t7/branch x86_64 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/t7/branch noarch classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/t7/branch x86_64-i586 classic

Наличие третьего репозитория для x86_64 обусловлено необходимостью поддержки 32-разрядных приложений в 64-разрядной системе. Если такая поддержка не требуется, репозиторий x86_64-i586 тоже не нужен.

Debuginfo

Основная статья: RPM/debuginfo

Начиная с шестой платформы, появился специфический репозиторий debuginfo. Репозиторий содержит отладочную информацию для бинарных исполняемых файлов и библиотек. Обычным пользователям может быть полезен для формирования отчётов о проблемах в багтрекере. Например, для branch/p7 под x86_64 его можно подключить так:

rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch/ x86_64 debuginfo

Autoports

Основная статья: Autoports

Начиная с ветвей p5/5.1 в качестве частичной замены backports появились репозитории Autoports, которые содержат автоматически пересобираемые под текущую стабильную ветвь свежие пакеты из Sisyphus.

Настройка apt для использования Autoports для ветвей p7/t7 описана в Autoports/p7.

Autoimports

Основная статья: Autoimports

Пакеты из репозиториев Autoimports отличаются от пакетов в основном репозитории тем, что они получены с помощью систем автоматической конвертации и сборки пакетов и, соответственно, к ним было применено только автоматическое тестирование. Источником для этих репозиториев являются другие дистрибутивы. Перенос заключается в преобразовании spec-файла в соответствии с правилами в ALT Linux и пересборке в соответствующем окружении.

Карманы

Основная статья: Карманы

Это отдельные мини-репозитории сборочницы ALT Linux, то есть задания, которые собраны, но не были отправлены в основной репозиторий. Имеют ограниченное время жизни. Удаляются сборочницей либо после помещения в репозиторий, либо в случае длительной неактивности. Не стоит использовать такие репозитории, если о них не было где-то объявлено (рассылки, форум).

Sisyphus

Основная статья: Branches/Sisyphus

Sisyphus - нестабильный репозиторий, предназначенный для разработчиков решений (приблизительно сравним с Debian testing, Mageia Cauldron, Fedora Rawhide в других проектах), а не для пользователей. Как правило, до репозитория Sisyphus можно обновить любую достаточно свежую ОС семейства ALT, но при наличии целенаправленной задачи использования Sisyphus для начальной установки лучше всего подходят регулярные сборки.

x86

rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus i586 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic

x86-64

rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic

ARM

Основная статья: Ports/arm
Основная статья: Ports/aarch64


Зеркала

Также существуют зеркала репозиториев.

Вот пример зеркала на яндексе для ветки p8 под 64-битный x86:

rpm ftp://mirror.yandex.ru/altlinux/p8/branch/ x86_64 classic 
rpm ftp://mirror.yandex.ru/altlinux/p8/branch/ noarch classic

Список доступных зеркал

Устаревшие репозитории

Updates

Для каждой стабильной ветки и дистрибутивов вплоть до 4.1 существовали обновления (updates), содержащие критичные исправления по безопасности и функционалу. Обратите внимание: в updates отсутствуют отдельные репозитории для noarch-пакетов: noarch-пакеты включены в архитектурно-зависимые репозитории.

В настоящее время в качестве Updates используются стабильные ветви.

Для дистрибутивов, выпущенных на ветке 4.0:

# x86
rpm http://updates.altlinux.com/4.0/ i586 classic
# x86-64
rpm http://updates.altlinux.com/4.0/ x86_64 classic

Backports

Для каждой стабильной ветки вплоть до 4.1 существовали backports: репозитории, в которые майнтайнеры переносят (пересобирают) более свежие пакеты, которые нельзя переложить в сами ветки из-за политики подготовки веток. Эта работа производится и тестируется вручную и в последнее время практически заглохла.

В настоящее время вместо backports используются Autoports и ветви, сопровождаемые Team (branch/5.1, branch/t6).

branch/4.0:

# x86
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/backports/4.0 i586 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/backports/4.0 noarch classic
# x86-64
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/backports/4.0 x86_64 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/backports/4.0 noarch classic

branch/4.1 (на данный момент - только для x86)

# x86
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/backports/4.1 i586 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/backports/4.1 noarch classic

Формат описания репозиториев в APT

Все источники описаны в текстовом файле или нескольких файлах простым и понятным синтаксисом.

Файлы находятся в директории /etc/apt/source.list.d/ и имеют расширение .list, например:

$ ls -l /etc/apt/sources.list.d/
итого 16
-rw-r--r-- 1 root root  882 мая 26 12:35 alt.list
-rw-r--r-- 1 root root  877 мая 26 12:35 heanet.list
-rw-r--r-- 1 root root 1003 мая 26 12:35 ipsl.list
-rw-r--r-- 1 root root  750 мая 26 12:35 yandex.list

Также есть файл с предопределённым именем: /etc/apt/sources.list. Утилита apt-get в момент работы просматривает одновременно все эти файлы.

В конкретной операционной системе может быть больше или меньше файлов, описывающих источники. Часть можно удалить или создать новые.

Считается удобным, если название файла отображает место нахождения репозитория, на который указывают источники, описанные в конкретном файле. Например, в файле yandex.list указаны источники, ссылающиеся на репозитории, находящиеся на серверах Яндекса: mirror.yandex.ru. Тогда как файл alt.list описывает репозитории, находящиеся на серверах Базальт СПО. Логично, в некоторых ситуациях удобно использовать сервера, находящиеся как можно ближе.

Синтаксис, описывающий источники, очень простой. Например:

[user@name ~]$ cat /etc/apt/sources.list.d/alt.list 
# ftp.altlinux.org (ALT Linux, Moscow)
# ALT Platform 10
# rpm-src [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 classic gostcrypto
# rpm-src [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64-i586 classic
# rpm-src [p10] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/noarch classic
  rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 classic gostcrypto
  rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64-i586 classic
  rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/noarch classic
# rpm-src [p10] rsync://ftp.altlinux.org/ALTLinux/ p10/branch/x86_64 classic gostcrypto
# rpm-src [p10] rsync://ftp.altlinux.org/ALTLinux/ p10/branch/x86_64-i586 classic
# rpm-src [p10] rsync://ftp.altlinux.org/ALTLinux/ p10/branch/noarch classic

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

Описание источника состоит из ключевых элементов:

  • тип репозитория - компания Базальт СПО применяет пакетную систему rpm, следовательно все источники описывают rpm-репозитории. В примере первым словом указан тип репозитория: rpm
  • ключ подписи - пакеты в репозитории подписаны и могут быть проверены, если указать ключ. Списки доступных ключей лежат в каталоге /etc/apt/vendors.list.d в файлах с расширением .list. Также есть файл /etc/apt/vendors.list. Элемент не является обязательным и может быть пропущен, хотя это не рекомендуется. В примере использован ключ [p10].
  • адрес - адрес расположения репозитория. Как было описано в разделе программы Synaptic, репозитории доступы несколькими способами. В данном случае: ftp:// и rsync://. После описания способа доступа прописан адрес, аналогичный с вводимым в web-браузере.
  • тип данных - репозиторий может содержать как исполняемые пакеты, так и пакеты для разработчиков или пакеты с данными общего характера. В примере видны типы: x86_64, x86_64-i586 и noarch.

Тип i586 показывает, в данном репозитории находятся исполняемые программы и библиотеки, собранные для 32-х разрядных систем (32bit). При использовании дистрибутива для 64-х разрядных процессоров, тип содержимого будет x86_64.

В общем случае запись источника с выполняемыми программами и библиотеками дополняет источник с типом noarch. Этот источник предоставляет пакеты, идентичные для обеих платформ x86 (не используется в случае типов arm и armh). Как правило, это данные, небинарные библиотеки к Perl, Phyton и т.п.

  • название - название репозитория. Для основных репозиториев сейчас используются только classic и debuginfo (могут быть использованы одновременно).

С 2011 года существует консольная утилита apt-repo для манипулирования источниками.

Важно! После редактирования списка источников необходимо выполнить команду apt-get update от пользователя root. По этой команде apt подключится к активированным источникам и загрузит данные о находящихся в них пакетах.