Открыть сервис

slackpkg

slackpkg — это менеджер пакетов для операционной системы Slackware Linux, предназначенный для автоматизации установки, обновления и удаления программного обеспечения из официальных репозиториев проекта Slackware. В отличие от многих других дистрибутивов Linux, Slackware традиционно не имеет встроенной системы управления зависимостями, и slackpkg предоставляет лишь базовые функции работы с пакетами, не разрешая автоматически зависимости между ними.

История

Slackware Linux, один из старейших дистрибутивов, долгое время использовал ручные методы управления пакетами — утилиты installpkg, removepkg и upgradepkg, которые работали с отдельными файлами .tgz (позже .txz). С ростом количества пакетов и появлением необходимости в централизованном обновлении системы возникла потребность в инструменте, который бы автоматизировал загрузку и установку обновлений из репозиториев.

Проект slackpkg был создан как надстройка над стандартными утилитами Slackware. Первые версии появились в начале 2000-х годов. Изначально это был неофициальный скрипт, но со временем он был включён в состав базовой системы Slackware. Начиная с версии Slackware 12.0 (2007 год), slackpkg стал поставляться по умолчанию, заменив устаревший slackpkg (ранее slackpkg). Разработка ведётся сообществом, а официальная поддержка осуществляется командой Slackware.

Функциональность

Основное назначение slackpkg — синхронизация локальной системы с официальными репозиториями Slackware. Он позволяет:

  • Обновлять систему — загружать и устанавливать новые версии всех установленных пакетов, соответствующих выбранным репозиториям (например, slackpkg update и slackpkg upgrade-all).
  • Устанавливать новые пакеты — по имени пакета, найденному в репозиториях (slackpkg install <имя_пакета>).
  • Удалять пакеты — с использованием стандартных утилит (slackpkg remove <имя_пакета>).
  • Проверять целостность — сравнивать установленные файлы с эталонными из репозитория (slackpkg check-updates).
  • Искать пакеты — по ключевым словам в описаниях (slackpkg search <термин>).

Важной особенностью является то, что slackpkg не разрешает зависимости. Если пакет требует наличия другого пакета, пользователь должен самостоятельно установить его вручную. Это соответствует философии Slackware, где система остаётся простой и предсказуемой, а ответственность за управление зависимостями лежит на администраторе.

Конфигурация

Настройки slackpkg хранятся в файле /etc/slackpkg/slackpkg.conf. Основные параметры включают:

  • REPOPLUSсписок зеркал (mirrors), из которых загружаются пакеты. По умолчанию используются официальные зеркала Slackware, но можно добавить сторонние (например, от проекта SlackBuilds.org).
  • PRIORITY — порядок обработки репозиториев (например, slackware64 для 64-битной архитектуры).
  • ONOFF — список пакетов, которые следует игнорировать при обновлении (например, для сохранения старой версии ядра).
  • CHECKSUMS — включение или отключение проверки контрольных сумм (MD5, SHA1, SHA256) для обеспечения целостности загружаемых файлов.

Также существует файл /etc/slackpkg/blacklist, в который можно добавить имена пакетов, которые никогда не должны обновляться или устанавливаться автоматически.

Использование

Работа с slackpkg осуществляется из командной строки с правами суперпользователя (root). Типичный цикл обновления системы выглядит следующим образом:

  1. Обновление списка пакетовslackpkg update (загружает актуальную информацию о доступных версиях).
  2. Проверка доступных обновленийslackpkg check-updates (сравнивает установленные пакеты с репозиторием).
  3. Установка обновленийslackpkg upgrade-all (загружает и устанавливает новые версии всех пакетов, кроме тех, что в чёрном списке).

Для установки нового пакета используется команда slackpkg install <имя_пакета>, которая сначала ищет пакет в репозиториях, а затем загружает и устанавливает его. Если пакет не найден, выводится сообщение об ошибке.

Репозитории

slackpkg работает только с официальными репозиториями Slackware, которые включают:

  • Основной репозиторий — содержит все пакеты, входящие в состав дистрибутива (например, slackware64-15.0).
  • Репозиторий обновленийpatches, где публикуются исправления безопасности и критические обновления.
  • Дополнительные репозиторииextra, testing, pasture (для устаревших пакетов).

Для подключения сторонних репозиториев (например, от проекта SlackBuilds.org или Alien BOB) необходимо вручную добавить их в slackpkg.conf и указать соответствующие зеркала. Однако это требует осторожности, так как пакеты из неофициальных источников могут не проходить проверку совместимости.

Ограничения

Основные недостатки slackpkg:

  • Отсутствие разрешения зависимостей — пользователь должен самостоятельно устанавливать все необходимые библиотеки и утилиты, что может быть сложно для новичков.
  • Отсутствие поддержки сжатия — slackpkg не умеет распаковывать архивы, отличные от стандартных .txz.
  • Нет графического интерфейса — работа только через командную строку.
  • Нет автоматического резервного копирования — перед обновлением рекомендуется создавать резервные копии вручную.

Альтернативы

В сообществе Slackware существуют альтернативные менеджеры пакетов, которые добавляют функциональность разрешения зависимостей:

  • slapt-get — клон APT (Debian) для Slackware, поддерживает зависимости и репозитории.
  • sbopkg — инструмент для сборки пакетов из исходных кодов (SlackBuilds).
  • gslaptграфический интерфейс к slapt-get.

Однако slackpkg остаётся стандартным и наиболее простым решением для базового управления пакетами в Slackware.

Значение

slackpkg является важным компонентом экосистемы Slackware, обеспечивая удобный способ поддержания системы в актуальном состоянии. Его простота и минимализм соответствуют философии дистрибутива, ориентированного на опытных пользователей, которые ценят контроль над системой. Несмотря на отсутствие автоматического разрешения зависимостей, slackpkg остаётся надёжным инструментом для тех, кто предпочитает ручное управление.

Источники

  • Официальная документация Slackware: man slackpkg
  • Slackware Linux Essentials (глава о пакетах)
  • Slackware Wiki: раздел «Package Management»
  • Репозиторий Slackware Linux Project (slackware.com)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →