Arch

Материал из Lurkmore
(перенаправлено с «Arch Linux»)
Перейти к навигации Перейти к поиску
Не надо требовать от разработчиков утилит и документации. Попытайтесь понять цель и философию Arch — это то, что отличает Arch от других.

Один из заветов того самого Арча

Arch - это древнее английское слово, означающее "Я не осилил Gentoo".

Некий гентушник

Он такой.
Archlinux тян.
Archlinux Nya!
Арч в голубином говне. А логотип похож на сосок.
Арчетруселя

(Арч) — дистрибутив linux, с сиськой на логотипе, ориентированный на опытных пользователей. Славится своими возможностями в тонкой настройке всего и вся, а также довольно сложным процессом установки. В глазах большинства красноглазиков Arch является Ъ-Линуксом.

Характерные черты

Arch стремится быть дистрибутивом общего назначения. Это объясняет почему процесс установки так минималистичен (и устрашающ для некоторых пользователей) — потому что мы даём базис для доработки и сделать из него что заблагорассудится — ВАША работа. В некоторой степени это действительно формирует нишу. Нишу заполненную любителями починки на скорую руку и любителями клеить модельки.
  • Был оптимизирован под i686 (теперь нет) и x86_64: официальной поддержки i386 нет, но при особом интересе и наличии свободного времени можно запустить, пересобрав все пакеты через ABS под i386. Другой вариант - подключить дополнительный репозиторий и невозбранно пользоваться пакетами от i386 под i686 системой. А вообще для истинных ящеров есть https://archlinux32.org/
  • Rolling Release: то есть — "катящийся выпуск", при котором пакеты обновляются непрерывно. Зачастую обновление одного пакета тянет за собой скачивание пересобранных версий сопровождающих пакетов для совместимости со свежачком, при этом номер билда под 100 для какого-нибудь мелкого пакетика — норма и далеко не предел. Позволяет арчеводам всегда пользоваться самым новым софтом. Заодно это позволяло легко привести систему в нерабочее состояние, хотя такое уже давно не случается.
  • Возможность сломать всё при глобальном обновлении: результат сочетания rolling release и небольшого количества мейнтейнеров. Впрочем, своевременно почитывая новости на официальном сайте(англ.), жить можно, причём даже лучше, чем на той же Убунте.
  • Keep it simple stupid!: основной принцип дистрибутива. Каждый идиот интерпретирует этот, на первый взгляд, недвусмысленный призыв по-своему. Именно поэтому в арче по умолчанию есть только ядро, systemd и pacman. Это компромисс, который вроде бы устраивает всех арчеводов. В самом деле, что может быть проще пустоты (и systemd в 200к строк)? С другой стороны, Arch как дистрибутив взял на себя благородную задачу: быть локомотивом всей своры GNU/linux-систем. Он быстрее всех внедряет новые программы за секунды до их, блджад, выхода, не оборачиваясь назад, то есть говном мамонта становятся абсолютно все предыдущие версии программного обеспечения, которые сразу выбрасываются аки помои из главного репозитория - это и есть суровый KISS в интерпретации Арча. К слову, показательно решён вопрос со сложным установщиком — когда стало понятно, что никто не хочет заниматься поддержкой кода, его просто выкинули. Установочный образ - это liveusb с горсткой необходимых инструментов: настройка сети, разбивка диска, утилитка для установки из репозиториев на голый диск пакетов и ещё парочка стандартных. Алсо, к KISS часто относят и минимальное количество патчей на ядро.
  • Ручная настройка: как и на других злых, кусачих и ненавидящих пользователя дистрибутивах, основные настройки выполняются через правку конфигурационных файлов руками. Да-да, %USERNAME%, никаких тебе рюшечек и прозрачностей, лишь голая консоль и текстовый редактор. С другой стороны, все нужные украшательства можно поставить самому, а управление через консоль поможет, если после очередного обновления оконная среда изволит отвалиться. Впрочем, если не лезть сразу в polkit с AppArmor'ом (а до недавнего времени в иксы) и не урезать привилегии до минимально комфортного уровня, для установки системы требуется пара десятков конфигов (половина однострочные, четверть генерируется скриптами, в остальных пару строчек отредактировать). С 1 апреля 2021 года арч официально имеет установщик.
  • Пакетный менеджер pacman: винрарный, лаконичный и удобный менеджер пакетов.
  • Впереди планеты всей: Самые свежие версии программ сначала появляются в Генте (в "нестабильном" релизе), затем в Арче. Однако, даже в "нестабильной" Генте встречаются пакеты старше, чем в базовом Арче, не говоря уже о "стабильной". В итоге Arch является дистрибутивом с самым свежим софтом.
  • Хорошая документация на вики-движке: именно благодаря ей любой школьник при должном усердии сможет поставить себе Arch и лопнуть от своего ЧСВ. Здесь расписано все: от команд для какого-либо единичного пакетика до масштабного описания установки иксов и KDE.
  • Изобилие софта: следствие лёгкости создания пакетов, а также возможности собирать свои пакеты вручную или специальными утилитами. AUR (Arch User Repository) по-своему уникален — любой арчевод может добавлять туда свои пакеты, а централизованность репозитория позволяет рассчитывать на определённый уровень безопасности. (Хотя уже были случаи, когда осиротевшие ("orphaned") пакеты подменялись дубликатами со зловредами внутри). Арчеводу не нужно выискивать и добавлять десятки репозиториев, как это принято в deb-based дистрах. В AUR лежат кучи всяких-разных допиленных пакетов и самостоятельных программ, о которых даже убунтоиды никогда не слышали, не говоря уже о приверженцах других дистров. Ещё один приятный бонус: в Arch легко можно установить программы из дебиянов, федор и прочих сусиков, но не наоборот.
  • Нет левых патчей: Все собрано так, как собирают разработчики софта. В федорах, бубунтах и дебильянах сложилась традиция засирать дистрибутив левопатчами. В Arch'е их почти нет, и за это его любят разработчики программ под *nix. Часто именно в нём собираются и тестируются многие проги (на втором месте Gentoo, на третьем Debian).
  • Быстрее в настройке, чем та же гента. На сборку из исходного кода могут уйти недели, в то время как в Арче готовые пакеты ставятся за минуты-часы. Для любителей компилировать в Arch есть ABS (Arch Build System), которая при прямых руках работает не хуже portage. Впрочем, поскольку компилировать пакеты на слабых компьютерах бессмысленно, у настоящих source-задротов есть хотя бы одна мощная машина на зоопарк устройств (или вообще распределённая система для параллельной компиляции (!)). Недели же на установку и дни на обновление уходят только у wannabe-красноглазиков, на которых всем как всегда.

