Official repositories (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Official repositories
. Дата последней синхронизации: 25 октября 2023. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Система сборки Arch
Пользовательский репозиторий Arch
makepkg (Русский)
Зеркала
Official repositories web interface
pacman (Русский)
PKGBUILD (Русский)
Unofficial user repositories
Репозиторий
— хранилище пакетов программ, которые можно загрузить и установить на компьютер.
Официальные репозитории
Arch Linux содержат наиболее важное и популярное программное обеспечение, которое можно легко получить и установить при помощи
pacman
. Эти репозитории поддерживают
сопровождающие пакетов
.
Пакеты в официальных репозиториях постоянно обновляются, при этом старые версии пакетов сразу удаляются. В Arch нет главных (major) релизов дистрибутива: каждый пакет обновляется сразу после того, как его новая версия становится доступна в upstream. Каждый репозиторий полноценен в том смысле, что содержит в себе совместимые между собой версии программ.
Стабильные репозитории
core
Этот репозиторий можно найти в каталоге
.../core/os/
на каждом из доступных
зеркал
.
core
содержит пакеты для:
Загрузки Arch Linux
Подключения к интернету
Сборки пакетов
Управления и восстановления поддерживаемых
файловых систем
Процесса установки системы (например,
openssh
)
а также все необходимые зависимости этих пакетов (необязательно из
makedepends
) и
мета-пакета
base
.
core
имеет достаточно строгие требования к качеству. Разработчики/пользователи должны подтвердить (в ответ на
signoff
-запрос в почтовой рассылке) работоспособность обновлений, прежде чем они будут приняты. Для малоиспользуемых пакетов обычно достаточно следующих шагов: информирование пользователей об обновлении, запрос подтверждений, удержание пакета в
core-testing
около недели (в зависимости от серьёзности изменений), отсутствие серьёзных баг-репортов и неявное подтверждение от мейнтейнера пакета.
Совет
Чтобы создать локальный репозиторий с пакетами из
core
(или других репозиториев) при отсутствии интернет-подключения, смотрите раздел
Pacman/Советы и приёмы#Установка пакетов с CD/DVD или USB-накопителя
extra
Этот репозиторий можно найти в каталоге
.../extra/os/
на каждом из доступных
зеркал
.
extra
содержит все пакеты, которые не подходят для
core
.
Этот репозиторий совместно поддерживают
сопровождающие пакетов
и разработчики Arch.
Примеры: Xorg, оконные менеджеры, веб-браузеры, медиаплееры, инструменты для работы с языками, такими как Python и Ruby, и многое другое.
multilib
Этот репозиторий можно найти в каталоге
.../multilib/os/
на каждом из доступных
зеркал
.
multilib
содержит 32-битное программное обеспечение и библиотеки, которые можно использовать для запуска и сборки 32-битных приложений на 64-битных системах (например,
wine
,
steam
и т.д.).
32-битные библиотеки хранятся в каталоге
/usr/lib32/
при включённом репозитории
multilib
.
Включение multilib
Раскомментируйте раздел
[multilib]
в
/etc/pacman.conf
, чтобы включить репозиторий
multilib
:
/etc/pacman.conf
[multilib]
Include = /etc/pacman.d/mirrorlist
Затем
обновите
систему и установите необходимые
multilib
-пакеты.
Совет
Выполните
pacman -Sl multilib
, чтобы вывести список всех пакетов в репозитории
multilib
. Названия 32-битных пакетов начинаются с
lib32-
.
Отключение multilib
Выполните следующую команду, чтобы удалить все пакеты, установленные из репозитория
multilib
:
# pacman -R $(comm -12 <(pacman -Qq | sort) <(pacman -Slq multilib | sort))
Если вы столкнулись с конфликтами с gcc-libs, переустановите пакет
gcc-libs
и зависимости пакета
base-devel
(смотрите
pacman/Советы и приёмы#Зависимости пакета
).
Закомментируйте раздел
[multilib]
в
/etc/pacman.conf
:
/etc/pacman.conf
#[multilib]
#Include = /etc/pacman.d/mirrorlist
Затем
обновите
систему.
Тестовые репозитории
Тестовые репозитории предоставляют площадку для размещения пакетов перед принятием их в основные репозитории. Сопровождающие пакетов (и широкая аудитория) могут получить доступ к тестовым пакетам, чтобы убедиться в отсутствии проблем при работе с новой версией приложения. Пакет может быть перемещён в основные репозитории, как только он был протестирован и ошибок не было обнаружено.
Не всем пакетам нужно проходить этот процесс тестирования. Новые пакеты попадают в тестовые репозитории, если:
они предназначены для репозитория
core
. Все пакеты для
core
сперва должны пройти через
core-testing
;
есть подозрение, что они могут что-нибудь сломать при обновлении, и их лучше сперва протестировать;
они затрагивают множество других программ (например,
perl
и
python
).
Также тестовые репозитории обычно используются для новых версий больших коллекций ПО, например,
GNOME
или
KDE
.
Примечание
Тестовые репозитории созданы не для хранения новейших версий пакетов. Одна из целей — удержание обновлений пакетов, которые потенциально могут нанести вред системе, являясь либо частью набора пакетов
core
, либо критичными в чём-то ином. Пользователям тестовых репозиториев настоятельно рекомендуется подписаться на
почтовую рассылку arch-dev-public
, отслеживать
форум тестовых репозиториев
и
сообщать обо всех багах
. Также рекомендуется рассмотреть возможность присоединения к
Arch Testing Team
.
Важно
Будьте осторожны при использовании тестовых репозиториев — система может сломаться после обновления. Их должны использовать только опытные пользователи, знающие, как справиться с потенциальными проблемами.
Если вы включаете
core-testing
, также необходимо включить
extra-testing
, и наоборот. Если вы включаете какой-либо тестовый репозиторий из подразделов ниже, необходимо также включить как
core-testing
, так и
extra-testing
.
core-testing
Этот репозиторий можно найти в каталоге
.../core-testing/os/
на каждом из доступных
зеркал
.
core-testing
содержит пакеты, являющиеся кандидатами на внесение в репозиторий
core
.
core-testing
— единственный репозиторий, в котором могут быть совпадения имён с другими официальными репозиториями. Если он включён, он должен быть первым репозиторием среди перечисленных в файле
/etc/pacman.conf
.
extra-testing
Этот репозиторий похож на репозиторий
core-testing
, но создан для пакетов, являющихся кандидатами на внесение в репозиторий
extra
.
multilib-testing
Этот репозиторий похож на репозиторий
core-testing
, но создан для пакетов, являющихся кандидатами на внесение в репозиторий
multilib
.
gnome-unstable
Этот репозиторий содержит пакеты с будущим релизом (или кандидатом в релиз) окружения рабочего стола
GNOME
до их перевода в главный репозиторий
extra-testing
.
Добавьте следующие строки в файл
/etc/pacman.conf
, чтобы включить данный репозиторий:
/etc/pacman.conf
[gnome-unstable]
Include = /etc/pacman.d/mirrorlist
Репозиторий
gnome-unstable
должен быть первым в списке репозиториев (в том числе выше записи для репозитория
core-testing
).
Информацию об относящихся к упаковке багах сообщайте в нашу
систему отслеживания ошибок
, прочая информация должна направляться непосредственно разработчикам на
GNOME Gitlab
.
kde-unstable
Этот репозиторий содержит самую свежую
бета-версию
или
версию-кандидат на выпуск
KDE
Plasma и Applications.
Добавьте следующие строки в файл
/etc/pacman.conf
, чтобы включить данный репозиторий:
/etc/pacman.conf
[kde-unstable]
Include = /etc/pacman.d/mirrorlist
Репозиторий
kde-unstable
должен быть первым в списке репозиториев (в том числе выше записи для репозитория
core-testing
).
Предоставляйте информацию о багах
, если они возникнут.
Отключение тестовых репозиториев
Если вы ранее включили тестовые репозитории, а теперь решили их отключить, необходимо:
Удалить (закомментировать) их из файла
/etc/pacman.conf
.
Выполнить
pacman -Syuu
, чтобы «откатить» обновления из этих репозиториев.
Второй пункт необязателен, но помните об этом на случай, если вы заметите какие-либо проблемы.
Репозитории Staging
Важно
Не включайте репозитории
staging
ни по какой причине — система несомненно выйдет из строя после обновления. Данные репозитории предназначены исключительно для использования разработчиками.
Данные репозитории содержат нерабочие пакеты и используются исключительно разработчиками во время одновременной пересборки большого количества пакетов. Чтобы пересобрать пакет, зависящий, например, от новой разделяемой библиотеки, необходимо сначала собрать саму библиотеку и загрузить её в staging-репозиторий — таким образом она будет доступна другим разработчикам. После пересборки всех зависимых пакетов эту группу перемещают в тестовые или основные репозитории (в зависимости от случая).
Историческая справка:
анонс введения репозиториев staging
.
Историческая справка
Разделение репозиториев появилось по историческим причинам. Когда дистрибутивом не пользовалось много людей, был только один репозиторий, известный как
official
(нынешний
core
). В то время
official
содержал в основном приложения, которые предпочитал Джадд Винет (Judd Vinet — основатель Arch Linux). Репозиторий был устроен таким образом, чтобы содержать «всего по одному»: одна среда рабочего стола, один основной браузер и т. д.
Конечно, были пользователи, которым не нравился выбор Джадда, и, когда появилась удобная
система сборки пакетов
, они начали создавать собственные пакеты. Эти пакеты вошли в репозиторий
unofficial
и поддерживали их другие разработчики, а не Джадд. В конце концов, разработчиками было принято решение поддерживать оба репозитория, и названия
official
и
unofficial
перестали отображать их истинный смысл. Примерно в районе версии 0.5 названия были изменены на
current
и
extra
.
Вскоре после выхода версии 2007.8.1
current
был переименован в
core
, чтобы не было неоднозначностей в трактовке того, что, собственно, должен содержать репозиторий. Сейчас репозитории практически равны в глазах разработчиков и сообщества, но
core
имеет некоторые отличия. Самое главное из них — то, что только пакеты из
core
включаются в установочные CD и релизы. Этот репозиторий всё ещё содержит полноценную систему Linux, однако, скорее всего, это не та система, которую вы хотели бы использовать.
Примерно между версиями 0.5 и 0.6 обнаружилось, что есть большое количество пакетов, которые разработчики не хотели поддерживать.
Джейсон Чу
(Jason Chu) создал неофициальные «Репозитории Доверенных Пользователей» («Trusted User Repositories»), где доверенные пользователи могли размещать созданные ими пакеты. Также существовал репозиторий
staging
, из которого пакеты могли быть перенесены в официальные репозитории одним из разработчиков Arch Linux, но, если не считать этого пункта, разработчики и доверенные пользователи почти не были связаны друг с другом.
Такое разделение работало до тех пор, пока доверенным пользователям не надоело поддерживать собственные репозитории, а обычные пользователи не захотели выкладывать свои пакеты. Это привело к развитию
AUR
. Доверенные пользователи объединились в меньшую по размеру группу, которая стала поддерживать репозиторий
community
. Доверенные пользователи всё ещё оставались отдельной от разработчиков Arch Linux группой, и они мало контактировали друг с другом. Тем не менее, популярные пакеты время от времени всё ещё могли перемещаться из
community
в
extra
.
AUR
позволяет также обычным пользователям выкладывать свои файлы PKGBUILD.
После того, как однажды ядро из репозитория
core
поломало множество систем
, в репозитории была введена политика подтверждения («core signoff policy»). С тех пор все обновления пакетов для
core
должны сперва пройти через репозиторий
core-testing
и только после нескольких подтверждений (
«signoffs»
) от других разработчиков пакет можно перенести. Через какое-то время было замечено, что некоторые пакеты в
core
почти не используются, а число подписей пользователей и отсутствие отчётов об ошибках неофициально стали критерием для утверждения таких пакетов.
В конце 2009 и начале 2010, в связи с созданием новых файловых систем и желанием поддерживать их при установке, а также осознанием того, что репозиторий
core
никогда не был чётко структурирован (просто "важные пакеты, выбранные разработчиками"), назначение репозитория было сформулировано более точно.
В 2021 году началось и в 2023 году завершилось переименование роли «Доверенные пользователи» («Trusted Users») в «Сопровождающие пакетов» («Package Maintainers»).
В 2023 году после нескольких лет подготовки
внутренние службы дистрибутива были переведены на git
, а также одновременно с этим проведена реструктуризация репозиториев. В репозиторий
extra
были перенесены все пакеты, которые раньше были в
community
, репозиторий
testing
был разделён на
core-testing
и
extra-testing
, а репозиторий
community-testing
был полностью удалён. Теперь
сопровождающие пакетов
могут отправлять новые пакеты в репозиторий
extra
.