Этим постом хочу подытожить про пакетные менеджеры.
Вопреки распростаненному мнению, что в slackware нету пакетного менеджера могу сказать, что он есть, и даже не один. Разберем все по порядку.
1. Пакет pkgtools содержит базовый пакетный менеджер Slackware: утилиты installpkg, removepkg, upgradepkg, makepkg, explodepkg и pkgtool. Назначение каждой понятно из названия. Помимо установки/удаления пакетов поддерживает
а) просмотр списка файлов, установленных из пакета packagename (по сути less /var/log/packages/packagename),
б) повторное выполнение отдельных установочных сценариев (тех, что ставятся в /var/log/setup/), среди них настройка времени, lilo, мыши, сети, сервисов, шрифта консоли, и т.п. (при установке системы вы видели именно их работу).
Все они работают локально с локальными файлами пакетов, removepkg умеет удалять по имени пакета (полному или родовому).
Именно они обеспечивают ведение лоальной базы установленных, удаленных, обновленных пакетов
(/var/log/{packages,scripts,removed_packages,removed_scripts}).
т.е. поиск по установленным пакетам команда
ls /var/log/packages/ | grep openjdk
Все прочие инструменты для установки/удаления пакета используют средства pkgtools.
2. slackpkg - поддерживает работу с сетевым репозиторием (одним),искать по пакетам, обновлять,устанавливать пакеты. Обновлять полностью систему.
3. slackpkg+ - как бы плагин к slackpkg, добавляет поддержку нескольких репозиториев, их приоритеты, удобное добавление поддержки мультилиб (поддержка выполнения 32х разрядных программ в 64х битной системе ) . Хорошая статья от Алиена - http://alien.slackbook.org/blog/introducing-slackpkg-an-extension-to-slackpkg-for-3rd-party-repositories/
4. Все, что описано выше не поддерживает автоматическое разрешение зависимостей, но написаны пакетные менеджеры поддерживающие это: swaret , slapt-get (используется в Salix OS по умолчанию) . Работать такие пакетные менеджеры конечно будут,только при наличии информации о зависимостях в репозитории (например репозитории Salix'а). Но пакетов (и репозиториев таких ) весьма не много.
5. Слак билды и программа для управления ими sbopkg (есть псевдографическая морда). Скрипты для сборки пакетов как в Achlinux PKGBUILD, EBUILD в Gentoo. https://ru.wikipedia.org/wiki/SlackBuilds.org
Очень хорошая документация к ним на сайте slackbuilds.org. В плоть до фраз типа- "если хотите это , то допишите то-то"
Так же хочу добавить, что как оказалось в процессе использования Slackware, установка зависимостей не так и сложна. Конечно во первых я установил полный 1 DvD Slackware64 - там уже они были все удовлетворены. Во вторых в слакбилдах в READMY в строке REQUIRES стало обязательным указывать нужные для этой программы зависимости. В третьих они не такие ветвистые и глубокие как в других дистрибьютивах. Ну и еще есть утилиты sbbdep и ldd (штатная) анализируюие зависимости установленных пакетов .
Я беру пакеты из оф репозитория Патрика, Alien'a и сайта slackbuilds.org , пока там находились все программы которыми я пользуюсь.
Полезные репозитории:
Пакеты:
http://taper.alienbase.nl/mirrors/people/alien/sbrepos/14.1/x86_64 - от Alien'a
http://ponce.cc/slackware/slackware64-14.1/packages/ - сам не пользовался
http://repository.slacky.eu/slackware-14.1/ - сам не пользовался
Slackbuilds:
https://slackbuilds.org/ - самый популярный
http://www.slackware.com/~alien/ - слак билды от Alien'a
https://github.com/nonstop/slackbuilds - то же нашел на просторах интернет, сам не пользовался
Пофайловые списки установленного в систему из пакетов и установочные сценарии: /var/log/{packages,scripts}/ в том числе для удалённых из системы пакетов и установочные сценарии: /var/log/removed_{packages,scripts}/
PS:
После прочтения моего поста рекомендую посмотреть топик на форуме:
http://unixforum.org/index.php?showtopic=131326
http://unixforum.org/index.php?showtopic=131326&st=90&p=1279178&#entry1279178 - поиск зависимостей в пакетах
Так же, в этом дистрибьютиве, куча информации помимо ман страниц, содержится в /usr/doc , и у многих скриптов отличные комментарии - гуглить приходится очень редко.
Вопреки распростаненному мнению, что в slackware нету пакетного менеджера могу сказать, что он есть, и даже не один. Разберем все по порядку.
1. Пакет pkgtools содержит базовый пакетный менеджер Slackware: утилиты installpkg, removepkg, upgradepkg, makepkg, explodepkg и pkgtool. Назначение каждой понятно из названия. Помимо установки/удаления пакетов поддерживает
а) просмотр списка файлов, установленных из пакета packagename (по сути less /var/log/packages/packagename),
б) повторное выполнение отдельных установочных сценариев (тех, что ставятся в /var/log/setup/), среди них настройка времени, lilo, мыши, сети, сервисов, шрифта консоли, и т.п. (при установке системы вы видели именно их работу).
Все они работают локально с локальными файлами пакетов, removepkg умеет удалять по имени пакета (полному или родовому).
Именно они обеспечивают ведение лоальной базы установленных, удаленных, обновленных пакетов
(/var/log/{packages,scripts,removed_packages,removed_scripts}).
т.е. поиск по установленным пакетам команда
ls /var/log/packages/ | grep openjdk
Все прочие инструменты для установки/удаления пакета используют средства pkgtools.
2. slackpkg - поддерживает работу с сетевым репозиторием (одним),искать по пакетам, обновлять,устанавливать пакеты. Обновлять полностью систему.
3. slackpkg+ - как бы плагин к slackpkg, добавляет поддержку нескольких репозиториев, их приоритеты, удобное добавление поддержки мультилиб (поддержка выполнения 32х разрядных программ в 64х битной системе ) . Хорошая статья от Алиена - http://alien.slackbook.org/blog/introducing-slackpkg-an-extension-to-slackpkg-for-3rd-party-repositories/
4. Все, что описано выше не поддерживает автоматическое разрешение зависимостей, но написаны пакетные менеджеры поддерживающие это: swaret , slapt-get (используется в Salix OS по умолчанию) . Работать такие пакетные менеджеры конечно будут,только при наличии информации о зависимостях в репозитории (например репозитории Salix'а). Но пакетов (и репозиториев таких ) весьма не много.
5. Слак билды и программа для управления ими sbopkg (есть псевдографическая морда). Скрипты для сборки пакетов как в Achlinux PKGBUILD, EBUILD в Gentoo. https://ru.wikipedia.org/wiki/SlackBuilds.org
Очень хорошая документация к ним на сайте slackbuilds.org. В плоть до фраз типа- "если хотите это , то допишите то-то"
Так же хочу добавить, что как оказалось в процессе использования Slackware, установка зависимостей не так и сложна. Конечно во первых я установил полный 1 DvD Slackware64 - там уже они были все удовлетворены. Во вторых в слакбилдах в READMY в строке REQUIRES стало обязательным указывать нужные для этой программы зависимости. В третьих они не такие ветвистые и глубокие как в других дистрибьютивах. Ну и еще есть утилиты sbbdep и ldd (штатная) анализируюие зависимости установленных пакетов .
Я беру пакеты из оф репозитория Патрика, Alien'a и сайта slackbuilds.org , пока там находились все программы которыми я пользуюсь.
Полезные репозитории:
Пакеты:
http://taper.alienbase.nl/mirrors/people/alien/sbrepos/14.1/x86_64 - от Alien'a
http://ponce.cc/slackware/slackware64-14.1/packages/ - сам не пользовался
http://repository.slacky.eu/slackware-14.1/ - сам не пользовался
Slackbuilds:
https://slackbuilds.org/ - самый популярный
http://www.slackware.com/~alien/ - слак билды от Alien'a
https://github.com/nonstop/slackbuilds - то же нашел на просторах интернет, сам не пользовался
Пофайловые списки установленного в систему из пакетов и установочные сценарии: /var/log/{packages,scripts}/ в том числе для удалённых из системы пакетов и установочные сценарии: /var/log/removed_{packages,scripts}/
PS:
После прочтения моего поста рекомендую посмотреть топик на форуме:
http://unixforum.org/index.php?showtopic=131326
http://unixforum.org/index.php?showtopic=131326&st=90&p=1279178&#entry1279178 - поиск зависимостей в пакетах
Так же, в этом дистрибьютиве, куча информации помимо ман страниц, содержится в /usr/doc , и у многих скриптов отличные комментарии - гуглить приходится очень редко.
Комментариев нет:
Отправить комментарий