====== Новый менеджер пакетов во FreeBSD ====== ===== История ===== Стандартный [[http://www.freebsd.org/doc/ru/books/handbook/ports-overview.html|менеджер пакетов]], используемый до настоящего времени в ОС 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 см. на [[http://fossil.etoilebsd.net/poudriere/doc/trunk/doc/index.wiki|сайте]]): 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 можно найти на [[http://wiki.freebsd.org/pkgng|вики-странице FreeBSD]].