Slackware/packages

Материал из MediaWiki
Перейти к навигации Перейти к поиску

А есть ли в 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, скрипт для сборки пакета — SlackBuild scripts. Таким способом собираются пакеты в основной системе, можно залезть в /source и посмотреть примеры, например: bash.

makepkg

С помощью утилиты 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

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

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

В первую очередь это http://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'ы?

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

Где взять 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