Репозитории ALT Linux: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показаны 63 промежуточные версии 13 участников)
Строка 1: Строка 1:
{{Merge|Repositories}}
{| style="border:1px solid #AAA; background:#F9F9F9; width:250px; margin: 0 0 1em 1em; padding:.2em; float: right;" class=noprint
|-
|[[Image:Information.svg|20x20px]] Полезные ссылки:
* [[Управление_пакетами|Управление пакетами]]
* [[Где_и_как_искать_программы|Где и как искать программы]]
----
* [[Репозиторий_СПО|Что такое репозиторий]]
* [[Branches|Стабильные ветки]]
|}
== Главные правила ==
{{Attention|
*'''Не следует смешивать несовместимые репозитории''', например, репозитории разных версий (следует заметить, что в Synaptic достаточно легко отметить лишнее).
*Обновляя систему с версии на версию, '''следует отключать старые репозитории''' при подключении новых. Кроме того, рекомендуется прочитать [[update|замечания по обновлению]], которые, скорее всего, уже будут доступны на этом сайте. Прыгать через версию не рекомендуется.
*'''Не стоит подключать несколько разных зеркал'''. Это увеличит необходимый объём памяти для расчёта зависимостей обновлений, плюс зеркала могут синхронизироваться в разное время, что также может добавить проблем при расчёте зависимостей.
}}
 
