Управление пакетами в Slackware — pkgtool

pkgtool — это основная утилита управления пакетам в Slackware Linux. Она запускается при установке системы, но её так же можно запустить и после установки. Что примечательно, pkgtool не является бинарной программой, это набор bash скриптов.

На чаще мы пользуемся отдельными скриптами из пакета pkgtools (installpkg, removepkg, upgradepkg). Все они работают с локальным списком пакетов и использовать их довольно просто.

installpkg package_name - установить пакет
removepkg package_name - удалить пакет
upgradepkg package_name - установить новую версию пакета и удалить файлы от старой версии пакета (это более корректный вариант обновления пакета чем через installpkg)

Да у них есть ещё опции, но их не много и легко посмотреть в справке. Суть этой серии статей дать именно обзор инструментов по управлению программами в Slackware.

Ещё одна интересная возможность pkgtool это запуск скриптов инициализации, тех самых которые запускаются при установке системы. Таких, как генерация initrd.gz, настройка шрифтов, lilo, смена оконного менеджера и другие. Собственно все это можно вызывать и отдельными скриптами, но если забыли, как называется скрипт можно удобно посмотреть это здесь.

Сам лично, именно псевдографическую утилиту pkgtool, я использую редко или даже не использую. Ну а без набора installpkg, removepkg, upgradepkg конечно не обойтись.

Ещё стоит упомянуть рад утилит входящих в pkgtool о которых обычно не пишут. Это:

  • explodepkg — позволяет распаковать пакет в текущую директорию.
  • makepkg — создает пакет Slackware.
  • pkgdiff — сравнивает файлы двух пакетов.
  • ls /var/lib/pkgtools/packages |grep ^xfburn — а так можно проверить установлен ли пакет
  • ls /var/lib/pkgtools/packages/xfburn* — или так
/var/lib/pkgtools/packages  # сведения об установленных пакетах
/var/lib/pkgtools/scripts   # послеустановочные сценарии пакетов
/var/lib/pkgtools/setup     # сценарии для настройки из установщика

Как видите, pkgtool содержит минимальный и достаточный набор утилит для работы с пакетами. Хотя конечно надо сказать, что этот набор был вполне достаточным лет так 15 назад, когда интернет был редкость и пользователи linux обходились наборами пакетов с CD дисков или скачивали по одному из интернета. В те времена я помню мне досталось 6 DVD дисков Ubuntu и это было необычайное количество программ. Не было предела моей радости. Интернета тогда у меня не было и приходилось довольствоваться программами, которые доступны на установочных дисках или локальными репозиторияыми, которые распространяли друзья с интернетом. Вот в те времена Slackware выигрывал у rpm и deb-based дистрибутивов за счет того, что было достаточно скачать один пакет и запустить программу. А в других дистрибутивах приходилось выкачивать кучу зависимостей. Сейчас конечно ситуация изменилась до наоборот.

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

3 thoughts on “Управление пакетами в Slackware — pkgtool”

  1. Если быть точным, пакетный менеджер называется pkgtools, это же и имя пакета.
    pkgtool (без «s» на конце, в единственном числе) — один из сценариев наряду с installpkg, upgradepkg, removepkg, makepkg, explodepkg.

  2. > ls /var/log/packages/ |grep ^xfburn — а так можно проверить установлен ли пакет
    Проще:
    ls /var/log/packages/xfburn-*

    Тут нужно отметить, что начиная с версии 15.0 каталог /var/log/packages/ переехал немного ниже, но для совместимости сохраняется одноименный симлинк.

    Подробнее:
    https://slackware.su/forum/index.php/topic,3044.msg7239.html#msg7239

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *