Новый менеджер пакетов во 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.

freebsd/pkgng.txt · Последние изменения: 03.01.2013 21:52:36 — Ладилова Анна
Наверх
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0