Как известно, во FreeBSD можно использовать пакеты как бинарные, так и собранные из исходных кодов при помощи портов. Устройство портов за последнее время ничем не изменилось. А вот на смену утилитам для управления бинарными пакетами pkg_add, pkg_info и прочим pkg_* в последних версиях FreeBSD пришел новый пакетный менеджер pkg (также известный как pkgng ). Данная небольшая заметка рассказывает о том, как им пользоваться.
Примечание: Узнать о том, как во FreeBSD раньше происходило управление бинарными пакетами, и о том, как пользоваться портами, вы можете из заметки Установка и обновление софта во FreeBSD . Не исключаю также, что вас могут заинтересовать статьи Использование FreeBSD на десктопе, версия 2.0 и Памятка по обновлению ядра и мира FreeBSD .
Итак, при первом запуске pkg без параметров вы скорее всего увидите такое сообщение:
Do you want to fetch and install it now? [y/N]:
Отвечаем утвердительно, и ждем, пока pkg установится.
Затем читаем справку:
Посмотреть справку по конкретной команде можно так:
Обновляем информацию о доступных пакетах:
Смотрим список установленных пакетов:
Обновляем установленные пакеты:
Ищем пакет по названию:
Установка пакета/пактетов и всех его/их зависимостей:
pkg install git-lite vim-lite sudo
Удаляем пакет:
Удаляем пакеты, которые больше не нужны:
Смотрим, к какому пакету относится файл:
Посмотреть полный список файлов в пакете можно так:
Загружаем базу известных уязвимостей:
Проверяем установленные пакеты на предмет наличия известных уязвимостей, с ссылками на подробные отчеты:
Проверяем все установленные пакеты на предмет валидности контрольных сумм входящих в пакеты файлов:
Проверяем все установленные пакеты на предмет отсутствия требуемых зависимостей:
Удаляем из кэша старые пакеты:
Смотрим статистику:
Запрещаем/разрешаем обновление конкретного пакета:
pkg unlock syncthing
Посмотреть список «залоченых» пакетов:
Откатиться к более старой версии пакета:
sudo pkg install / var / cache / pkg / chromium-51.0.2704.106_2.txz
В целом я хочу сказать, что управление пакетами во FreeBSD стало намного лучше, чем оно было раньше. Прям действительно есть нормальный пакетный менеджер, не только не уступающий линуксовым Yum и Apt , но в чем-то даже и превосходящих их. Например, интерфейс у pkg прост, понятен и единообразен, чего уж точно нельзя сказать об Apt. Пакеты весьма свежие. Например, когда я разбирался с pkg, с его помощью можно было установить последний на тот момент Go версии 1.5, а в Ubuntu из коробки был доступен только древнейший Go 1.2. Аналога pkg audit
в мире дистрибутивов Linux мне вот так с лету и вовсе неизвестно.
Все подробности, как обычно, в man pkg
. А как вам новый пакетный менеджер FreeBSD?