Во FreeBSD версии 9.1 и выше утилиты семейства pkg_*
(такие как pkg_install, pkg_add, pkg_create, pkg_delete, pkg_info, pkg_updating
и pkg_version
) были заменены на один инструмент – pkgng
(Package New Generation
n).
При использовании старой утилиты pkg_install
– система постоянно напоминает об этом:
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-the-old-pkg_-tools/
If you do not want to see this message again set NO_WARNING_PKG_INSTALL_EOL=yes in your make.conf
Откладывание обновления системы и так уже привело к нескольким проблемам, например – «/usr/ports/Mk/bsd.sites.mk», line 958: Malformed conditional, и Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports./i386/packages-9.0-release/
Перед обновлением системы с 9.0 до 9.2 – было решено всё-таки сначала обновить систему портов.
Устанавливаем утилиту pkg
:
# cd /usr/ports/ports-mgmt/pkg && make install clean
Если у вас уже или ещё не работает make
– можно установить пакетом:
# pkg_add -r pkg
В конце установки нам сообщат, что:
If you are upgrading from the old package format, first run:
# pkg2ng
В файл make.conf
добавляем указание использовать pkgng
:
# echo 'WITH_PKGNG=YES' >> /etc/make.conf
ВАЖНО: следующий шаг необратим.
Далее – запускаем конвертацию базы портов:
# pkg2ng Converting packages from /var/db/pkg Converting libtool-2.4.2_3... Installing libtool-2.4.2_3... done Converting libiconv-1.14_3... Installing libiconv-1.14_3... done Converting mc-4.8.12_1... ... Installing libXaw-1.0.12_2,2... done Analysing shared libraries, this will take a while... done
В целом – на этом переход можно считать завершённым.
Для примера – получение информации о пакете Dovecot 1.2
:
# pkg info dovecot-1.2.17_1 dovecot-1.2.17_1 Name : dovecot Version : 1.2.17_1 Installed on : Tue May 27 16:49:55 EEST 2014 Origin : mail/dovecot Architecture : freebsd:9:x86:32 Prefix : /usr/local Maintainer : unknown WWW : http://www.dovecot.org/ Comment : Secure and compact IMAP and POP3 servers ... Description : Dovecot is a secure and compact IMAP server which is in the early stages of development. It supports Maildirs and mbox formats and much of the IMAP v4 protocol including SSL/TLS. IPv6 support is also included. Dovecot supports authentication with OpenLDAP, PostgreSQL, MySQL, vpopmail and PAM. WWW: http://www.dovecot.org/
Поиск устаревших пакетов:
# pkg version | grep "<" vim-7.4.110 <
Или так:
# pkg version -v | grep need vim-7.4.110 < needs updating (port has 7.4.307)
Тогда как ранее это выполнялось практически такой же командой:
# pkg_version -v | grep need
Можно запустить portupgrade
, что бы проверить что используется pkgng
:
# portupgrade -n dovecot-1.2.17_1 ---> Session started at: Tue, 27 May 2014 17:11:27 +0300 [Reading data from pkg(8) ... - 407 packages found - done] ** None has been installed or upgraded. ---> Session ended at: Tue, 27 May 2014 17:11:27 +0300 (consumed 00:00:00)
Получить полную справку по командам:
# pkg help
Или по одной команде, например – version
:
# pkg help version
Настройки pkgng
хранятся в файле /usr/local/etc/pkg.conf
, данные в котором записаны в формате YAML.
При первом запуске обновления локальной копии репозитория (да-да, теперь и FreeBSD работает с репозиториями) – будет получено сообщение об ошибке:
# pkg update -f Updating repository catalogue No valid repository found.
Копируем файл конфигурации:
# cp /usr/local/etc/pkg.conf.sample /usr/local/etc/pkg.conf
Для указания главного (или – основного) репозитория – в файл достаточно добавить строку:
# echo "PACKAGESITE: http://pkgbeta.freebsd.org/freebsd:9:x86:32/latest/" >> /usr/local/etc/pkg.conf
Хотя PACKAGESITE
уже считается устаревшей опцией.
Найти URL можно зайдя на страницу http://pkgbeta.freebsd.org/ и выбрав нужную версию FreeBSD и архитектуру.
Можно создать несколько репозиториев – смотрите man pkg.conf
, там в конце есть несколько примеров.
Ещё раз запускаем обновление:
# pkg update -f pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file Updating repository catalogue pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http:// digests.txz 100% 1094KB 364.5KB/s 773.6KB/s 00:03 pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http:// packagesite.txz 100% 5043KB 504.3KB/s 1.1MB/s 00:10 Incremental update completed, 23386 packages processed: 0 packages updated, 0 removed and 23386 added.
Ещё одна новая и весьма приятная возможность pkg – проверка установленных портов на наличие известных уязвимостей:
# pkg audit -F pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file vuln.xml.bz2 100% 440KB 219.8KB/s 389.7KB/s 00:02 0 problem(s) in the installed packages found.
Ссылки по теме:
http://www.maxblogs.ru
https://wiki.freebsd.org
http://www.freebsd.org
https://mebsd.com
https://lists.freebsd.org