мета-данные страницы
  •  

Это старая версия документа!


slackware

Slackware - это

История

Во времена первых дистрибутивов, сущевствовал тн SLS, удобный тем, что собирать из исходников там требовалось1) только ядро, все ПО поставлялось уже в бинарном виде, а сжатых tar-болах. Инициализация происходила через скрипты командной оболочки, а в качестве загрузкичка использовался LILO. Пакетного менеджера небыло2). SLS был популярен, но его плохо поддерживали. Студент, использовывший SLS для учебы, задолбавшись при каждом запуске системы чинить ее косяки, создал свою сборку и стал распространять ее анонимно через FTP server. Эта сборка и стала Slackware.

Пакеты

В качестве пакетов тут используются tarballs. Управление пакетами проивзодится так:

# Выполнить инструкции для установки
installpkg <path_to_tar>
# --root    задает директорию для установки
# --dry-run вывести предпологаемые действия и не выполнять их
 
# Выполнить инструкции для удаления
removepkg <path_to_tar>
 
# Установить новый пакет, а то, что осталось от старого, удалить;
# Новый - не значит "моложе", так что можно использовать для откатов версий.
upgradepkg <path_to_tar>

Для удобства есть ncurses TUI на все это: pkgtool

Так как пакетного мереджера тут нет, ставить ПО и разрешать зависимости нужно руками.

SlackBuild

SlackBuild - это сценарий оболочки (обычно совместимый с bash), который автоматизирует процесс конфигурирования, компиляции и создания пакета Slackware (файлы *.tgz, *.txz, *.tbz) из архивов исходных кодов.

Обобщенное описание процесса

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

slackpkg

Для упращения3) жизни есть slackpkg. Зеркало выбирается в /etc/slackpkg/mirrors, выбрать можно только одно.

usage:

# Обновить базу пакетов (информацию о пакетах на сервере)
slackpkg update
 
# Поиск пакета
slackpkg search foo
 
# Скачивание и установка пакета
slackpkg install foo

rpm2tgz

Варианты устанвоки ПО, распространяеого в RPM пакетах:

  • Собрать собственный пакет Slackware
  • Скомпилировать и установить прямо из исходного кода
  • Сконвертировать установку из RPM через rpm2tgz

usage:

# Сконвертировать RPM в tgz
rpm2tgz foo-x.x.xx.rpm
 
# Установить полученный tgz
slackpkg install foo

Материалы

1)
в те времена ядро Linux не имело поддержки загружаемых моделуй и драйверы приходилось жестко включать в ядро и компелировать в него. При изменении оборудования приходилось перекомпилировать ядро.
2)
вернее были программы для утановки и удаления ПО, но без разрешения зависимостей
3)
Без slackpkg процесс мог быть таким:
  • Обнаружить в журнале изменений Slackware выпуск обновления.
  • Посмотреть на используемом зеркале Slackware ссылку для загрузки пакета.
  • Загрузить пакет с зеркала Slackware на жёсткий диск.
  • Применить installpkg или pkgtool для установки загруженного пакета.
При помощи slackpkg он сокращается до:
  • Обнаружить в журнале изменений Slackware выпуск обновления для «foo».
  • slackpkg install foo