Менеджер пакетов pkgng FreeBSD 8.4 (pkg_* -> pkg)

Категория: / DEV Блог / Сервер (FreeBSD)
Система FreeBSD8.3

1. Переход на пакетный менеджер pkgng

На старом сервере при установке пакета увидел сообщение -
pkg_install EOL is scheduled for 2014-09-01. Please consider migrating to pkgng
--> решил обновить пакетный менеджер.

cd /usr/ports/ports-mgmt/pkg
make install clean


Добавим в /etc/make.conf опцию WITH_PKGNG=YES

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


Теперь нам нужно сконвертировать старую индексную базу портов в новый формат
(If you are upgrading from the old package format, first run: pkg2ng)

pkg2ng
 
Converting packages from /var/db/pkg
...


Окей, пробуем обновить индекс

pkg update -f
 
Updating repository catalogue
No valid repository found.


Для 8.4 был пропущен апдейт

# патчим систему
fetch http://security.FreeBSD.org/patches/EN-14:03/pkg-en-releng-8.4.patch
fetch http://security.FreeBSD.org/patches/EN-14:03/pkg-en-releng-8.4.patch.asc
gpg --verify pkg-en-releng-8.4.patch.asc
cd /usr/src
patch < /path/to/patch
 
# ставим недостающие ключи и конфиг
cd /usr/src/etc/pkg
mkdir -p /etc/pkg /usr/share/keys/pkg/trusted /usr/share/keys/pkg/revoked
make install
cd /usr/src/share/keys/pkg
make install
 
# Или прямо из исходников
 
cd /usr/src/etc/pkg && make && make install
cd /usr/src/share/keys && make && make install
 
# проверяем
# обновляем базу пакетов
pkg update
 
Updating FreeBSD repository catalogue...
[host.ru] Fetching meta.txz: 100%    968 B   1.0kB/s    00:01
[host.ru] Fetching packagesite.txz: 100%    5 MiB   1.8MB/s    00:03
Processing entries: 100%
FreeBSD repository update completed. 23799 packages processed.


Добавляем в make.conf т.к. WITHOUT_X11= уже не работает

OPTIONS_UNSET=X11 GUI CUPS EXAMPLES FONTCONFIG


Обновим все установленные пакеты

pkg upgrade


Аудит безопасности

# pkg audit -F
 
Fetching vuln.xml.bz2: 100%  541 KiB 554.9kB/s    00:01
tidy-lib-090315.c_2 is vulnerable:
tidy -- heap-buffer-overflow
CVE: CVE-2015-5523
CVE: CVE-2015-5522


Просмотр устаревших версий

pkg version -vRL=
 
v verbose
R remote
L= - !=
 
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
 
GeoIP-1.6.5                        <   needs updating (remote has 1.6.5_1)
ap22-mod_geoip2-1.2.8              <   needs updating (remote has 1.2.9_1)
ca_root_nss-3.18                   <   needs updating (remote has 3.18.1)
curl-7.41.0                        <   needs updating (remote has 7.42.1)


Полезные команды

# Файлы установленные пакетом
pkg info -l PKG_NAME
 
# Пакет, которому принадлжит файл
pkg which /path/to/file