Репозитории ALT Linux
Главные правила
- Не следует смешивать несовместимые репозитории, например, репозитории разных версий (следует заметить, что в Synaptic достаточно легко отметить лишнее).
- Обновляя систему с версии на версию, следует отключать старые репозитории при подключении новых. Кроме того, рекомендуется прочитать замечания по обновлению, которые, скорее всего, уже будут доступны на этом сайте. Прыгать через версию не рекомендуется.
- Не стоит подключать несколько разных зеркал. Это увеличит необходимый объём памяти для расчёта зависимостей обновлений, плюс зеркала могут синхронизироваться в разное время, что также может добавить проблем при расчёте зависимостей.
Подключение репозиториев осуществляется записью соответствующей строки в файл /etc/apt/sources.list, либо в произвольный файл, соответствующий шаблону *.list в каталоге /etc/apt/sources.list.d/. C 2011 года существует утилита apt-repo, которая упрощает манипулирование репозиториями в командной строке. Также подключение и смену репозиториев можно осуществлять посредством графической утилиты Synaptic. Подробнее это описано в статье Управление пакетами, формат строки-источника описан в разделе "Источники репозиториев" этой же статьи.
Дистрибутивы
Процесс формирования стабильных веток и дистрибутивов ALT Linux на их основе выглядит так:
- в рамках Sisyphus осуществляется текущая разработка (unstable);
- когда приходит время очередной стабильной ветки — сизиф притормаживается;
- альфа-сборки происходят на «медленном» unstable;
- одновременно с фиксацией беты дистрибутива происходит отделение бранча;
- далее некоторое время бранч и сизиф идут почти шаг-в-шаг (происходит копирование);
- когда в сизифе начинают меняться ABI или иная функциональность, бранч уходит «в автоном»;
- дистрибутивы выпускаются на бранче (x.0 и далее x.0.y).
Например, дистрибутивы семейства 8.x выпускаются на базе p8/branch.
До версии 4.1 включительно для дистрибутивов формировались соответвующие опубликованным образам репозитории — например, для ALT Linux Server 4.0 доступен здесь.
Ветки
Стабильные ветки
Каждая стабильная ветка (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
Начиная с шестой платформы, появился специфический репозиторий debuginfo. Репозиторий содержит отладочную информацию для бинарных исполняемых файлов и библиотек. Обычным пользователям может быть полезен для формирования отчётов о проблемах в багтрекере. Например, для branch/p7 под x86_64 его можно подключить так:
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch/ x86_64 debuginfo
Autoports
Начиная с ветвей p5/5.1 в качестве частичной замены backports появились репозитории Autoports, которые содержат автоматически пересобираемые под текущую стабильную ветвь свежие пакеты из Sisyphus.
Настройка apt для использования Autoports для ветвей p7/t7 описана в Autoports/p7.
Autoimports
Пакеты из репозиториев Autoimports отличаются от пакетов в основном репозитории тем, что они получены с помощью систем автоматической конвертации и сборки пакетов и, соответственно, к ним было применено только автоматическое тестирование. Источником для этих репозиториев являются другие дистрибутивы. Перенос заключается в преобразовании spec-файла в соответствии с правилами в ALT Linux и пересборке в соответствующем окружении.
Карманы
Это отдельные мини-репозитории сборочницы ALT Linux, то есть задания, которые собраны, но не были отправлены в основной репозиторий. Имеют ограниченное время жизни. Удаляются сборочницей либо после помещения в репозиторий, либо в случае длительной неактивности. Не стоит использовать такие репозитории, если о них не было где-то объявлено (рассылки, форум).
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
Зеркала
Также существуют зеркала репозиториев.
Вот пример зеркала на яндексе для ветки 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 подключится к активированным источникам и загрузит данные о находящихся в них пакетах.