Во FreeBSD есть несколько утилит для управления пакетами:
Для установки, удаления и получения перечня установленных
пакетов на работающей системе может быть запущена утилита
sysinstall. Обратитесь к Раздел 2.10.10, <<Установка пакетов (Install Packages)>> за более детальной информацией.
Утилиты командной строки для управления пакетами, которые являются темой данного раздела.
Для установки бинарного пакета FreeBSD из локального файла или с сервера в сети используйте pkg_add(1).
#ftp -aConnected to ftp2.FreeBSD.org. 220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready. 331 Guest login ok, send your email address as password. 230- 230- This machine is in Vienna, VA, USA, hosted by Verio. 230- Questions? E-mail freebsd@vienna.verio.net. 230- 230- 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files.ftp2.FreeBSD.orgftp>cd /pub/FreeBSD/ports/packages/sysutils/250 CWD command successful.ftp>get lsof-4.56.4.tgzlocal: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz 200 PORT command successful. 150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes). 100% |**************************************************| 92375 00:00 ETA 226 Transfer complete. 92375 bytes received in 5.60 seconds (16.11 KB/s)ftp>exit#pkg_addlsof-4.56.4.tgz
Если у вас нет источника пакетов, например, такого как набор
CD-ROM дисков с FreeBSD, то добавьте опцию -r для
pkg_add(1). Утилита автоматически определит правильный формат
объектных файлов и релиз, а затем загрузит и установит пакет с сервера
FTP без какого-либо дополнительного взаимодействия с
пользователем.
#pkg_add -rlsof
Чтобы задействовать альтернативное зеркало пакетов FreeBSD,
укажите его адрес в переменной окружения PACKAGESITE.
Для загрузки файлов утилита pkg_add(1) использует fetch(3).
Последняя учитывает значения различных переменных окружения, включая
FTP_PASSIVE_MODE, FTP_PROXY и
FTP_PASSWORD. Если вы находитесь за сетевым экраном,
или для работы с FTP/HTTP вам необходимо использовать прокси, то
определите соответствующие переменные. Обратитесь к справочной
странице по fetch(3) для получения полного списка переменных.
Заметьте, что в примере выше вместо
lsof-4.56.4 используется lsof.
В случае загрузки из сети номер версии в имени пакета должен быть
опущен.
Если вы используете FreeBSD-CURRENT или FreeBSD-STABLE, то утилита
pkg_add(1) загрузит последнюю версию устанавливаемой программы.
Если же вы используете версию -RELEASE, то pkg_add(1) установит
версию пакета, который был собран для конкретного релиза. Это
поведение возможно изменить переопределив значение
PACKAGESITE. Например, в системе
FreeBSD 8.1-RELEASE pkg_add(1) по умолчанию попытается
скачать пакеты с
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/.
Чтобы обязать pkg_add(1) загружать пакеты для
FreeBSD 8-STABLE, присвойте PACKAGESITE значение
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/.
Файлы пакетов распространяются в форматах .tgz
и .tbz. Пакеты находятся по адресу ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages или
в каталоге /packages дистрибутива FreeBSD на DVD.
Структура каталогов с пакетами подобна тому, как организовано дерево
/usr/ports. Каждая категория имеет собственный
каталог, и каждый пакет помещается в каталог
All.
Для вывода перечня установленных пакетов и их описаний может быть задействована pkg_info(1).
#pkg_infocolordiff-1.0.13 A tool to colorize diff output docbook-1.2 Meta-port for the different versions of the DocBook DTD ...
Утилита pkg_version(1) выводит отчёт о версиях всех установленных пакетов и сравнивает их версии с текущими версиями соответствующих приложений, доступных из локального дерева портов.
#pkg_versioncolordiff = docbook = ...
Символы во второй колонке указывают сравнительную разницу в возрасте установленной версии и версии, находящейся в локальном дереве портов.
| Символ | Значение |
|---|---|
| = | Версия установленного пакета соответствует версии, находящейся в локальном дереве портов. |
| < | Версия установленного пакета старее, чем та, что имеется в локальном дереве портов. |
| > | Версия установленного пакета новее чем та, что есть в дереве портов. Скорее всего, локальное дерево портов устарело. |
| ? | В индексном файле портов установленный пакет не найден. Это может случиться если установленный порт был переименован или удалён из Коллекции Портов. |
| * | Имеется несколько версий пакета. |
| ! | Установленный пакет есть в индексном файле, но по
какой-то причине утилите pkg_version не
удалось сравнить номер версии установленного пакета
и соответствующей записи в файле. |
Для удаления ранее установленных пакетов с программным обеспечением используйте утилиту pkg_delete(1).
#pkg_deletexchat-1.7.1
Следует отметить, что для pkg_delete(1) требуется полное
имя пакета и номер версии; вышеприведенная команда не сработала бы,
если б ей было указано xchat вместо
xchat-1.7.1. Для нахождения версии
установленного пакета задействуйте утилиту pkg_version(1). Или
же, напечатайте групповой символ (wildcard) вместо номера
версии:
#pkg_deletexchat\*
в этом случае будут удалены все пакеты, имена которых начинаются
на xchat.
Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.