Погружение в Salix
Шрифт:
Серии пакетов Slackware: вместо введения
Прежде чем перейти к описанию устройства репозиториев Salix, необходимо сказать несколько слов о существующим в Slackware и её клонах понятии серий пакетов.
Во всех развитых системах пакетного менеджмента существует понятие так называемых метапакетов (metapackages), хотя они носят разные имена, Во FreeBSD, из которой и пошло это понятие, они называются метапакетами и метапортами, в дистрибутивах, использующих формат пакетов deb – задачами (tasks), в openSUSE – шаблонами (patterns), в Fedora – группами (groups). Однако суть
В Slackware и её клонах (в том числе и в Salix) аналогом метапакетов являются серии или наборы пакетов (series или sets). Классический список таких серий, сформированный в незапамятные времена зарождения прародительской системы, включает следующие компоненты:
• a – минимальный набор пакетов для функционирования системы в консольном режиме;
• ap – консольные приложения и утилиты, выходящие за пределы необходимого минимума;
• d – инструментарий для разработки и сборки программ;
• e – GNU Emacs и всё, что имеет к нему отношение;
• f – различная общесистемная документация, включая FAQ и HOWTO;
• k – исходные тексты ядра Linux;
• kde – пакеты, в сумме образующие одноименную интегрированную среду и необходимые для её работы библиотеки;
• kdei – пакеты интернационализации для среды KDE и её приложений;
• l — библиотеки общего назначения, от общесистемной glibc до Qt и Gtk;
• n – программы для работы с сетью;
• t – TeX и всё, что с ним связано;
• tcl – интерпретатор языка TCL и связанный с ним инструментарий;
• x — оконная система X, то есть Xorg, включая X-сервер, драйверы устройств ввода-вывода и видеоподсистемы и так далее;
• xap – приложения графического режима, не входящие в базовую систему Xorg, включая оконные менеджеры;
• xfce – одноимённый интегрированный десктоп и его штатные приложения;
• y – древние консольные игры, идущие ещё из BSD-систем.
В Salix'е действенны все наборы материнской системы, однако есть и некоторые собственные:
• games – игры, заменяющие доисторический набор f (которого здесь нет);
• gnome – приложения для одноимённой среды, несколько лет назад исключённой из официального репозитория самой Slackware;
• locale – пакеты локализации для LibreOffice, Firefox и Thunderbird;
• lxde – рабочая среда LXDE и её штатные приложения;
• mate – современный клон GNOME 2.
Любая из серий пакетов может быть установлена одной командой – для этого в slapt-get предусмотрена специальная цель:
$ sudo slapt-get --install-set [имя серии]
Принцип комплектования серий пакетов в Slackware несколько иной, нежели, скажем, задач в Ubuntu: подобно шаблонам в openSUSE, это скорее тематические группы, нежели целевые наборы типа ubuntu-desktop. И, помимо «канонических» серий Slackware, таких, как a, ap и так далее, собственные наборы пакетов могут создаваться достаточно произвольно: для этого достаточно поместить соответствующие пакеты в один каталог, который дополняется так называемым файлом тегов (tagfile), содержащим их перечень. Однако slapt-get оперирует не сериями пакетов, а их репозиториями, к рассмотрению которых мы наконец и переходим.
Репозитории Salix
Применение к репозиториям Salix множественного числа несколько условно. В сущности, здесь мы имеем дело с единым хранилищем пакетов (и его официальными зеркалами), а не такими сложно структурированными конструкциями, как официальные и полуофициальные (semi-official) репозитории openSUSE или репозитории main, universe, restricted и multiverse в Ubuntu, не говоря уже о её бесчисленных PPA-репозиториях. Впрочем, нечто вроде аналога последних (или «домашних» репозиториев openSUSE) в Slackware и в Salix тоже имеется, но об этом речь пойдёт главе 8.
А пока рассмотреть устройство репозитория Salix проще всего на конкретном примере – например, мастер-сервера проекта. Здесь можно видеть сборки пакетов для каждой из поддерживаемых архитектур – x86 (именуемой i486) иx 86_64. Есть ещё и сборка для процессоров ARM, но это вещь специфическая, и я о ней говорить не буду. Далее речь пойдёт о линии x86_64, как более актуальной.
Внутри каждой «архитектурной линии» обособляются две ветви – репозитории собственно Salix и репозитории Slackware, каждая с разделением на версии (от первой, 13.0 до текущей, 14.1 – впредь будет подразумеваться последняя).
Рисунок 6-1. Корневой каталог репозитория для 64-разрядной архитектуры
Поскольку разработчики Salix, как они сами подчеркивают в упоминавшемся в первой главе интервью, развитие базовой системы передоверили «головной организации», основная часть пакетов дистрибутива хранится в каталоге /salix/x86_64/slackware-14.1/ – его одноимённом подкаталоге slackware64 и extra. Он же представляет собой почти точное зеркало соответствующих ветвей официального сервера родительского дистрибутива – за двумя важными исключениями.
Первое – «сдублированы» не все пакеты Slackware, а только те, которые задействуются в дистрибутиве Salix. О втором же исключении я скажу чуть позже.
В основной части «головной» ветки репозитория, то есть в каталоге /x86_64/slackware-14.1/slackware64, можно видеть те самые серии пакетов, о которых говорилось в предыдущем разделе, а также несколько служебных файлов:
CHECKSUMS.md5 CHECKSUMS.md5.asc FILE_LIST MANIFEST.bz2 PACKAGES.TXT
Рисунок 6-2. Ветка репозитория Salix, заимствованная из прародительского дистрибутива