Обзор Archlinux

300px-Archlinux-vert-dark.svg
Обычно, когда люди делают обзоры на такие системы как Archlinux или Gentoo упор делается на процесс установки системы, а не на то, что ждет после этого. В конце-концов, процесс установки сводится к пошаговому выполнению инструкций с официального вики. А ведь интересно-же должно быть узнать, а зачем нужно проделывать весь этот путь, что нас ожидает после установки системы. Да, вы будете в консоли строить из себя крутого хакера, но ведь особенности дистрибутива не ограничиваются наличием или отсутствием графического интерфейса из коробки. Давайте посмотрим по подробнее на то, что такое Archlinux.

Pacman

Вот у вас есть операционная система, не важно графическая или нет, рано или поздно придется устанавливать на компьютер прикладное ПО. Можно как брутальный линуксоид скачивать *.tar.gz архивы с исходниками, распаковывать, компилировать ручками и установить самостоятельно. Круто, неправда-ли? Но это какой-то не очень удобный дистрибутив, который нужно делать самостоятельно. Людям, которым не прочь поиграться с молотком и гвоздями я могу посоветовать Linux From Scratch. Можно организовать криволапый и непутёвый способ установки ПО, который издавна есть в Windows. Но было бы неплохо, если у нас был бы инструмент, который бы руководил этим процессом. Чаще всего в linux системах есть такой инструмент, и называется он пакетным менеджером.
Pacman — это отличный пакетный менеджер, который по моему мнению намного удобнее apt-get из семейства Debian систем. Начнем с того что он безо всяких aptitude может самостоятельно заниматься поиском, установкой, удалением пакетов, удовлетворением зависимостей, синхронизацией репозиториев и обновлением системы, имея при этом довольно простой и логичны консольный интерфейс. Пример нескольких команд:

pacman -S foo # установить пакет foo
pacman -S --asdeps foo # установить пакет foo как зависимость
pacman -Sy # синхронизировать репозитории
pacman -Su # обновить систему
pacman -Syu # синхронизировать репозитории и обновить систему.
pacman -Syu foo # синхронизировать репозитории, обновить систему и установить пакет foo

Помимо продуманного консольного интерфейса pacman ещё очень хорошо настраивается, например для того, чтобы добавить репозиторий достаточно в файле /etc/pacman.conf дописать две строчки, затем выполнить «pacman -Sy»:

[имя_репозитория] Server = http://example.org/адрес/к/репозиторию

Для удаления репозитория достаточно эти строчки закомментировать или удалить, затем выполнить «pacman -Sy».

AUR

Для Archlinux вы можете найти любой софт, который вы можете найти вообще для linux. Серьезно. Если вы не найдете какой-то пакет в официальном репозитории, вы наверняка это сделаете в Arch User Repository. Там находятся пакеты опубликованные и сопровождаемые пользователями Archlinux. Там находятся 53 тысячи пакетов против 37,5 тысяч у Debian.

К примеру, вы хотите установить Google Chrome, но находите только Chromium, потому что первый из них с закрытыми исходными кодами, а второй с открытыми. Вы решаете «ну и что» и все равно хотите поставить Chrome, потому-что у него, например, на логотипе помимо голубого цвета есть желтый, красный и зелёный, и вы очень любите эти цвета. А ещё вы любите слово Chrome больше, чем Chromium. Для установки, вы открываете на AUR страницу с пакетом google-chrome, скачиваете его, затем распаковываете и собираете, перед тем установив snappy, как зависимость:

tar -xzf google-chrome.tar.gz
pacman -S --asdeps snappy
cd google-chrome
makepkg

В результате всего этого makepkg создаст пакет из *.deb пакетов Google Chrome, готовый для установки с помощью pacman:

sudo pacman -U google-chrome-38.0.2125.111-2-x86_64.pkg.tar.xz

Поскольку, AUR состоит из пакетов, которым не стоит доверять, то они в нем представлены в виде скриптов сборки по имени PKGBUILD и исходных кодов программы или бинарников, если эта программа поставляется с закрытыми исходными кодами.
Вообще, официально разработчики не поставляют инструментов, которые позволяли бы автоматизировать установку пакетов из AUR, но есть куча неофициальных AUR хелперов, которые это делают. Один из самых известных — это yaourt. Он имеет такой-же командный интерфейс как у pacman, но он очень надоедливый и задает много вопросов. С ним установка того же Google Chrome сокращается до одной команды:

