Мы уже знакомились на страницах журнала с дистрибутивом CRUX (www.crux.nu), сегодня обзор еще одного представителя «среднего» класса.
Дистрибутив Arch Linux (www.archlinux.org) сравнительно молодой. Версия 0.1 homer была представлена общественности 11 марта 2002 года. Идея создать собстенный дистрибутив пришла его основателю Джудду Винету (Judd Vinet) как раз после знакомства с CRUX, некоторые идеи были взяты из Slackware. Arch Linux оптимизирован под i686-архитектуру — это означает, что работать он будет только на компьютерах с процессором Pentium II и выше. Теоретически, Arch Linux должен работать быстрее многих других дистрибутивов, использующих i386-, i486- и i586-оптимизации. Хотя стоит отметить, что имеются сборки и под i586, для х86–64 и PPC. Ориентирован Arch Linux на опытного пользователя — как сказано в документации, «на такого, который не боится командной строки» — и может быть использован как на рабочей станции, так и на сервере. Здесь вы не встретите графических «мастеров» для настройки параметров и сервисов, вроде Mandriva Control Center, YaST, Alterator и linuxconf. Все утилиты настраиваются только таким способом, который предусмотрел ее разработчик. Также в репозитарии обычно включаются немодифицированные и самые свежие версии приложений, а на собираемые пакеты практически не накладываются патчи.
В Arch Linux используется простая BSD-подобная схема инициализации, настраиваемая прямым редактированием конфигурационных файлов. Возможно, найдутся и противники такого подхода, но в этом есть и свои несомненные плюсы. Пользователь, освоивший Arch Linux, будет «плавать как рыба» в любом другом дистрибутиве. Кроме того, система настраивается один раз, после этого всякие конфигураторы становятся просто ненужными и только занимают место на диске. Как и в CRUX, здесь безжалостно убрано все, что редко используется — например, вы не найдете info-страниц.
Варианты и репозитарии.
Дистрибутив доступен в двух вариантах — полном, занимающим, как правило, целый диск (размер ISO-образа в зависимости от версии — 500–600 Мб) и так называемом base, включающем в себя только базовую систему размером около 200 Мб. Об варианта можно получить на одном из зеркал, ссылки на которые вы найдете по адресу www.archlinux.org/download. В состав первого диска входит базовая система, графическая среда Хorg 7.0 с легкими оконными менеджерами WindowMaker 0.92.0, IceWM 1.2.25, FVWM 2.4.19, Enlightenment 0.16.7.2 и основные графические приложения вроде Mozilla Firefox и Thunderbird, Gimp, AbiWord, mpg321, Mplayer 1.0pre7–6, xine–ui–0.99, xmms–1.2.10, а также серверы и средства разработки. Всего 526 пакетов, причем ни KDE, ни Gnome в этом списке нет. Список этих пакетов из версии в версию остается практически неизменным, он определяется Джуддом Винетом лично и составляет официальную ветку Current репозитария пакетов. Из Current на свет периодически появляются новые версии дистрибутива. Стоит отметить, что пакеты, входящие в Current, обновляются довольно оперативно, иногда даже изо дня в день.
После объявления дистрибутива вокруг него собралась группа добровольцев, поддерживающих другие «неофициальные репозитарии». Одним из таких репозитариев является Extra, который по праву считается неотъемлемой частью Arch Linux. В Extra входят новые протестированные пакеты, также здесь можно найти все остальное, чего не хватает пользователям в Current. Кроме того, на сайте проекта встречается упоминание о ветках Unstable и Testing, в которые включены самые новые нестабильные или еще свежие и не протестированные версии пакетов. Кроме того, отдельная группа добровольцев поддерживает проект ArchLinux User-community Repository (AUR) (aur.archlinux.org/index.php?setlang=ru), развивающий ветки community и unsupported. На момент написания статьи этот репозитарий содержал 3263 пакета в unsupported и 970 в community.
Немного об установке
Установка проходит исключительно в консоли. Те пользователи, которые хоть раз устанавливали Slackware или CRUX, найдут много общего, так что им бояться нечего. Разработчики рекомендуют ознакомиться с официальной документацией по установке Arch Linux 0.7.2 (Gimmick) Installation Guide на сайте проекта www.archlinux.org/static/docs/arch-install-guide.html, либо введя в другой консоли less /arch/archdoc.txt. И как сказано в этом документе, кроме дистрибутива системы и компьютера вам понадобится «some time to kill».
Для установки системы разработчики рекомендуют использовать вариант дистрибутива base, хотя в последующем вам придется все остальное (а это как минимум 200 Мб) вытягивать из Интернета. Стоит отметить, что в различных интернет-магазинах (например, на www.linuxcenter.ru) уже предлагаются диски со срезами Current и Extra, поэтому можно обойтись и без широкого канала. Можно, конечно, устанавливать систему с большого диска, но имейте в виду: перерывы между датами выхода версий Arch Linux иногда составляют около года. Например, версия 0.7 wombat вышла 24 января 2005, следующая версия 0.7.1 noodle — 5 января 2006. Последней на момент написания статьи была версия 0.7.2 gimmick, датированная 8 октября 2006 года, хотя уже поговаривают о версии 0.8. Короче говоря, версии устанавливаемых в этом случае пакетов могут оказаться устаревшими и изначально требующими обновления.
Уже после установки все необходимые пакеты можно установить, воспользовавшись pacman или ABS. При выборе пакетов желательно отметить все входящие в категорию BASE. Выбирать пакеты в большом списке несколько неудобно, поучаствовать в выборе зависимостей вам тоже не дадут — иначе говоря, если случайно выбрать xmms, то вы обнаружите установленный X–Window. При установке предлагается выбрать одно из трех ядер: 2.6.16 и два варианта 2.4.32, обычное и с поддержкой SCSI. Собирать самому ядро, как это принято в CRUX или Gentoo, не нужно. По умолчанию используется ядро 2.6, которое поддерживает весь спектр оборудования SCSI/SATA/IDE, файловых систем (ext2, ext3, ReiserFS, XFS и пр.), множество типов разделов (систему логических томов LVM, программные RAID-массивы). После установки система загружается довольно шустро.
Система управления пакетами Arch Linux
Arch Linux использует двоичные пакеты, для управления которыми служит утилита с забавным названием Pacman (www.archlinux.org/pacman). Она дает возможность пользователям без труда управлять пакетами, причем неважно, официальные это Arch-пакеты или собственноручно сделанные. Пакеты имеют несколько неудобное расширение pkg.tar.gz. Собственно, это и есть архивы TAR и сжатые GZIP, без каких либо инсталляционных скриптов, как, например, в RPM. Кстати, те, кто устанавливал пакеты вручную, а не с помощью утилит вроде apt и YUM, не найдут в pacman’e ничего сложного. Команда pacman --add pkg_name-version-release.pkg.tar.gz установит указанный пакет, --upgrade обновит уже установленный. C помощью Pacman пользователь может поддерживать систему в самом актуальном состоянии, следя за всеми последними обновлениями. Так, команда pacman –Su обеспечит полное обновление всей системы. Зависимости пакетов исключительно жесткие (обязательные), поддерживаются внешней базой данных, расположенной в /var/lib/pacman/. Отказаться от установки необязательных зависимостей можно, лишь прибегнув к nodeps.
Управление настройками pacman производится в файле /etc/pacman.conf. Весьма удобно, что в качестве репозитария можно выбрать раздел на жестком диске, сетевом ресурсе и прочих доступных местах. Программе все равно, где находится указанный ресурс. Поэтому, объединившись с товарищами в группу, можно потихоньку создать свое зеркало, откуда и обновляться, а чтобы pacman не выходил в Интернет при каждом удобном случае, закомментируйте все строки с внешними адресами. Например, чтобы получить доступ к AUR-community репозитарию, запишите следующую строку в pacman.conf:
- Код: Выделить всё
Include = /etc/pacman.d/community
И затем создайте файл /etc/pacman.d/community следующего содержания:
- Код: Выделить всё
[community]
Server = ftp://ftp.archlinux.org/community/os/i686/
После чего даем команду:
- Код: Выделить всё
# pacman --sync –refresh.
или:
- Код: Выделить всё
pacman -Sy
Добавить репозитарий, расположенный на CD/DVD или жестком диске, так же просто:
- Код: Выделить всё
[cd]
Server = file:///mnt/cd/arch/pkg
Все это, конечно, хорошо, но складывается впечатление, что Arch Linux ничем не отличается от того же Ubuntu, разве что отсутствием графических средств настройки. А самое интересное я просто оставил на закуску.
Система построения пакетов ABS
Система портов FreeBSD и портежей Gentoo, очевидно, не давала спать спокойно Джудду, поэтому Arch Linux получил свою аналогичную систему Arch Build System (ABS). Впрочем, здесь реализован подход, принятый в CRUX. В Gentoo и FreeBSD, как вы помните, основное назначение системы портежей/портов — компиляция приложения с последующей установкой в системе. В CRUX же задача системы портов — сборка пакета, оптимизированного под определенную систему, который затем может быть установлен с помощью стандартного менеджера пакетов ( pkgadd), используемого в этой системе. Так же работает и ABS. Забегая вперед, скажу, что ABS все-таки уступает в гибкости системам, используемым в Gentoo и FreeBSD, но его главное достоинство — простота, что и привлекает множество сторонников.
Первоначально требуется синхронизировать ветку дерева ABS. Сделать это просто — от лица суперпользователя дается в консоли команда abs, которая в свою очередь использует cvsup. После чего в системе появится каталог /var/abs, включающий всю систему построения пакетов. Внутри обнаружите еще несколько каталогов, содержащих подкаталоги. Внутри каталога найдете как минимум один файл — PKGBUILD, являющийся сценарием построения пакета (то есть аналог make-файлов в портах FreeBSD или ebuild из портежей Gentoo). Могут здесь оказаться и другие файлы, с помощью которых устанавливаются патчи.
Для того чтобы собрать пакет, переходим внутрь соответствующего каталога и даем команду makepkg, если все пройдет нормально, в этом же каталоге появится собранный и готовый к установке с помощью pacman пакет. Впрочем, можно дать команду на сборку с последующей установкой: makepkg –i. Репозитарии, из которых обновляется ветка, описаны в файле /etc/abs/abs.conf. По умолчанию сюда включены только стабильные Сurrent и Extra. Переменные, используемые при сборке пакетов, описаны в /etc/makepkg.conf.
Для сборки пакета приложения, не включенного в дерево портов, рекомендуется создать каталог /var/abs/local, в котором и производить дальнейшую сборку. Далее создаем подкаталог, название которого должно совпадать с именем приложения. В корне лежат два файла шаблона — PKGBUILD.proto и install.proto, которые используются при построении собственных пакетов. Чтобы они заработали, их нужно отредактировать, убрать суффикс «proto» и переместить в созданный каталог. Сюда же можно слить исходные тексты и патчи. Засим следует обычная сборка. Самое трудное здесь — редактирование PKGBUILD.proto, хотя и это не такая у проблема, благо бо[ударение!!!]льшая часть опций понятна.
Устанавливать ли Arch Linux на свой компьютер — решать вам. Потратив некоторое время на установку и доводку, вы получить хорошо прогнозируемую в работе быструю систему, которую очень легко поддерживать в современном состоянии.
--------------------------------
Статья из журнала Мой Компьютера "Меж сырцом и пакетом", написанная Сергеем Яремчуком (он же grinder). Надеюсь не будет против её размещения здесь. Так как статья отличная и хорошо показывает Arch изнутри и его отличие от других дистрибутивов.




