FreeBSD: переход с pkg_install на pkgng Печать

Устанавливаем утилиту pkg:

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

Если у вас уже или ещё не работает make – можно установить пакетом:

1 # pkg_add -r pkg

В конце установки нам сообщат, что:

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

# pkg2ng

В файл make.conf добавляем указание использовать pkgng:

1 # echo 'WITH_PKGNG=YES' >> /etc/make.conf

ВАЖНО: следующий шаг необратим.

Далее – запускаем конвертацию базы портов:

01 # pkg2ng
02 Converting packages from /var/db/pkg
03 Converting libtool-2.4.2_3...
04 Installing libtool-2.4.2_3... done
05 Converting libiconv-1.14_3...
06 Installing libiconv-1.14_3... done
07 Converting mc-4.8.12_1...
08 ...
09 Installing libXaw-1.0.12_2,2... done
10 Analysing shared libraries, this will take a while... done

В целом – на этом переход можно считать завершённым.

Для примера – получение информации о пакете Dovecot 1.2:

01 # pkg info dovecot-1.2.17_1
02 dovecot-1.2.17_1
03 Name           : dovecot
04 Version        : 1.2.17_1
05 Installed on   : Tue May 27 16:49:55 EEST 2014
06 Origin         : mail/dovecot
07 Architecture   : freebsd:9:x86:32
08 Prefix         : /usr/local
09 Maintainer     : unknown
10 WWW            : http://www.dovecot.org/
11 Comment        : Secure and compact IMAP and POP3 servers
12 ...
13 Description    :
14 Dovecot is a secure and compact IMAP server which is in the early stages
15 of development. It supports Maildirs and mbox formats and much of the
16 IMAP v4 protocol including SSL/TLS. IPv6 support is also included.
17 Dovecot supports authentication with OpenLDAP, PostgreSQL, MySQL, vpopmail
18 and PAM.
19

Поиск устаревших пакетов:

1 # pkg version | grep "<"
2 vim-7.4.110                        <

Или так:

1 # pkg version -v | grep need
2 vim-7.4.110                        <   needs updating (port has 7.4.307)

Тогда как ранее это выполнялось практически такой же командой:

1 # pkg_version -v | grep need

Можно запустить portupgrade, что бы проверить что используется pkgng:

1 # portupgrade -n dovecot-1.2.17_1
2 --->  Session started at: Tue, 27 May 2014 17:11:27 +0300
3 [Reading data from pkg(8) ... - 407 packages found - done]
4 ** None has been installed or upgraded.
5 --->  Session ended at: Tue, 27 May 2014 17:11:27 +0300 (consumed 00:00:00)

Получить полную справку по командам:

1 # pkg help

Или по одной команде, например – version:

1 # pkg help version

Настройки pkgng хранятся в файле /usr/local/etc/pkg.conf, данные в котором записаны в формате YAML.

При первом запуске обновления локальной копии репозитория (да-да, теперь и FreeBSD работает с репозиториями) – будет получено сообщение об ошибке:

1 # pkg update -f
2 Updating repository catalogue
3 No valid repository found.

Копируем файл конфигурации:

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

Для указания главного (или – основного) репозитория – в файл достаточно добавить строку:

1 # 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, там в конце есть несколько примеров.

Ещё раз запускаем обновление:

1 # pkg update -f
2 pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file
3 Updating repository catalogue
4 pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http://
5 digests.txz                                                                                                                                  100% 1094KB 364.5KB/s 773.6KB/s   00:03
6 pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http://
7 packagesite.txz                                                                                                                              100% 5043KB 504.3KB/s   1.1MB/s   00:10
8 Incremental update completed, 23386 packages processed:
9 0 packages updated, 0 removed and 23386 added.

Ещё одна новая и весьма приятная возможность pkg – проверка установленных портов на наличие известных уязвимостей:

1 # pkg audit -F
2 pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file
3 vuln.xml.bz2                                                                                                                                 100%  440KB 219.8KB/s 389.7KB/s   00:02
4 0 problem(s) in the installed packages found.

Обновлено 13.10.2016 23:03
 

Добавить комментарий

Защитный код
Обновить