Arch Linux

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Arch Linux
Archlinux-vert-dark.svg
Разработчик

Аарон Гриффин[d], Аллан Макрей[d] и Анатолий Помозов[d]

Семейство ОС

Linux

Первый выпуск

март 2002

Последняя тестовая версия
Метод обновления

Rolling release

Менеджеры пакетов

Pacman

Поддерживаемые платформы

x86-64,
неофициальные порты: PowerPC, ARM

Тип ядра

Linux

Лицензия

GNU GPL и лицензия свободного программного обеспечения

Состояние

активное

Репозиторий исходного кода

git.archlinux.org

Веб-сайт

archlinux.org (англ.)

Commons-logo.svg Arch Linux на Викискладе

Arch Linux — дистрибутив Linux, оптимизированный для архитектуры x86-64, использующий последние версии программ и дополняемый поддерживаемым сообществом репозиторием AUR. Обновляется методом rolling release.

В отличие от большинства дистрибутивов, установка Arch Linux происходит практически «вручную». Вместо графического установщика, предлагается лишь набор специализированных скриптов (Arch Install Scripts). Более ранние версии системы включали простой установщик с псевдографическим интерфейсом, но его официальная поддержка закончена.

Arch Linux распространяется, в основном, в виде готовых пакетов двоичных файлов, хотя допускает сборку из исходного кода, кроме того все пакеты из AUR собираются на машине пользователя. В некоторой степени, Arch напоминает дистрибутив Slackware, но, в отличие от последнего, осуществляет контроль зависимостей пакетов. Бинарные пакеты Arch Linux собраны для архитектуры x86-64, что обеспечивает высокую производительность на современных компьютерах. Существуют неофициальные версии и для других архитектур (к примеру, PowerPC), а также несколько ответвлений.

У Arch Linux есть собственный портал документации[2], основанный на MediaWiki, который поддерживается разработчиками и сообществом. На нём также находится официальное руководство по установке на английском языке[3]. Варианты руководства на других языках не всегда содержат актуальную информацию.

Arch Linux является независимым дистрибутивом, разработанным с нуля. Создатель дистрибутива Джадд Винет вдохновлялся CRUX, но мнение о том, что Arch основан на CRUX, ошибочно. На Arch основаны такие дистрибутивы, как Antergos, ArchBang, Arch Hurd, Chakra, ConnochaetOS, Manjaro и другие[4].

В конце января 2017 года разработчики сообщили, что прекращают поддержку 32-разрядной версии[5]. Поддержка образов и пакетов для процессоров x86 будет продолжена сообществом[6].

Произношение[править | править код]

Ведётся много дебатов на тему правильного произношения названия. Создатель Джадд Винет произносит Arch на тот же манер, что и archer или parchment (по-русски примерно звучит как «арч»). При другом произношении может возникнуть путаница с Ark Linux.[7]

Основные особенности Arch[править | править код]

