В прошлой статье я описал основной инструмент установки и обновления пакетов в Slackware из сети slackpkg. И, как я говорил, slackpkg работает только с одним репозиторием пакетов. Чтобы добавить возможность работы с несколькими репозиториями требуется установить пакет, который расширяет стандартный функционал slackpkg. Этот пакет называется slackpkg+.
Загрузить пакет можно с sourceforge.net по ссылке:
https://sourceforge.net/projects/slackpkgplus/files/
К сожалению в официальном репозитории и на диске этого пакета нет. Хотя это уже не совсем так. На LiveCD дистрибутивах, которые собирает Eric Hameleers (он же AlienBOB) (ссылка на ресурсы) slackpkg+ включен в диск и даже имеет настроенные репозитории. Так что возможно в следующем релизе Slackware он уже будет в штатной поставке.
Чем отличаются slackpkg и slackpkg+.
Первое это конфигурационным файлом. slackpkg+ имеет свой файл настроек расположенный в той же директории:
/etc/slackpkg/slackpkgplus.conf
И в этом файле хранится все, и настройки и список репозиториев. Причем список репозиториев уже задан, требуется только подредактировать его для работы. Вот в таком виде, у меня уже некоторые репозитории подключены.
#slackpkgplus: http://slakfinder.org/slackpkg+{,dev,1.6,1.7}/
#multilib: http://bear.alienbase.nl/mirrors/people/alien/multilib/{14.0,14.1,14.2,current}/
MIRRORPLUS['alienbob']=http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86_64/
#ktown: http://bear.alienbase.nl/mirrors/alien-kde/{14.2,current}/5/{x86,x86_64}/
MIRRORPLUS['restricted']=http://bear.alienbase.nl/mirrors/people/alien/restricted_sbrepos/current/x86_64/
#slacky: http://repository.slacky.eu/slackware{,64}-{14.0,14.1,14.2}/
#mleddesktop: http://slackware.uk/microlinux/desktop-{14.1,14.2}-{32,64}bit/
#mledextras: http://slackware.uk/microlinux/extras-{14.1,14.2}-{32,64}bit/
#mles: http://slackware.uk/microlinux/server-{14.0,14.1,14.2}-{32,64}bit/
#msb: http://slackware.uk/msb/{14.0,14.1,14.2,current}/{1.6,1.8,1.10,1.12,1.14,1.16,1.18,1.19,latest}/{x86,x86_64}/
#csb: http://slackware.uk/csb/{14.1,14.2,current}/{x86,x86_64}/
#slackers: http://slack.conraid.net/repository/slackware64-current/
#slacke18: http://ngc891.blogdns.net/pub/slacke18/slackware{,64}-{14.1}/
#studioware: http://slackware.uk/studioware/14.2
#slackonly: http://packages.slackonly.com/pub/packages/{14.1,14.2,current}-{x86,x86_64}/
#rlworkman: http://rlworkman.net/pkgs/{14.0,14.1,14.2,current}/
#slackel: http://www.slackel.gr/repo/{i486,x86_64}/current/
#connochaetos: http://connochaetos.org/slack-n-free/slack-n-free{,64}-{14.2}/
#slint: http://slackware.uk/slint/{i586,x86_64}/slint-{14.2,testing}/
#salixos: http://download.salixos.org/{i486,x86_64}/{14.0,14.1,14.2}/
#salixextra: http://download.salixos.org/{i486,x86_64}/extra-{14.2}/
MIRRORPLUS['slackonly']=http://slackonly.com/pub/packages/current/x86_64/
Теперь подробнее
Обратите внимание, вот так выглядит просто строка с репозиторием заданная в конфигурационном файле в качестве примера:
#http://bear.alienbase.nl/mirrors/people/alien/multilib/{14.0,14.1,14.2,current}/
А вот к такому виду её нужно привести, чтобы заработал репозиторий. Добавить в начало «MIRRORPLUS» и отредактировать адрес в зависимости от архитектуры и версии вашего дистрибутива.
MIRRORPLUS['multilib']=#http://bear.alienbase.nl/mirrors/people/alien/multilib/current/
Так же хотел бы обратить внимание на параметр PKGS_PRIORITY. В нем указывается список репозиториев, последовательность которых, будет определять приоритет установки и обновления пакетов.
#PKGS_PRIORITY=( ktown )
А так же второй важный параметр REPOPLUS, где перечисляются все репозитории, которые будут использоваться. Т.е. после того, как вы пропишите ссылки на репозитории внизу конфига, имена репозиториев нужно продублировать в этом параметре.
REPOPLUS=( slackpkgplus ktown alienbob)
Команды slackpkg+
А дальше идет набор вполне привычных команд, как и в других дистрибутивах и пакетных менеджерах (например, таких как apt-get):
# slackpkg update gpg - обновление контрольных сумм
# slackpkg update - обновление локального списка покетов из репозиториев
# slackpkg upgrade-all - полное обновление пакетов
Команды slackpkg+ повторяю команды slackpkg. Поэтому я не буду их повторять здесь, а дам ссылку на предыдущую статью:
Список актуальных репозиториев
Список актуальных репозиториев представлен в конфигурационном файле, а также его можно посмотреть на этом сайте:
Вот собственно и все кратко рассмотрены официальные инструменты управления пакетами в Slackware. Да, они не разрешают зависимости. Патрик считает, что в этом нет особой необходимости. В принципе он прав, хотя немного раздражает, когда после установки пакета он не работает. Приходится проверять запуск в консоли и смотреть ошибки. Как правило не хватает каких-либо библиотек. Пакет в котором они расположены можно найти командой whereis или посмотреть на slackbuilds.org.
Один комментарий к “Управление пакетами в Slackware — slackpkg+”