Содержание
Новый менеджер пакетов во FreeBSD
История
Стандартный менеджер пакетов, используемый до настоящего времени в ОС FreeBSD, давно перестал удовлетворять современным требованиям. Он имеет ряд существенных недостатков, которые затрудняют поддержку входящих в него утилит (pkg_*). Перечислим наиболее значимые из них:
- Отсутствует поддержка обновления.
- Отсутствует поддержка альтернативных репозиториев.
- Нет нормального разрешения зависимостей.
Уже несколько лет ведется разработка нового пакетного менеджера pkg (=pkgng), первый релиз которого вышел 31.08.2012г.
Он устраняет недостатки предыдущего менеджера, поэтому именно его в дальнейшем планируется сделать менеджером пакетов по умолчанию. В настоящее время он доступен из системы портов по крайней мере с версии 9.0.
Краткое руководство
Установка
В FreeBSD 9.1-RELEASE нужно запустить pkg:
epsilon# pkg
и согласиться с тем, что его нужно установить.
Альтернативные варианты. Из портов:
epsilon# cd /usr/ports/ports-mgmt/pkg && make install clean
или при помощи текущего менеджера пакетов:
epsilon# pkg_add -r pkg
Настройка
После установки необходимо настроить менеджер пакетов. Файл настроек может выглядеть примерно так:
epsilon# cat /usr/local/etc/pkg.conf PACKAGESITE : http://pkgbeta.freebsd.org/freebsd-9-amd64 PKG_DBDIR : /var/db/pkg PKG_CACHEDIR : /var/cache/pkg PORTSDIR : /usr/ports HANDLE_RC_SCRIPTS : NO PKG_MULTIREPOS : NO ASSUME_ALWAYS_YES : NO SYSLOG : YES SHLIBS : NO AUTODEPS : NO
В качестве PACKAGESITE можно указывать адрес либо официального репозитория пакетов, либо частного (например, своего), репозитория. Хотя бы даже так, если сильно надо ( об утилите poudriere см. на сайте):
PACKAGESITE : file:///usr/local/poudriere_data/packages/FBSD91amd64-default
Остальные настройки можно взять из /usr/local/etc/pkg.conf.sample по умолчанию.
Если до этого использовался старый менеджер пакетов, то нужно сделать миграцию на новый:
epsilon# pkg2ng
Использование
Использование начинаем с получения базы данных с репозитория:
epsilon# pkg update
После этого можно полноценно пользоваться менеджером. Лучше начать с команды
epsilon# pkg help
Она выведет перечень доступных команд и формат команды. С ее же помощью можно узнать о формате команд следующего уровня. Например,
epsilon# pkg help info
Эта команда выведет ту же информацию, что и
epsilon# man pkg-info
Чтобы обновить установленные пакеты в автоматическом режиме, выполним
epsilon# pkg upgrade
Чтобы установить новый пакет или обновить старый, выполним
epsilon# pkg install <имя_пакета>
Ссылки
Более полную информацию о pkg можно найти на вики-странице FreeBSD.