Вместе с FreeBSD в составе базового комплекта системы поставляется богатый набор системных утилит. Однако, очень скоро возникает необходимость в установке дополнительных приложений сторонних разработчиков.
FreeBSD даёт две взаимодополняющих технологии для установки программного обеспечения сторонних разработчиков в вашу систему:
- Коллекция Портов FreeBSD
- Бинарные пакеты с программным обеспечением
Любая из этих систем может быть использована для установки самых последних версий ваших любимых приложений с локальных носителей или прямо из сети.
На вопрос «Что такое порты и пакеты?» вам поможет статья BSD vs Linux. Что такое «Порт»?.
Кратко – пакеты это уже скомпилированное и сконфигурированное ПО.
Порт – это набор исходных текстов ПО и инструкция по их сборке. Кроме того, при установке из портов вы можете самостоятельно выбирать конфигурацию порта ту, которая требуется именно под ваши нужны.
К тому же, как правило в портах находятся более новые версии ПО, чем в пакетах.
Содержание
Пакеты
Установка пакета
# pkg_add -r название_пакета
где «-r» означает «remote», т.е. будет качаться с интернета.
Список установленных пакетов
# pkg_info
или информация о пакете
# pkg_info название_пакета
Удаление пакета
# pkg_delete название_пакета
Версия пакета
# pkg_version название_пакета
Поиск установленного пакета по части имени:
# pkg_info | grep название_пакета
к примеру:
# pkg_info |grep cla
clamav-0.97.3_1
Порты
Установка
# make install
Повторный вывод послеустановочной информации:
# pkg_info имя_пакета -D messagewall
Очень полезный ключ -L, выводит полный путь для каждого файла, который
был установлен для приложения:
# pkg_info имя_пакета -L
Что бы не смотреть все файлы, можно сделать выборку, например – страницы man:
# pkg_info -xL portupgrade | grep man
Проверка, какие пакеты зависят от выбранного:
# pkg_info имя_пакета
-R
Проверка, сколько места занимает каждый из пакетов:
# pkg_info -as
Переустановка
# make reinstall
Удаление
# make deinstall
Очистка от промежуточных сборок
# make clean
Очистка от скачанных файлов
# make distclean
Предустановочная настройка (иначе установка будет производится по сохраненной при предыдущей сборке конфигурации)
# make rmconfig
и
# make config
Поиск порта по ключу
# make search key=КЛЮЧ
Поиск порта по названию
# make search name=ИМЯ
Это основные команды, более подробно на официальной странице руководства по FreeBSD
После установки ПО
Если вы используете оболочку sh – выполните «rehash», для того, чтобы не писать полный путь /path/to/program, а использовать сразу program:
# rehash
Обновления дерева портов
Утилита portsnap включена в состав базового дистрибутива с FreeBSD 6.0, для более ранних версий необходима установка (/usr/ports/sysutils/portsnap/).
При первом обновлении необходимо выполнить следующие команды:
# portsnap fetch && portsnap extract
При последующих обновлениях
# portsnap fetch update
Пример,
# cd /usr/ports/
portsnap fetch && portsnap extract
Более подробно тут.
Для ежедневного (каждую ночь в 03:00) обновления упакованного снимка и индексного файла при помощи portsnap и последующего отчета почтой об устаревших установленных пакетах добавьте в ваш файл /etc/crontab строку
0 3 * * * root portsnap cron && pkg_version -vIL=
Подробности можно почитать тут
Обновление пакетов
Утилиту portupgrade надо сначала установить.
# cd /usr/ports/sysutils/portupgrade/
make install clean
Обновление
# portupgrade название_программы
Используйте portupgrade pkgname, с флагом -r, если portupgrade должен обновить все пакеты, которые зависят от указанного, и использовать флаг -R для обвления всех пакетов, которые требуют указанный пакет.
Ёще рекомендую сайт www.freshports.org для поиска пакетов и портов.
Более подробно о portupgrade тут, тут и тут.