На самом деле

Надежда на графический интерфейс для настройки/использования вашей системы в конце концов принесет пользователю только проблемы. В какой-то момент времени пользователь почувствует, что ему нужно знать, что скрывает графический интерфейс...

Анальным рабам Бубунты

Так мы раньше ставились
… а так мы когда-то загружались
Свитчер ниасилил

Arch Linux представляет собой конструктор, из которого можно собрать как аскетичную систему для слабых машин, так и ось, состоящую из свистелок и перделок чуть менее, чем полностью. Отличается от Gentoo отсутствием необходимости собирать 90% программ из исходников, хотя для желающих есть Arch Build System (не аналог гентовских портежей). Анонимус отмечает, что хотя сабж действительно требует время на первоначальное освоение, это компенсируется тем, что он гораздо лучше поддаётся доводке напильником под свои нужды, чем какая-нибудь Мандрива.

В отличие от так называемых user-friendly дистрибутивов, настройка методом тыка с большой вероятностью приведёт к полной неработоспособности системы. Чтобы прийти к успеху, придётся перед установкой как минимум прочитать наставление начинающим из местной Wiki. Ибо такое понятие, как стандартная установка, отсутствует в принципе: придётся принимать кучу самостоятельных решений и прописывать множество параметров. Однако если всё сделать как надо, то ты, анонимус, в итоге получишь систему безо всякого ненужного мусора и вдобавок точно будешь знать, из чего она состоит. Но те, кто захотел убрать вообще весь ненужный мусор, отправляются на Генту, так как минимализм, идущий в ущерб принципу KISS, в Арче отвергается.

Несмотря на внешнюю сложность, установить и настроить систему вполне по силам многим[1]. Достаточно усидчивости, аккуратности и внимательного чтения ArchWiki. Главное не торопиться. В документации всё описано очень подробно, с примерами, и довольно быстро можно начать понимать, что вообще происходит и зачем это нужно. Разумеется, такое просветление доступно и без Arch'а, если есть желание и способность задействовать мозг. Устанавливая тот же Debian, можно выбрать только базовую систему и допилить её до вменяемого состояния, используя различные версии реп и встроенные инструменты для сборки пакетов.

