Slackware packages - dim13/lor GitHub Wiki

А есть ли в Slackware менеджер пакетов?

Да. Не слишком навороченный, но со своими функциями вполне справляется. Основным пакетным менеджером Slackware является pkgtools, на носителе/репозитории поставляется ap/slackpkg.

Установить новые пакеты, удалить, просмотреть список установленных, а также провести базовую настройку системы (мышь, сеть, временная зона и т.д.) можно с помощью утилиты pkgtool. Не хуже с этими процедурами справляются и отдельные утилиты - installpkg, removepkg или upgradepkg.


Так, например, для того, чтобы обновить glibc можно сделать (предварительно прочитав UPGRADE.TXT):

root@linux# upgradepkg /root/slackware*/a/glibc-solibs-*.t?z

  • А для обновления всей системы с установкой новых пакетов:

root@linux# upgradepkg --install-new /root/slackware*/*/*.t?z

  -
    правда при этом поставятся все пакеты нового дистрибутива.

Далее, как уже упоминалось, в каталоге /ap присутствует фронтенд для pkgtools - slackpkg. К slackpkg есть плагин поддержки нескольких репозиториев slackpkg+

Существуют и другие менеджеры пакетов для Slackware:

spkg - "The Unofficial Slackware Linux Package Manager", тоже довольно неплохой менеджер пакетов и который может быть необходим, если вы предпочтете gslapt/slapt-get от Salix, там именно через него выполняются некоторые операции, если не во всех версиях этого дистрибутива, то по крайне мере в 14.1 точно.

Также весь функционал slackpkg предоставляет фронтенд к целому ряду популярных пакетных менеджеров под названием smartpm.

Дополнительно можно установить фронтенды с поддержкой зависимостей пакетов swaret и slapt-get. У slapt-get есть возможность указания приоритета для каждого репозитория: "default < official < preferred < custom" 1 .

Для pkgtools также существовал графический интерфейс на Qt - SlackIns, а для slapt-get - gslapt.

Для сборки пакетов из исходников есть sbopkg и slapt-src. К slapt-src есть программа с графическим интерфейсом - Sourcery.

Как собрать пакет?

Написать SlackBuild, скрипт для сборки пакета - SlackBuild scripts. Таким способом собираются пакеты в основной системе, можно залезть в /source и посмотреть примеры, н-р: bash.

С помощью утилиты makepkg, где-то так:

user@linux:~$ cd /usr/src/program-name
user@linux:/usr/src/program_name$ ./configure
user@linux:/usr/src/program_name$ make
user@linux:/usr/src/program_name$ su
root@linux:/usr/src/program_name# make install DESTDIR=/tmp/program-name
root@linux:/usr/src/program_name# cd /tmp/program-name
root@linux:/tmp/program_name# makepkg ../program-name-ver-arch-build.txz
root@linux:/tmp/program_name# cd ..
root@linux:/tmp/program_name# installpkg program-name-ver-arch-build.txz
root@linux:/tmp/program_name# cd && rm -R /tmp/program-name

Если ничего из вышеперечисленного не нравится, использовать src2pkg.

Где найти готовые пакеты?

В первую очередь это /packages на slackware.com . Здесь в принципе все пакеты, которые вошли в релиз или входят в current.

Репозитории AlienBOB :

  • Alien's Slackware packages - репозиторий в который время от времени Alien собирает и закидывает пакеты;
  • Alien's 'ktown' repository - его репозиторий для KDE. Через этот репозиторий Вы сможете обновить Ваше KDE. Как обновлять в нем же для вашей ветки дистрибутива читайте README там все пошагово описано, н-р, последняя сборка для current: README (и даже рассказано, если захотите пересобрать KDE сами на своей машине). Репозиторий применим для релиза (т.е. н-р: 14.1) и -current.

Salix:

  • http://download.salixos.org/ или одно из их зеркал Repository_mirrors . Т.к. дистрибутив берет основную пакетную базу у slackware, далее они уже сами собирают отдельные пакеты и закидывают в свой реп, то почему бы не воспользоваться. Только тут стоит понимать различия, вот, н-р, срез репозитория от slackware: download.salixos.org/x86_64/slackware-14.1 , конечно возможно что-то там пересобрали они, но в основном пакетная база слаки, а вот собранное ими download.salixos.org/x86_64/14.1.