yaourt -S google-chrome

Он сам скачает архив, распакует его, удовлетворит зависимости, выполнит makepkg и установит google-chrome с помощью pacman. Сам yaourt вы можете установить из AUR или сторонних репозиториев. Для рабочей ABS вам понадобится установленная группа пакетов base-devel.
Обратите внимание, что я запускал makepkg от имени пользователя. Его от root запустить не получится, пока ему не пропишешь как следует параметр —asroot. Дело в том, что во время сборки используются скрипты, написанные неизвестно кем и неизвестно что там написано, и если запустить их от имени суперпользователя и система может пострадать. Так что следует соблюдать осторожность, при сборке пакетов из AUR.

Если вы даже не найдете искомого пакета на AUR, вы можете сделать его самостоятельно. Для этого нужно, как брутальный линуксоид скачать исходный код нужной его программы, разобраться как его собирать и написать PKGBUILD. В лучшем случае сборка программы ограничится инструкциями:

configure
make&&make install

Другие особенности

Если вы устанавливаете всякие сервера, демоны и прочие программы на user-friendly системы, то они после установки сразу начинают работать и не каких действий для этого производить не нужно. Но это не та история, которая характерна для archlinux. Там установка пакета — это установка пакета. Установка пакета не означает, что программное обеспечение, находящиеся там сразу должно запуститься. И если вам нужно, чтобы свежеустановленный cups начал работать, и работал после загрузки, то будьте добры включить автозагрузку и запуск демона:

sudo systemctl start cupsd
sudo systemctl enable cupsd

А если вы установили другой демон инициализации, и настраивать cups нужно на нем? Или вы решили поставить другой дисплейный менеджер и не хотите, чтобы они запустились оба и конфликтовали? Для того, чтобы систему было удобнее настраивать, такие самопроизвольные решения недопустимы. В Archlinux вам многое придется настраивать и устанавливать, что-бы система была user-friendly или не придется, если вам от него хочется чуть меньше. В любом случае, решение о конфигурации вы принимаете сами, а не мэинтейнер дистрибутива.

Ещё одной особенностью дистрибутива является постоянные обновления пакетов, что одновременно оборачивается как достоинством, так и недостатком. Достоинство заключается в том, что вам не нужно ждать год-другой, пока эта программа дойдет до вас. Недостаток заключается в том, что мэйнтейнеры у Archlinux, по сравнению с таковыми у Debian, относятся к сопровождению пакетов по-раздолбайски. Когда выйдет свежая версия, например дисплейного менеджера, они оперативно могут сделать пакет, даже не проверив его работоспособность и система может не стартануть, как следует. Поэтому, если у вас что-то внезапно отвалится, попробуйте откатить версию этого чего-то.

Достоинства

  • Техничная минималистичность дистрибутива
  • Настраиваемость
  • Много пакетов и свежий софт

Недостатки

  • Сырые и нестабильные пакеты

Заключение

Безусловно, Archlinux — это система, которая заслуживает к себе определенного внимания. Если вас не пугает нестабильность и вы не боитесь случайно поломать-починить ОС, прежде чем настроите систему, если вам скучно и нечем заняться, вы теперь знаете, чем займётесь на этот раз.

5 комментариев к “Обзор Archlinux

  1. Спасибо, выручил, а то я yaourt не умел использоваться и статья отличная)

  2. Есть такая трабла с Arch. Точнее трабла в Х, но потому что Арч собирается вручную, то и трабла Х перекочевывает в него.
    А вот в других дистрах, которые собираются другими, такой траблы нет, например в *убунтах.

    Проблема такая.
    X: смена раскладок по Ctrl-Shift. Из-за чего не работает сочетание Ctrl-Shift-T в Терминале (и любых других программах где используется Ctrl-Shift-Key).
    Но она решаемая патчм из AUR
    https://archlinux.org.ru/forum/topic/14566/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*