Arch против Генты

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

  • Новое далеко не всегда лучше старого: известны случаи, когда новое не только не исправляет имеющиеся проблемы, но и привносит новые. Если в случае Gentoo или Debian юзер застрахован, то в Arch из-за его приверженности новизне и простоте — уже нет. Известен случай пропихивания апстримом свежего менеджера логина (gdm), когда не то что инструмента для его настройки не было, даже сама установка требовала серьезного ручного вмешательства. В результате толпы гномосеков и крысолюбов срали кирпичами пытались делать на Арчевики то, что должны делать создатели gdm (но еще не сделали, софт-то сырой). Анонимус лично помогал чинить /etc/passwd. Поэтому стоит хорошо подумать перед чисткой кэша пакетов и выполнять полное удаление кэша # pacman -Scc только в крайних случаях. Лучше затирать только скачанные, но неиспользуемые пакеты # pacman -Sc. А ещё лучше $ paccache -r && paccache -ruk0 (удалить из кеша все пакеты кроме последних 3 версий, а затем все не установленные).

Практика показывает, что откат на предыдущие версии пакета-недоноска с последующим внесением в игнор при обновлении помогает в большинстве случаев. В крайнем случае, если кэш безвозвратно проёбан потерян, существует Arch Rollback Machine или маленькая утилитка downgrade (ставится из AUR). Не стоит увлекаться и слишком свежими версиями ядра: то что на kernel.org отмечено как stable, не всегда stable и старое ядро может работать намного стабильнее свежего. Всегда надо иметь в виду, что с новыми обновлениями могут прилететь и новые баги.

  • Установка Arch'а по сложности немногим легче установки Gentoo: простой будет только установка базы, после чего юзер будет вывален в сырой терминал и ему будет предложено читать местный хэндбук (вики), по масштабам не уступающий гентушному. Предварительное чтение ArchWiki обязательно, но чисто технически установка простая, главное хорошо знать названия линуксовых программ и пакетов ($ pacman -Ss в помощь). На данный момент инсталлер выпилен, и при загрузке загрузочной флешки пользователь также будет вывален в консоль.
  • В Arch нет некоторых полезных фич, вроде параллельных версий и USE-флагов. В отличие от Генты или Дебиана, Арч поддерживает всего одну архитектуру — x86-64, но как раз такая узкая специализация позволяет обходиться без сборки из исходных кодов. Если, конечно, устраивают минималистичные решения, принимаемые арчевскими Trusted Users — иначе придётся собирать самому.
  • Arch vs Gentoo в оффлайновом обновлении: Для Arch достаточно завести локальное зеркало репозитория пакетов. Причем необязательно иметь быстрые интернеты на обновляемой машине. Можно воспользоваться и флоппинетом в два этапа, загрузив сначала список пакетов, а затем — сформированный pacman'ом список URL'ов обновившихся пакетов. И никакой пересборки мира на EEE701[2].
  • Стабильность: широко известна склонность Арча разваливаться после обновления и это действительно так (в 2018—2019 вроде ни разу не разваливался). Самая главная засада заключается в том, что далеко не все баги и недоработки проявляются сразу. Поэтому Арчевод рискует столкнуться с ситуацией, когда он взялся доделывать срочную работу дома, и уже глубоко в ночи обнаружил, что при обновлении, которое сделано несколько недель назад, отвалилась необходимая прога/либа, причем ещё неизвестно какая. А интернета, чтобы исправить ситуацию, нет. Также не стоит удивляться, если после очередного апдейта ядра, система внезапно вместо загрузки предложит лососнуть тунца. Лучше иметь пару ядер — одно стабильное, которое нормально работает с оборудованием, и второе — самое новое.
  • Пакетный менеджер лучше всех: pacman поздновато, но начал проверять подписи пакетов, portage же не проверяет подлинность дерева ебилдов до сих пор, а чтобы проверял, надо ставить и настраивать gpg. Есть и концептуальное различие: pacman прост как палка, и если в Арче при обновлении что-то сломается, починить будет просто, а цель portage — позволить кастомизировать как можно больше, соответственно и устроен он куда сложнее, и вероятность появления и сложность борьбы с dependency hell — в разы больше.

Arch против Debian

Логотип Арча напоминает эрегированный сосок женской груди в сумерках.

iZEN о логотипе

