Pkgng - замена штатного пакетного менеджера

Версия для печатиОтправить другуPDF version

Обратил внимание, что при установке софта на FreeBSD, в первую очередь отображается предупреждение, а потом уже только начинается установка. Текст предупреждения следующий:

/!\ WARNING /!\
pkg_install EOL is scheduled for 2014-09-01. Please consider migrating to pkgng
http://blogs.freebsdish.org/portmgr/2014/02/03/time-to-bid-farewell-to-t...
If you do not want to see this message again set NO_WARNING_PKG_INSTALL_EOL=yes in your make.conf

Соответственно решил поинтересоваться этим вопросом...

Итак, пакетный менеджер, используемый во FreeBSD вплоть до FreeBSD 10.0, был написан в начале 90'ых на СИ Джорданом Хаббардом и на то время был революционным шагом - легкий, быстрый, надежный и простой. Однако, современные условия выдвигают новые требования, что и послужило толчком для создания нового пакетного менеджера, дабы прекратить споры и разногласия среди разработчиков и сообщества FreeBSD, которые ведутся уже довольно давно.

Pkgng — это усовершенствованный инструмент, пришедший на смену традиционным утилитам управления пакетами FreeBSD. Он обладает множеством функциональных возможностей, ускоряющих и облегчающих работу с бинарными пакетами. Первый релиз pkgng состоялся в августе 2012 года. Pkgng не является заменой для утилит управления портами, таких как ports-mgmt/portmaster или ports-mgmt/portupgrade. В то время, как ports-mgmt/portmaster и ports-mgmt/portupgrade позволяют устанавливать приложения сторонних разработчиков как из бинарных пакетов, так и из коллекции портов, утилита pkgng дает возможность устанавливать приложения исключительно из бинарных пакетов.

Начиная с FreeBSD 9.1, в систему включена программа "самонастройки" ("bootstrap") pkgng. Она скачивает и устанавливает основную утилиту pkgng.

Начиная с FreeBSD 10.0 используется уже новый пакетный менеджер pkgng (Next Generation Package Management Tool).

Для более ранних версий FreeBSD утилиту pkgng необходимо установить из коллекции портов или из бинарных пакетов.

Конечно, можно просто отключить уведомление, добавив опцию NO_WARNING_PKG_INSTALL_EOL=yes в make.conf и использовать старый пакетный менеджер. Однако более правильно будет обновиться.

Рассмотрим оба варианта - установка из системы портов и использование программы самонастройки.

 

Установка pkgng из системы портов

Система, на которой будем выполнять обновление пакетного менеджера:

# uname -srm
FreeBSD 9.0-RELEASE amd64

Выполним установку из системы портов:

# cd /usr/ports/ports-mgmt/pkg && make install clean && rehash

По завершению уставновки будет выведено еще одно предупреждение:

If you are upgrading from the old package format, first run:

  # pkg2ng

Тоесть, необходимо выполнить преобразование базы данных установленых пакетов утилиты pkg_install к новому формату. Чтобы выполнить конвертирование, выполним команду pkg2ng:

# pkg2ng

ВАЖНО: Этот шаг необратим. После перевода базы данных установленных пакетов к формату pkgng утилитами pkg_install более пользоваться не следует.

Примечание: В процессе конвертирования базы данных установленных пакетов могут возникать сообщения об ошибках. На данном этапе их можно игнорировать, так как перечень программ сторонних разработчиков, информация о которых не была преобразована, будет перечислен по завершении работы pkg2ng. Над этим перечнем придется поработать вручную.

По завершению конвертации, указываем системе, что необходимо в работе использовать новый пакетный менеджер:

# echo 'WITH_PKGNG=yes' >> /etc/make.conf

Ну и последний штрих... Для предотвращения периодического ежедневного запуска скрипта автоматического копирования базы данных установленных пакетов pkg_install, необходимо добавить в periodic.conf переменную daily_backup_pkgdb_enable с значением NO:

# echo 'daily_backup_pkgdb_enable="NO"' >> /etc/periodic.conf

 

Использование программы самонастройки

Система, на которой будем выполнять обновление пакетного менеджера:

# uname -srm
FreeBSD 9.1-RELEASE-p5 amd64

Для запуска самонастройки необходимо выполнить команду pkg:

# /usr/sbin/pkg
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: у

Укажем системе, что необходимо в работе использовать новый пакетный менеджер:

# echo 'WITH_PKGNG=yes' >> /etc/make.conf

Выполним изменение pkg.conf, воспользовавшись предложенным примером:

# cp /usr/local/etc/pkg.conf.sample /usr/local/etc/pkg.conf

Для предотвращения периодического ежедневного запуска скрипта автоматического копирования базы данных установленных пакетов pkg_install, необходимо добавить в periodic.conf переменную daily_backup_pkgdb_enable с значением NO:

# echo 'daily_backup_pkgdb_enable="NO"' >> /etc/periodic.conf

 

Ваша оценка: Нет Средняя: 4.7 (11 голосов)

Вставай, Україно!

Литература