Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #90, ИЮНЬ 2006 г.

Курсы пакетного менеджмента

Евгений Зобнин aka j1m

Хакер, номер #090, стр. 090-100-1


(j1m@list.ru)

Системы управления пакетами в Linux и *BSD

По мнению многих линуксоидов, система управления пакетами наряду с принципом организации инициализационных скриптов является отличительной чертой любого современного дистрибутива Linux. И с этим нельзя не согласиться. Именно набор программного обеспечения сегодня принято называть дистрибутивом Linux. Проблема лишь в том, что существует множество разновидностей систем управления пакетами, разобраться в которых неподготовленному человеку бывает сложно.

Начало упаковки

Во времена, когда пингвин был еще младенцем, не существовало ни пакетов, ни дистрибутивов. Энтузиасты, решившие опробовать Linux, выкачивали из Сети ядро и весь необходимый для загрузки и работы операционной системы софт, а затем просиживали долгие часы перед монитором, собирая все это в единое целое, чтобы получить нечто отдаленно напоминающее современный LFS. Очевидно, что такой подход к установке Linux устраивал разве что фанатичных технарей, получавших истинное удовольствие от непристойных отношений с ОС. Для остальных же двери в волшебный мир Linux были закрыты на огромный навесной замок финского производства.

Первыми героями, отважившимися показать пингвина широким слоям населения, стали Питер Мак-Дональд и Патрик Волькердинг. Про то, как Мак-Дональд в 92-м году создал первый в истории дистрибутив Linux, можно рассказывать долго, но эта тема нас сейчас не интересует. Наибольший интерес вызывает творение небезызвестного Патрика под названием Slackware Linux. Именно Патрик привнес в мир Linux идею пакетного менеджмента и реализовал ее в виде специальных утилит для своего дистрибутива. Сам пакет представлял собой обычный тарболл, который посредством утилиты /sbin/installpkg устанавливался в файловую систему. Обратную процедуру выполняла команда /sbin/removepkg, которая просматривала базу /var/log/packages/ и удаляла пакет из системы. С тех времен система пакетного менеджмента дистрибутива Slackware не претерпела кардинальных изменений (как, впрочем, и все остальное), разве что неотъемлемой частью каждого пакета стали файлы install/doinst.sh (скрипт выполняется после установки пакета) и install/slack-desc (краткое описание пакета), а базовая комплектация дистрибутива пополнилась еще несколькими полезными утилитами, например /sbin/pkgtool - псевдографический фронтенд к installpkg и removepkg.

Красная Шапочка против всех

Неприлично простой Slackware и его подход к управлению пакетами до сих пор привлекают опытных пользователей, способных самостоятельно решить проблемы зависимостей и конфликтов между пакетами. Но что делать всем остальным, далеким от Linux людям? Этим же вопросом задалось руководство одной из первых коммерческих Linux-компаний Red Hat. Подходящих решений для "умного" управления пакетами в то время не существовало, и программисты Red Hat создали собственный формат пакетов - Red Hat Package Manager или просто RPM (сегодня эта аббревиатура приняла вид рекурсивного акронима - RPM Package Manager). Другой популярный сегодня формат пакетов был предложен Яном Мардоком, создателем народного дистрибутива Debian. Сегодня пакеты Debian превратились в некий антипод RPM, а с выходом Ubuntu Linux его позиции еще больше укрепились.

Содержание  Вперед на стр. 090-100-2
Hosted by uCoz