Обратил внимание, что при установке софта на 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 |
Последние комментарии
21 неделя 6 дней назад
46 недель 16 часов назад
2 года 46 недель назад
3 года 16 недель назад
3 года 39 недель назад
4 года 2 недели назад
4 года 3 недели назад
4 года 6 недель назад
4 года 18 недель назад
4 года 22 недели назад