Slackel:

  • Slackel Repository- репозиторий дистрибутива который базируется на -current и salix, но встречаются пакеты, которых нет в этих 2 репозиториях, н-р: 2

MSB:

  • MATE SlackBuilds (MSB) - там же адрес на репозиторий пакетов MATE (форка GNOME2). Как устанавливать читаем MSB_SLACKPKG+, в принципе установка ничем не отличается от той как если бы Вы ставили, обычные пакеты или к примеру пакеты из KTown, но если затруднения делайте, как они советуют.

SlackE17:

SlaxXBMC:

  • SlaxXBMC - проект хоть и предоставляет свою версию дистрибутива, но в тоже время и собранные пакеты xbmc доступны и совместимы со slackware

WINE:

Далее, на http://linuxpackages.net и http://slacky.eu. Для поиска пакетов можно воспользоваться сайтом slakfinder.org. Оба репозитория можно подключить к slapt-get и swaret, для этого читайте faq на соответствующих сайтах

Еще есть http://darkstar.ist.utl.pt/slackware/addon, на котором собрано довольно много из выше перечисленных бинарных пакетов и скриптов SlackBuild (имеются также альтернативные сборки Gnome).

Кроме того можно брать пакеты из Zenwalk и, вероятно, Vector Linux (новые пакеты сжимаются lzma и имеют расширение .tlz. Установка .tlz пакетов требует наличие Slackware версии старше 12.2. Slackware 13.0 использует второе поколение lzma - xz , пакеты для 13-й версии имеют расширение .txz)

Где найти готовые SlackBuild'ы для сборки пакетов?

  • Множество готовых SlackBuild'ов лежат на SBo (slackbuilds.org), с их помощью можно легко и просто собрать программу с нужными опциями, достаточно лишь положить в ту же директорию архив с исходниками и запустить скрипт.

  • В большинстве случаев в самих собранных пакетах сборщики кладут SlackBuild'ы в пакет, открыв его в своем любимом архиваторе, найти можно в usr/doc/$PRGNAM-$VERSION. Те, кто не боятся проблем, могут использовать Slackware Current - текущее состояние разработки дистрибутива.

  • Так же, в практически во всех репозиториях (которые были приведены выше) можно найти эти билды. Лежать они могут в том месте, где и сам пакет или в каталоге с названием src или source. Вот, как это реализовано у самого дистрибутива slackware в качестве примера MPlayer

  • Стоит отметить, если Вы будете искать SlackBuild'ы у Salix , то скорей всего Вы их не найдете, т.к. там используется SLKBUILD , ничего страшного нет пакеты все равно совместимы, просто скрипт/системы сборки у них такой/ва и это все равно не должно Вам мешать подсмотреть ключи, операции над исходниками во время сборки, если есть необходимость при написании SlackBuild'а.

Плюс еще несколько дополнительных репозиториев:

  • Alien's SlackBuilds содержит пакеты и билды, собранные при помощи них
  • PhantomX , a collection of personal SlackBuilds
  • willysr repositories SlackBuilds

Где ещё могут быть найдены уже собранные пакеты и написанные SlackBuild'ы?

Пользоваться готовыми пакетами от сторонних источников крайне не рекомендуется, т.е. это может противоречить в первую очередь безопасности и, вообще-то, стабильности уже собранного пакета, но никто не запрещает воспользоваться готовым слакбилдом, просмотреть его (и файлы к нему: описание, патчи, скрипты какие-нибудь) и на основе его собрать пакет, так что, как говорится: "доверяй, но проверяй"(c).

Где взять GNOME?

Несмотря на то, что Патрик начиная с версии 10.2 удалил Gnome из дистрибутива, на данный момент существуют сторонние сборки гнома для Slackware:

  • Dropline - Следует помнить что Dropline дополнительно устанавливает в систему PAM и заменяет некоторые системные пакеты из категорий l/, x/ и xap/.

Экстремалы могут воспользоваться системой сборки Garnome

MATE

  • MSB (MATE SlackBuilds) - пакеты и SlackBuild'ы
  • Salix Mate - версия Salix с MATE, для установки на систему без данного DE можно воспользоваться их нем же репозиторием, установив пакеты из salix-репозитория
  • MATE installation
    • документация и информация по репозиториям и установке MATE в Slackware и Salix на Mate Desktop Environment wiki

Cinnamon