Погружение в Salix
Шрифт:
выведет длинный список, начинающийся так:
/usr/ /usr/bin/ /usr/doc/ /usr/doc/mozilla-firefox-24.5.0esr/ /usr/lib64/ /usr/lib64/firefox-24esr/
Цель
Отдельной цели для обновления единичного пакета до его более свежей версии в slapt-get не предусмотрено. Это достигается с помощью всё той же цели
Ранее я упоминал опцию
$ sudo slapt-get --install --reinstall joe
Кроме того, все пакеты, установленные в системе, для которых доступны новые версии, можно обновить «гуртом» такой командой:
$ sudo slapt-get --upgrade
Важно, что общее обновление системы не затрагивает пакеты, внесённые в список так называемых исключений (excludes) – в их число входит, в частности, ядро системы, библиотеки поддержки формата ELF и некоторые другие компоненты, смена версий которых не всегда желательна. Правда, может обновить и их, однако для этого применителю потребуется задать опцию --ignore-excludes, что снижает вероятность, например, ошибки при загрузке вследствие несоответствия текущей версии ядра и той, что прописана в конфигурационном файле LILO.
Наконец, при выходе новой версии дистрибутива вовсе не обязательно заниматься переустановкой её «с нуля» – достаточно выполнить команду
$ sudo slapt-get --dist-upgrade
которая проделает эту работу автоматически.
Важно, что при установке пакета подтверждение на выполнение действий по умолчанию не запрашивается, а при удалении (и при тотальном апгрейде), напротив, требуется. Это положение можно изменить, указав в первом случае опцию
И ещё одна важная опция для применителя, впервые сталкивающегося с утилитой slapt-get: -s, или --simulate. Как явствует из её имени, она имитирует выполнение установки, удаления или обновления пакетов, выводя сообщение об их результате, но не выполняет никаких действий. Так что в сомнительных случаях можно обратиться к ней.
Пара слов в заключение
Утилита slapt-get предусматривает ещё несколько целей (таких, как --clean – очистка локального кеша пакетов, или --autoclean – удаление пакетов устаревших). Есть в ней и ещё немного сопровождающих опций (например, --download-only – скачивание пакетов без их установки, что может быть полезным при переносе на машину, не имеющую подключения к Интернету). Однако я и не ставил своей целью написать полное руководство по slapt-get, тем более что таковое, в виде одноимённой man-страницы, давно написано. Тем не менее, сказанного, думаю, достаточно, чтобы сделать два вывода.
Вывод первый: не смотря на свою простоту и внешнюю непритязательность, утилита slapt-get справляется с задачами управления пакетами ничуть не хуже, чем утилиты семейства APT, косвенно послужившие её прообразом.
Вывод второй: своему успешному применению утилита slapt-get обязана не только своим достоинствам, но и репозиториям, специально подготовленным для работы с ней. Устройство репозиториев – очередная специфическая особенность дистрибутива Salix, которая будет рассмотрена в следующей главе.
Глава 6. Управление пакетами: репозитории
В шестой главе рассказывается о сериях пакетов Slackware и их назначении, об устройстве репозиториев Salix и их отличиях от репозиториев прародительской системы, в частности – о способах, обеспечивающих в них контроль зависимостей. После этого рассматривается настройка утилиты slapt-get, и дан обзор зеркал репозиториев Salix, а также неофициальных репозиториев Slackware, которые также могут быть использованы в этом дистрибутиве.
Серии пакетов 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;