Что же под капотом у Arch Linux.

Модератор: Команда root.ua

Что же под капотом у Arch Linux.

Новое сообщение foomor » Сб фев 28, 2009 12:07 pm

Только собрав один раз Gentoo, начинаешь понимать, какой трудный путь предстоит пройти тому, кто хочет получить полноценную, оптимизированную «под себя» систему! Требуются большие мощности, приличный запас времени и «жирный» канал в Интернет. С другой стороны, существуют дистрибутивы «среднего» класса, позволяющие довольно легко установить и потом обновлять систему, но об оптимальности в этом случае речь уже не заходит. В том числе и потому, что попытка собрать в таких дистрибутивах что-либо самостоятельно может закончиться провалом, так как разработчики частенько при построении пакетов используют патчи, а некоторые решения вообще бывают, мягко говоря, несовместимы между собой. Истина, как всегда, где-то посередине.

Мы уже знакомились на страницах журнала с дистрибутивом 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 изнутри и его отличие от других дистрибутивов.
Аватара пользователя
foomor
 
Сообщения: 58
Зарегистрирован: Сб окт 06, 2007 8:10 pm
Откуда: Белая Церковь
ОС: Gentoo/Arch

Re: Что же под капотом у Arch Linux.

Новое сообщение Moses » Сб фев 28, 2009 1:57 pm

Чудова стаття! Захотілося навіть спробувати цей дістр. А я думав, що вже перехворів... :lol:
Аватара пользователя
Moses
 
Сообщения: 326
Зарегистрирован: Ср окт 03, 2007 5:20 pm
Откуда: Кіровоград
ОС: Ubuntu

Re: Что же под капотом у Arch Linux.

Новое сообщение foomor » Сб фев 28, 2009 5:56 pm

Если есть какие-то вопросы по дистрибутиву, спрашивайте. 3 года все-таки прожил в нем. :beer:
Аватара пользователя
foomor
 
Сообщения: 58
Зарегистрирован: Сб окт 06, 2007 8:10 pm
Откуда: Белая Церковь
ОС: Gentoo/Arch

Re: Что же под капотом у Arch Linux.

Новое сообщение invisible » Вс мар 01, 2009 8:35 pm

Хороший дистрибутив. Сам долгое время имел с ним дело. Но сейчас променял на генту :mrgreen:
- There are only 10 kinds of people: one who understands binary language and one who not -
Изображение
Аватара пользователя
invisible
 
Сообщения: 91
Зарегистрирован: Вт окт 02, 2007 10:15 am
Откуда: Бровары
ОС: Gentoo

Re: Что же под капотом у Arch Linux.

Новое сообщение eReS » Вт июл 21, 2009 4:04 pm

Чудова стаття :) аж зацікавив арч

dimaka писал(а):Если есть какие-то вопросы по дистрибутиву, спрашивайте. 3 года все-таки прожил в нем. :beer:


чому змінив його на інший?
Изображение
Аватара пользователя
eReS
 
Сообщения: 104
Зарегистрирован: Вс июн 15, 2008 12:13 am
Откуда: Кіровоград
ОС: Ubuntu 9.04

Re: Что же под капотом у Arch Linux.

Новое сообщение foomor » Ср янв 06, 2010 2:54 pm

vzov писал(а):чому змінив його на інший?

Так вышло, что сидя дома на больничном, захотелось поставить генту. На удивление все прошло успешно и вот до сих пор с марта месяца, на десктопе у меня гента. Просто она уже так разрослась, что мне лень переустанавливать. А после приобретения ноутбука, я не долго думая — поставил туда арч :) Так что я его можно сказать не променивал. Отличный дистрибутив. Бывают конечно свои взлеты и падения. Может они так держут линуксоидов в форме, чтоб не расслаблялись, когда после очередного апдейта надо снова ковырять конфиги :D (На самом деле это какой-то стереотип, за уже 4 года юзанья арча, у меня 2 раза были проблемы после апдейта, которые решались очень быстро, так как были задокументированы на вики или описаны и решены на форуме). Это пожалуй один из минусов, но я думаю сейчас нету дистрибутива где после апдейта есть 100% гарантия, что ничего не сломается, хотя может быть ред хат, там просто за тебя починят 8) А из плюсов: лучшее вики, лучшее комьюнити, возможность ставить с пакета или собирать с сорца, самый огромный пакетный репозитарий (имхо), если чего нету в официальном — можно найти в AUR'e, а если и там нету (в чем я очень сомневаюсь) — очень легко написать свой PKGBUILD и собрать пакет, ну и самое главное — быстродействие, мне не с чем сравнивать, но гента не работает быстрее, проверено :) (для меня этого достаточно)
Аватара пользователя
foomor
 
Сообщения: 58
Зарегистрирован: Сб окт 06, 2007 8:10 pm
Откуда: Белая Церковь
ОС: Gentoo/Arch

Re: Что же под капотом у Arch Linux.

Новое сообщение eReS » Ср янв 06, 2010 11:25 pm

> лучшее вики, лучшее комьюнити, возможность ставить с пакета или собирать с сорца, самый огромный пакетный репозитарий (имхо)

прям как Ubuntu ^-^
Изображение
Аватара пользователя
eReS
 
Сообщения: 104
Зарегистрирован: Вс июн 15, 2008 12:13 am
Откуда: Кіровоград
ОС: Ubuntu 9.04


Вернуться в Arch Linux

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron