Введение

Arch Linux (/ɑːr//tʃ/) – это разрабатываемый независимо дистрибутив Linux x86_64 общего назначения, который стремится предоставлять самые свежие стабильные версии программного обеспечения, придерживаясь модели непрерывного распространения. Установка по умолчанию намеренно минималистична, чтобы пользователи могли добавлять только необходимые пакеты. pacman, менеджер пакетов, разработанный специально для Arch Linux, используется для установки, удаления и обновления программных пакетов. Arch Linux использует модель непрерывного распространения, что означает отсутствие крупных релизов. Система Arch Linux поддерживается в актуальном состоянии путем регулярного обновления отдельных компонентов программного обеспечения, из которых она состоит. Единственными "выпусками" являются актуальные снимки основных компонентов системы, публикуемые ежемесячно. Arch Linux располагает обширной документацией в виде вики, поддерживаемой сообществом, известной как ArchWiki.

История

Вдохновленный CRUX, другим минималистичным дистрибутивом, Джадд Виннет начал проект Arch Linux в марте 2002 года. Название было выбрано, потому что Винет понравился смысл слова "арх", как в "архивраг", обозначающий "главный". Изначально поддерживались только 32-битные процессоры x86, а первый установочный ISO-образ для x86-64 был выпущен в апреле 2006 года. Виннет руководил Arch Linux до 1 октября 2007 года, когда он ушел с поста из-за нехватки времени, передав управление проектом Аарону Гриффину. Переход на systemd в качестве системы инициализации начался в августе 2012 года, а в октябре 2012 года она стала системой по умолчанию для новых установок. Systemd заменила систему инициализации в стиле SysV, используемую с момента создания дистрибутива. Прекращение поддержки i686 было объявлено в январе 2017 года, а февральский ISO-образ 2017 года стал последним, включавшим поддержку i686, после чего эта архитектура была официально прекращена в ноябре 2017 года. С тех пор для оборудования i686 можно использовать неофициальный дистрибутив, созданный сообществом, Arch Linux 32. 24 февраля 2020 года Аарон Гриффин объявил, что из-за ограниченного участия в проекте он передаст управление Левенте Поляку после периода голосования. Это изменение также привело к введению двухлетнего срока для должности руководителя проекта. В марте 2021 года разработчики Arch Linux рассматривали возможность портирования пакетов Arch Linux на x86-64 v3, что примерно соответствует эпохе процессоров Intel Haswell. В апреле 2021 года в состав установочных образов Arch Linux по умолчанию был включен скрипт для пошаговой установки. В конце 2021 года разработчики Arch Linux выпустили Pacman 6.0, который обеспечил возможность параллельной загрузки пакетов. В феврале 2022 года разработчики Arch Linux начали предлагать отладочные пакеты.

Безопасность хранилища

До версии pacman 4.0.0 менеджер пакетов Arch Linux не поддерживал подписанные пакеты. Pacman не проверял подлинность пакетов и метаданных в процессе загрузки и установки. Отсутствие проверки подлинности пакетов означало, что скомпрометированные или вредоносные зеркала репозиториев могли нарушить целостность системы. Pacman 4 предоставлял возможность проверки базы данных пакетов и самих пакетов, но эта функция была отключена по умолчанию. В ноябре 2011 года подписание пакетов стало обязательным для новых сборок, а с марта 2012 года все официальные пакеты публикуются с подписью. В июне 2012 года проверка подписи пакетов стала официальной и теперь включена по умолчанию в процессе установки.

Конструкция и принципы

Arch в основном базируется на бинарных пакетах. Пакеты ориентированы на 64-битные микропроцессоры x86, чтобы обеспечить высокую производительность на современном оборудовании. Также предусмотрена система, подобная ports/ebuild, для автоматической компиляции исходного кода, известная как система сборки Arch. Arch Linux делает акцент на простоте проектирования, что означает, что основное внимание уделяется созданию понятной и относительно простой в освоении среды для пользователя, а не предоставлению отполированных инструментов управления с графическим интерфейсом. Например, у менеджера пакетов нет официального графического интерфейса. Это достигается в значительной степени за счет поощрения использования лаконичных, хорошо прокомментированных и чистых конфигурационных файлов, организованных для быстрого доступа и редактирования. Это принесло дистрибутиву репутацию системы для "опытных пользователей", готовых работать с интерфейсом командной строки. Использование сложных инструментов для управления и сборки системы негативно скажется на конечных пользователях. [ ] "Если вы попытаетесь скрыть сложность системы, вы в конечном итоге получите ещё более сложную систему". Слои абстракции, призванные скрыть внутреннее устройство системы, – это всегда плохо. Вместо этого внутреннее устройство должно быть спроектировано таким образом, чтобы его не нужно было скрывать. | Аарон Гриффин

Автоматическая установка скрипта

Экспериментальный пошаговый установщик под названием archinstall включен во все ISO-образы Arch, выпущенные начиная с 2021 года. Он позволяет пользователям легко устанавливать и настраивать Arch Linux, включая драйверы, разбиение диска на разделы, настройку сети, создание учетных записей и установку графических оболочек.

Пакман

Все пакеты управляются с помощью Pacman, менеджера пакетов, разработанного специально для Arch Linux. Pacman осуществляет установку, обновление, понижение версии и удаление пакетов, а также автоматически разрешает зависимости. Пакеты для Arch Linux берутся из репозитория пакетов Arch Linux и компилируются для архитектуры x86_64. Pacman обычно использует бинарные пакеты с расширением pkg.tar.zst (для сжатия zstd), где префикс "pkg" указывает на то, что это пакет Pacman.

Например, пакеты можно установить с помощью команды `pacman -S`, а для выполнения полного обновления системы можно использовать `pacman -Syu`. Помимо Arch Linux, Pacman также используется для установки пакетов в MSYS2 (форк Cygwin) на Windows.

Система строительства арки (ABS)

Система сборки Arch (ABS) — это система упаковки из исходных кодов, подобная системе портов, которая компилирует исходные тарболы в бинарные пакеты, устанавливаемые через Pacman. Система сборки Arch предоставляет древовидную структуру каталогов со скриптами оболочки, называемыми PKGBUILD, позволяющими настраивать и компилировать любые официальные пакеты Arch. Система сборки Arch также поддерживает пересборку всей системы с использованием измененных флагов компилятора. Инструмент makepkg системы сборки Arch можно использовать для создания пользовательских пакетов pkg.tar.zst из сторонних источников. Полученные пакеты также устанавливаются и отслеживаются через Pacman.

Репозиторий пользователей Arch (AUR)

В дополнение к репозиториям, пользовательский репозиторий Arch (AUR) предоставляет скрипты PKGBUILD, созданные пользователями, для пакетов, не включенных в официальные репозитории. Эти скрипты PKGBUILD упрощают сборку из исходного кода, явно перечисляя и проверяя зависимости, а также настраивая установку в соответствии с архитектурой Arch. Вспомогательные программы для AUR могут дополнительно упростить загрузку скриптов PKGBUILD и связанный с этим процесс сборки. Однако это сопряжено с риском выполнения PKGBUILD, не проверенных доверенными лицами; в связи с этим разработчики Arch заявили, что утилиты для автоматического поиска, загрузки и выполнения PKGBUILD никогда не будут включены в официальные репозитории. Пользователи могут создавать пакеты, совместимые с Pacman, используя систему сборки Arch и собственные скрипты PKGBUILD. Эта функциональность способствовала развитию AUR, который состоит из пакетов, предоставляемых пользователями для дополнения официальных репозиториев. AUR предоставляет сообществу пакеты, отсутствующие в официальных репозиториях. Причины этого включают:

Проблемы с лицензированием: программное обеспечение, которое нельзя распространять, но разрешено к использованию, может быть включено в AUR, поскольку на веб-сайте Arch Linux размещен только скрипт, который загружает само программное обеспечение из другого источника. Примеры включают проприетарное бесплатное программное обеспечение, такое как Google Earth и RealPlayer. Модифицированные официальные пакеты: AUR также содержит множество вариаций официальных пакетов, а также бета-версии программного обеспечения, которое доступно в репозиториях в виде стабильных релизов. Невысокая популярность программного обеспечения: редко используемые программы пока не добавлены в официальные репозитории. Бета-версии или "ночные" сборки программного обеспечения, которые очень новые и, следовательно, нестабильны. Примером является пакет "firefox nightly", предоставляющий новые ежедневные сборки веб-браузера Firefox. Любой пользователь может предоставить PKGBUILD для любого программного обеспечения. PKGBUILD, получивший 10 или более голосов или более 1% использования согласно данным pkgstats, может быть добавлен в дополнительный репозиторий.

Воспроизводимые сборки

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

Деривативы

Есть несколько проектов, работающих над переносом идей и инструментов Arch Linux на другие ядра, включая PacBSD (ранее ArchBSD) и Arch Hurd, которые основаны на ядрах FreeBSD и GNU Hurd соответственно. Существует также проект Arch Linux ARM, целью которого является портирование Arch Linux на устройства на базе ARM, включая Raspberry Pi, а также проект Arch Linux 32, который продолжил поддержку систем с 32-битными процессорами после прекращения поддержки этой архитектуры основным проектом Arch Linux в ноябре 2017 года. Различные дистрибутивы ориентированы на предоставление базы Arch с упрощенным процессом установки, такие как EndeavourOS, CachyOS, Manjaro и Garuda Linux. SteamOS 3.0, версия SteamOS, используемая Valve в Steam Deck, основана на Arch Linux.

Логотип

Текущий логотип Arch Linux был разработан Тайером Уильямсом в 2007 году в рамках конкурса по замене предыдущего логотипа.

Прием

OSNews рассмотрел Arch Linux в 2002 году. OSNews также опубликовал пять более поздних обзоров Arch Linux. LWN.net написал обзор Arch Linux в 2005 году, а также два последующих обзора. Tux Machines рассмотрел Arch Linux в 2007 году. Крис Смарт из DistroWatch Weekly написал обзор Arch Linux в январе 2009 года. DistroWatch Weekly вновь рассмотрел Arch Linux в сентябре 2009 года и в декабре 2015 года. Разработчик и сопровождающий ядра Linux Грег Кроа-Хартман (GKH) заявил, что использует Arch Linux и что он "действительно очень хорошо работает". Он также высоко оценил Arch Wiki, модель непрерывного выпуска обновлений дистрибутива и обратную связь с сообществом. В опросе DistroWatch 2023 года около половины респондентов сообщили, что используют либо Arch (17%), либо производный дистрибутив на основе Arch (30%). По состоянию на 2023 год Arch также имеет самый высокий средний рейтинг среди всех дистрибутивов Linux на DistroWatch – 9.34.