Так разработчики описывают основные особенности и принципы, на которых базируется Arch:[8]

  • Простота. (Заметим, что под простотой подразумевается не простота использования ОС, а простота её внутренней организации: минимализм, лаконичность, следование принципам KISS и Unix-way.)
  • Рассчитана не на новичков, а на более опытных пользователей.
  • Джадд Винет основал этот дистрибутив, руководствуясь своим видением идеального дистрибутива, и желая вернуть хоть что-то сообществу свободного программного обеспечения, после того, как столько заимствовал из него.
  • Цель — сделать Arch совершенной основой. Основой, не включающей в себя причудливых утилит и автонастроек, но с утилитами для ручной настройки и некоторыми функциями для пользователей, чтобы они могли продолжить дальнейшую разработку сами.
  • «Вернуть хоть что-то сообществу свободного программного обеспечения» — это свободный дар. Когда вы получаете подарок от кого-либо, это обычно подразумевает, что вам придется что-либо отдать взамен. Так что идеи, предложения, утилиты от пользователей приветствуются.
  • Есть две стороны Arch Linux: (1) сторона разработчика и (2) сторона пользователя. Не надейтесь объединить обе стороны, но создайте между ними взаимную связь, тогда каждый может получить то, что он хочет добавить к своей системе.
  • Не позволяйте утилитам настройки или GUI управлять системой, она должна управляться пользователем. Нет ничего плохого в GUI до тех пор пока графический интерфейс соответствует этим принципам.
  • Не будьте зависимы от того, что предлагают утилиты. Когда вы пишете или выбираете инструмент, он должен быть написан на читаемом языке программирования (KISS), чтобы позволить пользователям изменить его, если они захотят.
  • Ядро разработки Arch Linux не будет представлено какими-либо «дружественными» GUI/утилитами в ближайшем будущем.
  • Arch будет тем, что вы из него сделаете.
  • KISS (Keep It Simple, Stupid) принцип — основа разработки Arch.
  • Слово «проще» в Arch рассматривается по-другому нежели в других дистрибутивах. Чтобы легко чего-либо достичь, нужно учиться.
  • Надежда на графический интерфейс для настройки/использования системы в конце концов принесёт пользователю только проблемы. В какой-то момент времени пользователь почувствует, что ему нужно знать, что скрывает графический интерфейс.
  • Попытки скрыть сложность системы и сделать её проще за счет графических утилит и автоматизации рутинных задач обычно приводят к ещё более сложной системе. Вместо этого лучше сделать её более простой и логичной изнутри, разумеется, учитывая ваши задачи, взгляды и предпочтения.
  • Рано или поздно вам потребуется искать информацию в Интернете или в Usenet (если страницы man окажется недостаточно). Уметь искать в сети — это первое чему должен научиться начинающий пользователь.
  • В то время как пользователи говорят, что такой-то дистрибутив не похож на какой-то другой, Arch позволяет пользователю вносить желаемый вклад до тех пор, пока это не противоречит принципам и философии Arch.
  • Основное свойство возможности сделать свой вклад заключается в том, что вам не нужно разрешение, чтобы его сделать. Никто не может остановить вас при написании того, что вы лично находите полезным, даже если «силы которые существуют» не считают это благодеянием. Напишите это и поместите в User Contributions форум. Если людям это понравится, вы получите ответ. Даже если предположить, что все вокруг это не оценят, разве вас это будет волновать, если для вас польза очевидна?
  • Не надо требовать от разработчиков утилит и документации. Попытайтесь понять цель и философию Arch — это то, что отличает Arch от других.
  • Единственный бинарный дистрибутив, где собрано все так, как задумали разработчики без каких-либо изменений в исходном коде. По этой причине и появился миф о стабильности Arch Linux.

Управление пакетами[править | править код]

Pacman[править | править код]

Arch базируется, в основном, на бинарных пакетах, но способен к прозрачной интеграции пакетов, построенных из исходных кодов (наподобие Gentoo). Управление ими производится с помощью менеджера пакетов Pacman, который управляет установочными пакетами, обновлениями, удалениями и запросами к базе.

Pacman способен самостоятельно найти зависимости, автоматически загрузить и установить все необходимые пакеты. Как правило, пользователю достаточно выполнить только одну команду для полного обновления всей системы.

Начиная с марта 2010 года[9] все пакеты Pacman представляют собой tar-архивы, сжатые по алгоритму сжатия LZMA2, каждый из которых содержит программы в откомпилированном виде и дополнительную информацию. Тем не менее, используемый ранее алгоритм сжатия gzip по-прежнему поддерживается.[10]

Также любые пакеты могут быть собраны из исходных кодов (включая бинарные) с помощью makepkg.

Репозитории[править | править код]

Официальный репозиторий Arch Linux содержит две ветви: официально поддерживаемая (supported) ветвь и пользовательский репозиторий — AUR.[11][12]

Официально поддерживаемая ветвь[править | править код]

Официально поддерживаемая ветвь имеет общий баг-трекер и содержит 7 разделов:[13]

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 (или дополнительных приложений, упрощающих процесс, таких как yaourt или pacaur).

