Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 15 апреля 2022 года; проверки требует 31 правка.
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 15 апреля 2022 года; проверки требует 31 правка.
Arch Linux (МФА: [ɑːrtʃˈlɪnəks][1][2][3]) — независимый дистрибутив Linux для опытных пользователей, оптимизированный для архитектуры x86-64, который стремится предоставить последние «новейшие» версии программ, следуя модели rolling release. По умолчанию пользователю предоставляется минималистичная базовая система, в которую пользователь может добавить то, что ему требуется. Для установки, удаления и обновления пакетов используется пакетный менеджер Pacman[4][5][6][7][8][9][10].
В официальных репозиториях Arch Linux содержится преимущественно свободное ПО, однако дистрибутив не одобрен FSF, так как Arch придерживается лояльной политики в отношении несвободного ПО[11]. Проект GNU рекомендует к установке основанный на Arch Linux дистрибутив Parabola[12]. В настоящее время[когда?] в официальных репозиториях насчитывается более 12 000 пакетов[13], в AUR — более 83 000[14].
Arch Linux распространяется, в основном, в виде готовых пакетов двоичных файлов, хотя допускает сборку из исходного кода, а пакеты из AUR могут собираться как на машине пользователя, так и конвертироваться из deb/rpm пакетов в пакеты pacman. В некоторой степени, Arch напоминает дистрибутив Slackware, но, в отличие от последнего, осуществляет контроль зависимостей пакетов. Бинарные пакеты Arch Linux собраны для архитектуры x86-64, что обеспечивает высокую производительность на современных компьютерах. Существуют неофициальные версии и для других архитектур (к примеру, PowerPC и ARM), а также несколько ответвлений.
У Arch Linux есть обширный раздел документации в поддомене ArchWiki[15], основанный на MediaWiki, который поддерживается разработчиками и сообществом. Документация переведена на десятки языков, однако основным является английский. В документации также можно найти официальное руководство по установке[16].
Благодаря наличию обширной документации и отсутствию графического установщика, Arch представляет большой академический интерес для тех, кто хочет освоить GNU/Linux.
Arch Linux является независимым дистрибутивом, разработанным с нуля. Создатель дистрибутива Джадд Винет вдохновлялся CRUX, но мнение о том, что Arch основан на CRUX, ошибочно. На Arch основаны такие дистрибутивы, как Antergos, Parabola GNU, ArchBang, Arch Hurd, Chakra, ConnochaetOS, Manjaro и другие[17].
В конце января 2017 года разработчики сообщили, что прекращают поддержку 32-разрядной версии[18]. Поддержка образов и пакетов для процессоров x86 будет продолжена сообществом[19]. Как выяснилось позже, сообщество Parabola GNU/Linux-libre неофициально продолжило поддержку x86[20].
Философия Arch Linux базируется на нескольких основных принципах[21]:
Простота
Современность
Прагматизм
Нацеленность на определённых пользователей (user-centric, а не user-friendly)
Гибкость
Так разработчики описывают основные особенности и принципы, на которых базируется Arch[22]:
Простота. (Заметим, что под простотой подразумевается не простота использования ОС, а простота её внутренней организации: минимализм, лаконичность, следование принципам KISS и Unix-way.)
Рассчитана не на новичков, а на более опытных пользователей.
Джадд Винет основал этот дистрибутив, руководствуясь своим видением идеального дистрибутива и желая вернуть хоть что-то сообществу свободного программного обеспечения, после того как столько заимствовал из него.
Цель — сделать Arch совершенной основой. Основой, не включающей в себя причудливых утилит и автонастроек, но с утилитами для ручной настройки и некоторыми функциями для пользователей, чтобы они могли продолжить дальнейшую разработку сами.
«Вернуть хоть что-то сообществу свободного программного обеспечения» — это свободный дар. Когда вы получаете подарок от кого-либо, это обычно подразумевает, что вам придется что-либо отдать взамен. Так что идеи, предложения, утилиты от пользователей приветствуются.
Есть две стороны Arch Linux: (1) сторона разработчика и (2) сторона пользователя. Не надейтесь объединить обе стороны, но создайте между ними взаимную связь, тогда каждый может получить то, что он хочет добавить к своей системе.
Не позволяйте утилитам настройки или GUI управлять системой, она должна управляться пользователем. Нет ничего плохого в GUI до тех пор, пока графический интерфейс соответствует этим принципам.
Не будьте зависимы от того, что предлагают утилиты. Когда вы пишете или выбираете инструмент, он должен быть написан на читаемом языке программирования (KISS), чтобы позволить пользователям изменить его, если они захотят.
Ядро разработки Arch Linux не будет представлено какими-либо «дружественными» GUI/утилитами в ближайшем будущем.
Arch будет тем, что вы из него сделаете.
Слово «проще» в Arch рассматривается по-другому, нежели в других дистрибутивах. Чтобы легко чего-либо достичь, нужно учиться.
Надежда на графический интерфейс для настройки/использования системы в конце концов принесёт пользователю только проблемы. В какой-то момент времени пользователь почувствует, что ему нужно знать, что скрывает графический интерфейс.
Попытки скрыть сложность системы и сделать её проще за счёт графических утилит и автоматизации рутинных задач обычно приводят к ещё более сложной системе. Вместо этого лучше сделать её более простой и логичной изнутри, разумеется, учитывая ваши задачи, взгляды и предпочтения.
Рано или поздно вам потребуется искать информацию в Интернете или в Usenet (если страницы man окажется недостаточно). Уметь искать в сети — это первое, чему должен научиться начинающий пользователь.
В то время как пользователи говорят, что такой-то дистрибутив не похож на какой-то другой, Arch позволяет пользователю вносить желаемый вклад до тех пор, пока это не противоречит принципам и философии Arch.
Основное свойство возможности сделать свой вклад заключается в том, что вам не нужно разрешение, чтобы его сделать. Никто не может остановить вас при написании того, что вы лично находите полезным, даже если «силы, которые существуют» не считают это благодеянием. Напишите это и поместите в User Contributions форум. Если людям это понравится, вы получите ответ. Даже если предположить, что все вокруг это не оценят, разве вас это будет волновать, если для вас польза очевидна?
Не надо требовать от разработчиков утилит и документации. Попытайтесь понять цель и философию Arch — это то, что отличает Arch от других.
Единственный бинарный дистрибутив, где собрано всё так, как задумали разработчики без каких-либо изменений в исходном коде. По этой причине и появился миф о стабильности Arch Linux.
В отличие от большинства дистрибутивов, установка Arch Linux происходит практически «вручную». Вместо графического установщика предоставляется Grml-кастомизированный[23]zsh в качестве командной оболочки и набор специализированных скриптов (Arch Install Scripts). Для редактирования конфигурационных файлов во время установки доступны текстовые редакторы vi, vim и nano. Во время установки, после подключения к интернету, можно перейти на сайт https://wiki.archlinux.org/index.php/Installation_guide. Более ранние версии системы включали установщик с псевдографическим интерфейсом, но его официальная поддержка закончена. Также в 2021 году разработчики представили консольную программу установки archinstall, которая позволяет полностью автоматизировать процесс установки за счёт скриптов.
Одной из главных особенностей Arch является пакетный менеджер Pacman, который стремится упростить управление пакетами. По аналогии с другими пакетными менеджерами, для поддержания системы в актуальном состоянии, Pacman синхронизирует списки (базы данных) пакетов с главным сервером Arch, обычно посредством зеркал.
Pacman предоставляет простой и в то же время очень мощный CLI со множеством расширенных возможностей (например таких как выявление пакетных файлов, которые были изменены пользователем или системой).
Для проверки подлинности пакетов Pacman использует GnuPG-ключи, которыми пакеты должны быть подписаны[24]. Хотя все официальные пакеты в настоящее время подписаны, работа над подписью баз данных пакетов всё ещё ведется, однако у пользователей есть возможность включить проверку подписей баз данных.
Arch базируется, в основном, на бинарных пакетах, но способен к прозрачной интеграции пакетов, построенных из исходных кодов (наподобие Gentoo). Управление ими производится с помощью менеджера пакетов Pacman, который управляет установочными пакетами, обновлениями, удалениями и запросами к базе.
Pacman способен самостоятельно найти зависимости, автоматически загрузить и установить все необходимые пакеты. Как правило, пользователю достаточно выполнить только одну команду для полного обновления всей системы.
Начиная с марта 2010 года[25] все пакеты Pacman представляют собой tar-архивы, сжатые по алгоритму сжатия LZMA2, каждый из которых содержит программы в скомпилированном виде и дополнительную информацию. Тем не менее, используемый ранее алгоритм сжатия gzip по-прежнему поддерживается.[26] По поводу именования и формата пакетов велись дебаты. Было принято решение оставить пакеты обычными архивами, так как это позволяет легко извлечь и проанализировать содержимое пакета. Типичное имя файла пакета может выглядеть примерно так: linux-4.14.13-1-x86_64.pkg.tar.xz, где часть суффикса .pkg говорит о том, что архив является пакетом.
Также любые пакеты могут быть собраны из исходных кодов (включая бинарные) с помощью makepkg.
Официально поддерживаемая ветвь имеет общий баг-трекер и содержит 7 разделов[29]:
Core
Содержит все пакеты, необходимые для работы системы (наподобие Debian netinst, за исключением X Window System).
Extra
Содержит пакеты, необязательные для работы с системой, но популярные (KDE, GNOME, различные графические приложения).
Community
Содержит пакеты, не вошедшие в Core и Extra, но требуемые пользователями, поддерживается доверенными пользователями (Trusted Users).
Community-testing
Содержит пакеты, которые могут вызвать проблемы во время работы и пока ожидают сообщений об ошибках, после отладки включаются в Community. Раздел community-testing не является необходимым для работы и не рекомендован для повседневной работы ввиду повышенных рисков стабильности, поддерживается Доверенными Пользователями (Trusted Users).
Multilib
Репозиторий для архитектуры x86_64 с удобной возможностью установки 32-битных приложений на 64-битную среду.
Multilib-Testing
Multilib, но со свежими (тестируемыми) версиями пакетов из multilib.
Testing
Содержит пакеты, которые могут вызвать проблемы во время работы, и пока ожидают сообщений об ошибках, после отладки включаются в Core, Extra, а также пакеты программ в разработке и официально не выпущенных программ (SVN-сборки, альфа-, бета-релизы). Раздел testing не является необходимым для работы и не рекомендован для повседневной работы ввиду повышенных рисков стабильности.
Пакеты из официально поддерживаемой ветви — бинарные (в противоположность AUR), но при желании всегда могут быть собраны из исходных кодов с помощью ABS или дополнительных приложений, упрощающих процесс, таких как yay или pacaur.
AUR (Arch User Repository) — поддерживаемый сообществом репозиторий, содержащий PKGBUILD, скрипты для автоматической сборки приложений из исходных кодов при помощи ABS, не вошедшие в основные репозитории. Каждый имеет право добавить понравившееся приложение в репозиторий, просто написав и отослав PKGBUILD, после чего один из Проверенных Пользователей (Trusted User) его проверит, и если всё нормально (нет руткитов, и приложение правильно собирается и устанавливается), пометит как Safe (безопасный). Конечная цель пакетов из AUR — миграция в официально-поддерживаемую ветвь (раздел Community); присутствует система голосования (с помощью утилиты aurvote), которая позволяет определить наиболее важных кандидатов для перемещения.[30]
Однако пакеты из AUR можно ставить и не дожидаясь попадания в репозиторий Community, для этого можно установить вспомогательный инструмент для работы с AUR (например pacaur, yay, yaourt (устарел) и многие другие), либо собрать его из исходного кода при помощи makepkg[31].
В дополнение к официальным, пользователи создают репозитории, в основном содержащие изменённые, дополнительные или более новые версии пакетов.[32] Наиболее популярный из них — репозиторий Archlinux.fr[33].
Arch Build System (ABS) — это схожая с портами во FreeBSD система сборки бинарных пакетов из исходников. Пакет можно собрать при помощи утилиты makepkg, используя специальные скрипты — PKGBUILD. Созданные пакеты могут быть легко установлены и отслеживаться при помощи pacman[34].
Arch Linux несколько отличался от других дистрибутивов стилем стартовых скриптов до выпуска 2012.08.04. Использовался так называемый стиль BSD вместо System V. Это позволяло свести все настройки по запуску системы, такие как загружаемые модули ядра, программы-демоны, параметры локализации и сетевых интерфейсов, в один файл /etc/rc.conf, имеющий простой и понятный синтаксис.[35]
В настоящее время системой инициализации по умолчанию в Arch Linux является systemd[36]. systemd — централизованная система инициализации и управления системой Linux, призванная устранить недостатки init, а также собрать множество разрозненных программ и других средств для администрирования системы в одном месте. Мнения по поводу перехода среди пользователей неоднозначны, однако часть разработчиков считают его выгодной заменой init[37]. Как бы то ни было, Arch «будет тем, что вы из него сделаете» и рассчитан не на новичков, а на более опытных пользователей, поэтому замена системы инициализации по умолчанию с sysvinit на systemd несёт чисто формальный характер. Простота sysvinit позволяет пользователю самостоятельно его поддерживать, даже когда официальная его поддержка закончится.
Arch является постоянно обновляемым дистрибутивом, новые версии пакетов появляются ежедневно. С помощью менеджера пакетов пользователи могут поддерживать свою систему в актуальном состоянии. В отличие от дистрибутивов, предлагающих устанавливать сборки в состоянии, в котором они были на момент выхода, сборки Arch являются снимками текущей системы. В силу этого нет необходимости регулярно выпускать новые версии (хотя неопытные пользователи склонны воспринимать это как нежелание разработчиков заниматься развитием дистрибутива).
С момента создания и до версии Voodoo включительно сборки Arch нумеровались версией дистрибутива (0.1—0.8). Начиная с выпуска 2007.05 (Duke), номер версии имеет формат ГГГГ.ММ — год и месяц выпуска установочного ISO-образа. В ISO-образ входят только пакеты из репозитория Core. В настоящее время выпуск Core-сборок прекращен. Вместо этого выпускаются минималистичные netinstall-сборки, цель которых — загрузиться и создать сетевое подключение, чтобы можно было установить текущую версию системы по сети. Остальные репозитории всегда находятся в текущем состоянии и никак не связаны с выпуском сборок.
Используется systemd для загрузки системы, initscripts не доступны на Live системе, упрощены загрузка и установка EFI, gummiboot используется для отрисовки меню в EFI
↑
Ведётся много дебатов на тему правильного произношения названия. Создатель Джадд Винет произносит «Arch» на тот же манер, что и archer или parchment (по-русски примерно звучит как «арч»). При другом произношении может возникнуть путаница с «Ark Linux».
↑About (неопр.). Arch Linux. Дата обращения: 11 января 2019. Архивировано 2 января 2017 года.
Jordan Spencer.Interview: Arch Linux Team(англ.). OSNews (11 января 2010). — Интервью с членами команды разработчиков Arch Linux.
Ladislav Bodnar.Interview with Judd Vinet(англ.) (недоступная ссылка — история). DistroWatch (2003). — Интервью с Джаддом Винетом об Arch Linux. Архивировано 21 января 2012 года.
Eugenia Loli-Queru.The Big Arch Linux Interview(англ.) (недоступная ссылка — история) (29 марта 2005). — Интервью с большей частью команды разработчиков Arch Linux. Архивировано 21 января 2012 года.