Подключение репозиториев осуществляется записью соответствующей строки в файл {{path|/etc/apt/sources.list}}, либо в произвольный файл, соответствующий шаблону {{path|*.list}} в каталоге {{path|/etc/apt/sources.list.d/}}. C 2011 года существует утилита [[Команды_APT#Команды_apt-repo|apt-repo]], которая упрощает манипулирование репозиториями в командной строке. Также подключение и смену репозиториев можно осуществлять посредством графической утилиты [[Synaptic]]. Подробнее это описано в разделе [[#Формат_описания_репозиториев_в_APT|Формат описания репозиториев в APT]].
 
<div style='padding:6px;border:1px solid red;'>Обязательным является подключение двух репозиториев: архитектуронезависимого (noarch) и архитектурозависимого (i586, x86_64, aarch64 и т.п.). Это обусловлено тем, что как архитектуронезависимые компоненты пакетов, так и целые архитектуронезависимые пакеты не имеет смысла дублировать в архитектурозависимых репозиториях. Соответственно в ALT Linux принята такая идеология создания репозитория.</div>
 
== Дистрибутивы ==
== Дистрибутивы ==


[[Releases|Дистрибутивы ALT Linux]] имеют APT-репозитории, сооветствующие пакетной базе выпущенных носителей. Например:
Процесс формирования [[Branches|стабильных веток]] и [[Releases|дистрибутивов ALT Linux]] на их основе выглядит так:


ALT Linux Desktop 4.0, ALT Linux Lite 4.0:
* в рамках [[Sisyphus]] осуществляется текущая разработка (unstable);
# x86
* когда приходит время очередной стабильной ветки — сизиф притормаживается;
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/Desktop/current/ i586 classic
* альфа-сборки происходят на «медленном» unstable;
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/Desktop/current/ noarch classic
* одновременно с фиксацией беты дистрибутива происходит отделение бранча;
ALT Linux Server 4.0:
* далее некоторое время бранч и сизиф идут почти шаг-в-шаг (происходит копирование);
# x86
* когда в сизифе начинают меняться ABI или иная функциональность, бранч уходит «в автоном»;
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/Server/current/ i586 classic
* дистрибутивы выпускаются на бранче (x.0 и далее x.0.y).
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/Server/current/ noarch classic
 
Например, дистрибутивы семейства 10.x выпускаются на базе [[Branches/p10|p10/branch]].


# x86-64
До версии 4.1 включительно для дистрибутивов формировались соответвующие опубликованным образам репозитории — например, для ALT Linux Server 4.0 доступен [http://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/Server/current/ здесь].
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/Server/current/ x86_64 classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/Server/current/ noarch classic


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


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


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


branch/p6:
Для Восьмой платформы t8 [https://lists.altlinux.org/pipermail/devel/2016-October/201832.html не создавалась], текущие задачи решались в рамках p8. Для Девятой платформы ветка t9 так же не создана.
  # x86
 
  rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch/ i586 classic
Существуют также бранчи c* (c6, c7, c8). Это репозитории дистрибутивов, имеющих сертификат [https://www.basealt.ru/products/alt-8-sp-sertifikat-fstehk-rossii/ ФСТЭК].
  rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch/ noarch classic
 
актуальный (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


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


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


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


Наличие третьего репозитария для x86_64 обусловлено необходимостью [[Biarch|поддержки 32-разрядных приложений в 64-разрядной системе]]. Если такая поддержка не нужна, репозитарий x86_64-i586, не нужен. Так же, начиная с шестой платформы, появился специфический репозитарий [[RPM/debuginfo|debuginfo]]. Например, для branch/p6 его можно подключить так:
Наличие третьего репозитория для x86_64 обусловлено необходимостью [[Biarch|поддержки 32-разрядных приложений в 64-разрядной системе]]. Если такая поддержка не требуется, репозиторий x86_64-i586 тоже не нужен.


rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch/ x86_64 debuginfo
=== Debuginfo ===
{{main|RPM/debuginfo}}
Начиная с шестой платформы, появился специфический репозиторий [[RPM/debuginfo|debuginfo]]. Репозиторий содержит отладочную информацию для бинарных исполняемых файлов и библиотек. Обычным пользователям может быть полезен для формирования отчётов о проблемах в [http://bugzilla.altlinux.ru багтрекере]. Например, для branch/p7 под x86_64 его можно подключить так:


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


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


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


Настройка apt для использования [[Autoports]] для ветвей p6/t6 описана в [[Autoports/t6]].
=== Autoimports ===
{{main|Autoimports}}
Пакеты из репозиториев Autoimports отличаются от пакетов в основном репозитории тем, что они получены с помощью систем автоматической конвертации и сборки пакетов и, соответственно, к ним было применено только автоматическое тестирование. Источником для этих репозиториев являются другие дистрибутивы. Перенос заключается в преобразовании spec-файла в соответствии с правилами в ALT Linux и пересборке в соответствующем окружении.


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


[[Sisyphus]] - нестабильный репозиторий, предназначенный для разработчиков решений (приблизительно сравним с Fedora Rawhide, Mandrake Cooker, Debian unstable+experimental в других проектах), а не для пользователей.
=== Sisyphus ===
{{main|Branches/Sisyphus}}
Sisyphus - нестабильный репозиторий, предназначенный для разработчиков решений (приблизительно сравним с Debian testing, Mageia Cauldron, Fedora Rawhide в других проектах), а не для пользователей. Как правило, до репозитория Sisyphus можно обновить любую достаточно свежую ОС семейства ALT, но при наличии целенаправленной задачи использования Sisyphus для начальной установки лучше всего подходят [[Regular|регулярные сборки]].


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


[[Категория:Repositories|*]]
'''ARM'''
{{main|Ports/arm}}
{{main|Ports/aarch64}}
 
=== Зеркала ===


== Зеркала ==
Также существуют [[download|зеркала]] репозиториев.


Также, существуют зеркала репозиториев.  
Вот пример зеркала на яндексе для ветки p8 под 64-битный x86:
rpm ftp://mirror.yandex.ru/altlinux/p8/branch/ x86_64 classic
rpm ftp://mirror.yandex.ru/altlinux/p8/branch/ noarch classic


Вот пример зеркала на яндексе для ветки 5.1:
[[Download|Список доступных зеркал]]
rpm ftp://mirror.yandex.ru/altlinux/5.1/branch/ i586 classic
rpm ftp://mirror.yandex.ru/altlinux/5.1/branch/ noarch classic


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


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


В настоящее время в качестве Updates используются стабильные ветви.
В настоящее время в качестве Updates используются стабильные ветви.
Строка 93: Строка 146:
  # x86
  # x86
  rpm http://updates.altlinux.com/4.0/ i586 classic
  rpm http://updates.altlinux.com/4.0/ i586 classic
  # x86-64
  # x86-64
  rpm http://updates.altlinux.com/4.0/ x86_64 classic
  rpm http://updates.altlinux.com/4.0/ x86_64 classic
Строка 106: Строка 160:
  rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/backports/4.0 i586 classic
  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
  rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/backports/4.0 noarch classic
  # x86-64
  # 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 x86_64 classic
Строка 113: Строка 168:
  rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/backports/4.1 i586 classic
  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
  rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/backports/4.1 noarch classic
== Формат описания репозиториев в APT ==
Все источники описаны в текстовом файле или нескольких файлах простым и понятным синтаксисом.
Файлы находятся в директории <tt>/etc/apt/source.list.d/</tt> и имеют расширение <tt>.list</tt>, например:
<tt><pre>
$ 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
</pre></tt>
Также есть файл с предопределённым именем: <tt>/etc/apt/sources.list</tt>. Утилита <tt>apt-get</tt> в момент работы просматривает одновременно все эти файлы.
В конкретной операционной системе может быть больше или меньше файлов, описывающих источники. Часть можно удалить или создать новые.
Считается удобным, если название файла отображает место нахождения репозитория, на который указывают источники, описанные в конкретном файле. Например, в файле <tt>yandex.list</tt> указаны источники, ссылающиеся на репозитории, находящиеся на серверах Яндекса: <tt>mirror.yandex.ru</tt>. Тогда как файл <tt>alt.list</tt> описывает репозитории, находящиеся на серверах Базальт СПО. Логично, в некоторых ситуациях удобно использовать сервера, находящиеся как можно ближе.
Синтаксис, описывающий источники, очень простой. Например:
<tt><pre>
[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
</pre></tt>
Первым символом идёт символ комментария - следовательно, строка считается простым текстом, а не описанием источника. У активной записи в начале строки этот символ отсутствует. Таким образом появляется простой механизм включения и отключения источников.
Описание источника состоит из ключевых элементов:
* '''тип репозитория''' - компания Базальт СПО применяет пакетную систему '''rpm''', следовательно все источники описывают '''rpm-репозитории'''. В примере первым словом указан тип репозитория: <tt>rpm</tt>
* '''ключ подписи''' - пакеты в репозитории подписаны и могут быть проверены, если указать ключ. Списки доступных ключей лежат в каталоге <tt>/etc/apt/vendors.list.d</tt> в файлах с расширением <tt>.list</tt>. Также есть файл <tt>/etc/apt/vendors.list</tt>. Элемент не является обязательным и может быть пропущен, хотя это не рекомендуется. В примере использован ключ [p10].
* '''адрес''' - адрес расположения репозитория. Как было описано в разделе программы '''[[Synaptic]]''', репозитории доступы несколькими способами. В данном случае: <tt>ftp://</tt> и <tt>rsync://</tt>. После описания способа доступа прописан адрес, аналогичный с вводимым в web-браузере.
* '''тип данных''' - репозиторий может содержать как исполняемые пакеты, так и пакеты для разработчиков или пакеты с данными общего характера. В примере видны типы: <tt>x86_64</tt>, <tt>x86_64-i586</tt> и <tt>noarch</tt>.
Тип <tt>i586</tt> показывает, в данном репозитории находятся исполняемые программы и библиотеки, собранные для 32-х разрядных систем (32bit). При использовании дистрибутива для 64-х разрядных процессоров, тип содержимого будет <tt>x86_64</tt>.
В общем случае запись источника с выполняемыми программами и библиотеками дополняет источник с типом <tt>noarch</tt>. Этот источник предоставляет пакеты, идентичные для обеих платформ x86 (не используется в случае [[Arm|типов arm и armh]]). Как правило, это данные, небинарные библиотеки к Perl, Phyton и т.п.
* '''название''' - название репозитория. Для основных репозиториев сейчас используются только classic и debuginfo (могут быть использованы одновременно).
С 2011 года существует консольная утилита <tt>[[Команды_APT#Команды_apt-repo|apt-repo]]</tt> для манипулирования источниками.
:'''Важно!''' ''После редактирования списка источников необходимо выполнить команду <tt>apt-get update</tt> от пользователя <tt>root</tt>. По этой команде apt подключится к активированным источникам и загрузит данные о находящихся в них пакетах.''
[[Категория:Repositories|*]]
{{Category navigation|title=Репозитории|category=Repositories|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Управление пакетами|category=Управление пакетами|sortkey=*}}
[[Категория:Управление ПО]]

Текущая версия от 17:43, 5 апреля 2024

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 подключится к активированным источникам и загрузит данные о находящихся в них пакетах.