AUR[править | править код]

AUR (Arch User Repository), поддерживаемый сообществом репозиторий, содержащий PKGBUILD, скрипты для автоматической сборки приложений из исходных кодов при помощи ABS, не вошедшие в основные репозитории. Каждый имеет право добавить понравившееся приложение в репозиторий, просто написав и отослав PKGBUILD, после чего один из Проверенных Пользователей (Trusted User) его проверит, и если все нормально (нет руткитов, и приложение правильно собирается и устанавливается), пометит как Safe (безопасный). Конечная цель пакетов из AUR — миграция в официально-поддерживаемую ветвь (раздел Community); присутствует система голосования (с помощью утилиты aurvote), которая позволяет определить наиболее важных кандидатов для перемещения.[14] Однако пакеты из AUR можно ставить и не дожидаясь попадания в репозиторий Community, для этого нужно лишь установить неофициальный пакетный менеджер AUR - yaourt, либо собрать его из исходного кода при помощи makepkg.[15]

Неофициальные репозитории[править | править код]

В дополнение к официальным, пользователи создают репозитории, в основном содержащие изменённые, дополнительные или более новые версии пакетов.[16] Наиболее популярный из них — репозиторий Archlinux.fr[17].

Arch Build System[править | править код]

Утилита abs была упразднена. Deprecation of ABS tool.

Arch Build System (ABS) — это схожая с портами во FreeBSD система сборки бинарных пакетов из исходников. Пакет можно собрать при помощи утилиты makepkg используя специальные скрипты — PKGBUILD. Созданные пакеты могут быть легко установлены и отслеживаться при помощи pacman.[18]

Система инициализации[править | править код]

Arch Linux несколько отличался от других дистрибутивов стилем стартовых скриптов до выпуска 2012.08.04. Использовался так называемый стиль BSD вместо System V. Это позволяло свести все настройки по запуску системы, такие как загружаемые модули ядра, программы-демоны, параметры локализации и сетевых интерфейсов, в один файл /etc/rc.conf, имеющий простой и понятный синтаксис.[19]

В настоящее время системой инициализации по умолчанию в Arch Linux является systemd[20]. systemd — достаточно молодая централизованная система инициализации и управления системой Linux, призванная устранить недостатки init, а также собрать множество разрозненных программ и других средств для администрирования системы в одном месте. Мнения по поводу перехода среди пользователей неоднозначны, однако большинство разработчиков, более объективно оценивающих systemd, считают его выгодной заменой init.[21] Как бы то ни было, Arch «будет тем, что вы из него сделаете», и рассчитан не на новичков, а на более опытных пользователей, поэтому замена системы инициализации по умолчанию с sysvinit на systemd несёт чисто формальный характер. Простота sysvinit позволяет пользователю самостоятельно его поддерживать, даже когда официальная его поддержка закончится.

Выпуск пакетов и сборок[править | править код]

Rolling release[править | править код]

Arch является постоянно обновляемым дистрибутивом, новые версии пакетов появляются ежедневно. С помощью менеджера пакетов пользователи могут поддерживать свою систему в актуальном состоянии. В отличие от дистрибутивов, предлагающих устанавливать сборки в состоянии, в котором они были на момент выхода, сборки Arch являются снимками текущей системы. В силу этого нет необходимости регулярно выпускать новые версии (хотя неопытные пользователи склонны воспринимать это как нежелание разработчиков заниматься развитием дистрибутива).

История выпуска сборок[править | править код]

С момента создания и до версии Voodoo включительно, сборки Arch нумеровались версией дистрибутива (0.1—0.8). Начиная с выпуска 2007.05 (Duke), номер версии имеет формат ГГГГ.ММ — год и месяц выпуска установочного ISO-образа. В ISO-образ входят только пакеты из репозитория Core. В настоящее время выпуск Core сборок прекращен. Вместо этого выпускаются минималистичные netinstall-сборки, цель которых — загрузиться и создать сетевое подключение, чтобы можно было установить текущую версию системы по сети. Остальные репозитории всегда находятся в текущем состоянии и никак не связаны с выпуском сборок.