Анонимус, который провел много бурных ночей с Дебианом и Арчем, пришел к выводу что Арч не нужен. Появление Арча — классический пример такого явления как «Reinventing the wheel». В Дебиане есть debootstrap, который появился еще до Арча. Debootstrap с опцией «--variant=minbase» устанавливает из любого линуксового хоста более минимальную систему, чем получается у Арча. Если любителю острых минимальных ощущений нужен еще и Rolling release, можно установить Debian sid (unstable): обновляться в нём не опаснее, чем в Арче. Единственный плюс Арча — информативные howto доки. Все остальное можно смело определять на помойку, ведь есть могучий, универсальный и многоцелевой Дебиан, в котором все принципы Арча были давно заложены и зарекомендовали себя еще до появления самого Арча :)

  • Debian sid не нужен. Sid - репозиторий нестабильных пакетов, а не свежих, kekeke. Его использование может очень плохо закончиться, особенно в продакшене, так как добрая половина системы может внезапно перестать работать. Это очень явно проявляется при использовании таких вещей как ASP.NET Core. Ubuntu новее и надёжнее.
  • Репозиторий арчепользователей: другой анонимус также не согласен с вышесказанным. В AUR (Arch User Repository) можно найти любую софтину. А если её там нет, что маловероятно, написать PKGBUILD можно и ручками - в большинстве случаев это не трудно.
  • Новизна пакетов: Действительно свежие пакеты только в Gentoo и arch-testing (стабильно-свежие — в Arch и Fedora).
  • Пакетный менеджер лучше всех: Arch выбирают из-за более легкой и технологичной системы управления пакетами (уже упомянутая ABS): попробуйте напаковать .deb архивы СВОИМИ руками и сравните их с лаконичными PKGBUILD'ами, который любой школоло сможет написать САМ в отличие от. Кроме того, в pacman можно добавлять хуки для пре- и пост-обработки обновляемых пакетов, списков репозиториев и разного другого.
    • Существует множество вариантов pacman'a и AUR помощников, написанных на разных языках и совместимых друг с другом (aura, auracle, yay, pacaur, yaourt, cylon, owlman, spinach, trizen, wrapaur, yaah и др.[1][2]). У Дебиана есть только apt-get и aptitude. При этом dpkg не умеет не только в Интернет, но даже зависимости не решает (фатальный недостаток, который могут назвать фичей только самые упоротые слака-стайл мазохисты, ведь даже многие слаководы пользуются самопильными пакетными менеджерами, разрешающими зависимости). Алсо, dpkg есть в AUR.

Зато, специально для анонимусов, у Дебиана есть официальные репы в TORe, Арч этим похвастаться не может.

Как это выглядит

Как уже упоминалось, из Арча можно сделать практически всё что угодно, однако в силу того, что один из приоритетов разработчиков — легковесность, среди арчеводов нашли себе место соответствующие программы, характерные полным отсутствием свистелок и перделок, а то и вообще GUI как такового. Также, судя по разделу форума, где арчеводы делятся скриншотами рабочего стола, среди этой публики очень сильна любовь к легковесным оконным менеджерам типа fluxbox или openbox, или вообще к тайловым оконным менеджерам (awesome, dwm, ratpoison и т. п.), на худой конец к LXDE и XFCE.

Bug squashing day

Первое воскресенье каждого месяца в сообществе Арча отмечается так называемым Днем морения тараканов (англ. Bug Squashing Day, дословно День давки жуков). Торжественные мероприятия включают в себя поход на багтрекер[3] и, собственно, фикшение багов. Цель праздника — пофиксить как можно больше багов.

Добрая и правильная традиция, на которую приглашены все.

Галерея

Ссылки

Примечания

  1. С 15 июля 2012 года разработчики начали выпускать новые установочные образы каждый месяц, и с каждым разом процесс установки меняется. Далеко не всегда в сторону простоты.
  2. Генту можно точно так же попросить сгенерировать список всех требуемых исходников, а затем решать, собирать ли бинарники на внешней машине, или сделать это локально. Можно создать пул, распределив роли скачки, сборки, установки среди машин (или людей). Как и где будут собираться пакеты — ограничено только фантазией, %username%. При современных четырёх- и более ядерных машинах ценой меньше 80 баксов за камень с возможностью многопоточной параллельной фоновой сборки, упоминание о «тяжелой и долгой сборке» — это, скорее, байка, вызывающая смех


Это незавершённая статья. Вы можете помочь, исправив и дополнив её.
В эту статью следует добавить:

  • первоапрельских шуток
  • package monkeys

w:Arch Linux en.w:Arch Linux

Loading comments...