Так как работа с пакетами во FreeBSD переходит на рельсы pkg, буду в дальнейшем использовать его. Однако имея в арсенале привычный portupgrade, хочется использовать их и дальше. Как показала практика - все отлично работает, во всяком случае для окружения FreeBSD10 amd64 (куда я перевел все свои подчиненные сервера).
Итак, прежде всего устанавливаем pkg:
cd /usr/ports/ports-mgmt/pkg
make install clean
rehash
Конвертируем базу уже установленных пакетов:
pkg2ng
Сообщаем глобальной конфигурации флаг использования pkg добавив в /etc/make.conf строку:
WITH_PKGNG=yes
По умолчанию pkg в /usr/local/etc/rc.conf создает файл pkg.conf.sample из котрого в начальных версиях pkg надо было создавать свой pkg.conf. Однако сейчас этот файл не нужен вовсе. Для конфигурации используется FreeBSD.conf в /usr/local/etc/pkg/repos
Создаем требуемые директорию и файл:
mkdir -p /usr/local/etc/pkg/repos
cd /usr/local/etc/pkg/repos
touch FreeBSD.conf
Внутри файла записываем предварительную конфигурацию, которая должна работать в большинстве случаев:
FreeBSD: {
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
mirror_type: "srv",
enabled: true
}
Далее выполняем обновление репозтория:
pkg update
Обновляем pkgdb:
pkgdb -fu
Не забываем про обновление индекса портов локально
make -C /usr/ports index
или через закачку готового индекса онлайн
make -C /usr/ports fetchindex
Дальше через portversion -v проверяем нужно ли что то обновить и стандартно обновляем порты:
portupgrade -arR