Версия Кодовое имя Дата Примечание
0.1 Homer март 2002 Первый выпуск.
0.2 Vega апрель 2002
0.3 Firefly август 2002
0.4 Dragon декабрь 2002
0.5[22] Nova июль 2003 Поддержка PAM, LVM и GRUB.
0.6[23] Widget март 2004 Добавлена поддержка файловых систем JFS и XFS.
0.7[24] Wombat январь 2005
0.8[25] Voodoo март 2007 Расширены возможности программы установки.
2007.05[26] Duke май 2007 Pacman v3.0
2007.08[27] Don’t Panic август 2007 Исправлены ошибки в программе установки.
2008.06[28] Overlord июнь 2008 Использование .img образов для записи на USB-устройства.
2009.02[29] февраль 2009 Использование AIF (Фреймворк установки Arch).
2009.08[30] август 2009 Pacman 3.3, использование переработанного AIF (возможность использования LVM и другие изменения), различные улучшения.
2010.05[31] май 2010 Использование единого образа для записи на CD и USB устройства. Появление dual-образа, помимо отдельных образов для архитектур x86 и x86-64.
2011.08[32] август 2011 Расширены возможности программы установки
2012.07[33] июль 2012 Удален AIF, вместо него используются простые установочные скрипты
2012.08[34] август 2012 GRUB 2.0, ZSH в качестве командной оболочки, автозапуск сети если доступен DHCP.
2012.09[35] сентябрь 2012 Linux 3.5.3, возможно подключиться к интернету через UMTS USB модем на Live системе
2012.10[36] октябрь 2012 Используется systemd для загрузки системы, initscripts не доступны на Live системе, упрощены загрузка и установка EFI, gummiboot используется для отрисовки меню в EFI
2012.11.01[37] ноябрь 2012 Linux 3.6, ConsoleKit удалён из репозиториев, polkit и networkmanager перенесены в extra, загрузка производится с использованием systemd-logind[38]
2012.12.01[39] декабрь 2012 Linux 3.6.8, systemd 196
2013.01.04 январь 2013 Linux 3.6.11
2013.06.01 июнь 2013 Linux 3.9.4
2013.07.01 июль 2013 Linux 3.9.8
2013.08.01 август 2013 Linux 3.10.3
2013.09.01 сентябрь 2013 Linux 3.10.10
2013.10.01 октябрь 2013 Linux 3.11.2
2014.01.05 январь 2014 Linux 3.12.6
2014.02.01 февраль 2014 Linux 3.12.9
2014.03.01 март 2014 Linux 3.13.5
2014.04.01 апрель 2014 Linux 3.13.7
2014.05.01 май 2014 Linux 3.14.1
2014.06.01 июнь 2014 Linux 3.14.4
2014.07.01 июль 2014 Linux 3.15.3
2014.09.03 сентябрь 2014 Linux 3.16.1
2014.10.01 октябрь 2014 Linux 3.16.3
2014.11.01 ноябрь 2014 Linux 3.17.1
2014.12.01 декабрь 2014 Linux 3.17.4
2015.01.01 январь 2015 Linux 3.17.6
2015.03.01 март 2015 Linux 3.18.6
2015.06.01 июнь 2015 Linux 4.0.4
2015.08.01 август 2015 Linux 4.1.3
2015.12.01 декабрь 2015 Linux 4.2.5
2016.01.01 январь 2016 Linux 4.3.3
2016.04.01 апрель 2016 Linux 4.4.5
2016.05.01 май 2016 Linux 4.5.1
2016.06.01 июнь 2016 Linux 4.5.4
2016.07.01 июль 2016 Linux 4.6.3
2016.08.01 август 2016 Linux 4.6.4
2016.09.03 сентябрь 2016 Linux 4.7.2
2016.12.01 декабрь 2016 Linux 4.8.11
2017.01.01 январь 2017 Linux 4.8.13
2017.02.01 февраль 2017 Linux 4.9.6
2017.03.01 март 2017 Linux 4.9.11
2017.04.01 апрель 2017 Linux 4.10.6
2017.05.01 май 2017 Linux 4.10.13
2017.06.01 июнь 2017 Linux 4.11.3
2017.07.01 июль 2017 Linux 4.11.7
2017.08.01 август 2017 Linux 4.12.3
2017.09.01 сентябрь 2017 Linux 4.12.8
2017.10.01 октябрь 2017 Linux 4.13.3
2017.11.01 ноябрь 2017 Linux 4.13.9

