Выбрать главу

gdbm,ncurses

Наличие подкаталога с файлами зависимостей – второе (наряду с составом пакетов) отличие ветки Slackware в репозитории Salix отличие последнего от официального репозитория «головного» дистрибутива.

Ну а вынесены эти файлы в отдельный подкаталог из соображений, можно сказать, этических: дабы сохранить структуру ветки, заимствованной из Slackware, в неприкосновенности. То есть подкаталог /x86_64/slackware-14.1/deps – своего рода мега-патч для репозитория, обеспечивающий контроль зависимостей в хранилище пакетов, изначально на это не рассчитанном.

Заодно можно ответить и на другой вопрос: почему slapt-get не получил широкого распространения в самой Slackware и, за некоторыми исключениями, в её клонах? Первая часть ответа очевидна: в официальном репозитории исходного дистрибутива никаких описаний зависимостей не содержится. И в этом случае slapt-get теряет большинство своих преимуществ – более эффективной системой управления пакетами оказывается slackpkg. Для разработчиков же любых клонов Slackware включить slapt-get в штатный комплект своего дистрибутива недостаточно: надо также создать репозиторий с поддержкой зависимостей, а главное – поддерживать его в актуальном состоянии. Что, понятно, является нелёгкой и не очень увлекательной работой, к которой мало кто из энтузиастов оказался готов. Насколько я знаю, единственный, кроме Salix, дистрибутив, где такая работа ведётся – это Vector Linux. Но он и создавался изначально как система, предназначенная, в том числе, и для коммерческого распространения.

Настройка slapt-get

Теперь, зная, как устроены репозитории Salix, можно вернуться к утилите slapt-get – точнее, к её настройке. Потому что большая часть последней – как раз и есть обеспечение доступа к репозиториям.

Все настройки slapt-get хранятся в файле /etc/slapt-get/slapt-getrc. Это простой текстовый файл, который можно условно разделить на три неравные секции.

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

WORKINGDIR=/var/slapt-get

И менять её без веских оснований не следует (я таких оснований не вижу). А вот посмотреть на её содержимое не вредно:

$ ls /var/slapt-getpackage_data patches/ salix/ slackware64/

Самое главное здесь – файл package_data: это «интегрированная» локальная копия файлов PACKAGES.TXT всех подключённых репозиториев, создаваемая командой

$ sudo slapt-get —update

Тот самый файл, без которой slapt-get отказывается выполнять какие-либо иные действия.

Назначение подкаталогов очевидно: в них хранятся скачанные при установке пакеты из соответствующих ветвей репозитория, с разбивкой на серии. О чём следует помнить, если возникнет необходимость переноса пакетов на машину, не имеющую подключения к сети.

Вторая секция также содержит единственную строку, хотя и несколько более длинную:

^rootuser-settings,^zzz-settings.*,-i?86-

Это – те самые исключения, то есть маски имён пакетов, не затрагиваемых обновлениями по команде

$ sudo slapt-get --upgrade

А также – автоматическими обновлениями, о которых будет говориться в части седьмой. Удалять из этой строки ничего не следует. При необходимости обновить, например, ядро системы это можно сделать, явным образом добавив опцию --ignore-excludes к команде установки пакета, например:

$ sudo slapt-get --install --ignore-excludes kernel-huge

А вот необходимость пополнить список исключений может возникнуть – например, пакетам, имеющимися в штатном репозитории, но собственноручно пересобранными с какими-либо специфическими опциями.

Наконец, третья секция – это список доступных репозиториев. По умолчанию он выглядит так (если при первичной установке не было выбрано другое зеркало):

# The Slackware repositories, including dependency informationSOURCE=http://salix.hostingxtreme.com/x86_64/slackware-14.1/:OFFICIAL SOURCE=http://salix.hostingxtreme.com/x86_64/slackware-14.1/extra/:OFFICIAL # The Salix repository SOURCE=http://salix.hostingxtreme.com/x86_64/14.1/:PREFERRED # Local repositories # SOURCE=file:///var/www/packages/:CUSTOM

И если, повторяю, при инсталляции не было выбрано зеркало, отличное от «умолчального», эту секцию править можно, а скорее всего, и нужно: сервер HoaringXtreme в наших условиях не поражает скоростью доступа к нему.

На странице Repository mirrors сайта проекта приведён список всех зеркал мастер-репозитория Salix. Для тех, что доступны по протоколу HTTP, я с помощью утилиты ping проверил время отклика – результаты сведены в таблице.