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). Типичный цикл обновления системы выглядит следующим образом:
- Обновление списка пакетов —
slackpkg update(загружает актуальную информацию о доступных версиях). - Проверка доступных обновлений —
slackpkg check-updates(сравнивает установленные пакеты с репозиторием). - Установка обновлений —
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 →