Условные обозначения:

     Прошлый выпуск     Последний выпуск

Примечания[править | править код]

  1. https://www.archlinux.org/download/
  2. Main page (Русский) - ArchWiki (англ.). wiki.archlinux.org. Проверено 26 ноября 2017.
  3. Official Installation Guide — ArchWiki
  4. Arch Based Distributions (Active) — ArchWiki
  5. Arch Linux - News: Phasing out i686 support (англ.). www.archlinux.org. Проверено 25 мая 2017.
  6. Arch Linux 32 (англ.). archlinux32.org. Проверено 24 ноября 2017.
  7. Pronnounciation of our beloved distribution's (англ.)  (недоступная ссылка — история). osdir.com (август 2005). Проверено 7 марта 2012. Архивировано 12 февраля 2012 года.
  8. Archway (англ.). phraktured.net (ноябрь 2007). Проверено 7 марта 2012. Архивировано 3 июня 2012 года.
  9. Arch Linux — News: Switching to xz compression for new packages
  10. Pacman (англ.). ArchWiki. Проверено 7 марта 2012.
  11. Package Database (англ.). Arch Linux. Проверено 16 сентября 2011. Архивировано 3 июня 2012 года.
  12. Official Repositories (англ.). Arch Linux Wiki. Проверено 16 сентября 2011.
  13. Official Repositories (англ.). ArchWiki. Проверено 7 марта 2012.
  14. Arch User Repository (англ.). ArchWiki. Проверено 7 марта 2012.
  15. Yaourt (Русский) - ArchWiki
  16. Unofficial User Repositories - ArchWiki (англ.). Официальный сайт Arch Linux. Проверено 31 марта 2011 года.
  17. Каталог (англ.). Проверено 18 июня 2010. Архивировано 21 января 2012 года.
  18. Arch Build System (англ.). ArchWiki. Проверено 7 марта 2012.
  19. Arch Boot Process (англ.). ArchWiki. Проверено 7 марта 2012.
  20. systemd is now the default on new installations (англ.). archlinux.org. Архивировано 18 октября 2012 года.
  21. Archlinux is moving to systemd (англ.). archlinux.org.
  22. Judd Vinet. Arch Linux 0.5 Released 2003-07-21
  23. Judd Vinet. Arch Linux 0.6 Released 2004-03-01
  24. Judd Vinet. Arch Linux 0.7 (Wombat) Released! 2005-01-24
  25. Tobias Powalowski. 0.8 Voodoo ISOs finally released! 2007-03-31
  26. Tobias Powalowski. 2007.05 Duke ISOs released 2007-05-17
  27. Tobias Powalowski. 2007.08 Don’t Panic ISOs released 2007-08-05
  28. Simo Leone. 2008.06 Overlord ISOs released 2008-06-24
  29. Aaron Griffin. 2009.02 ISO Release 2009-02-16
  30. Dieter Plaetinck. 2009.08 images 2009-08-10
  31. Dieter Plaetinck. 2010.05 images 2010-05-17
  32. 2011.08.19 images
  33. 2012.07.15 images
  34. Install media 2012.08.04 available
  35. New install medium 2012.09.07
  36. Install medium 2012.10.06 introduces systemd
  37. November release of install media available
  38. ConsoleKit replaced by logind (англ.).
  39. December: time for a new install medium (англ.). Проверено 3 декабря 2012.

Ссылки[править | править код]

Интервью и обзоры