Стандартная процедура установки программного обеспечения сторонних разработчиков на UNIX(R)-систему выглядит примерно так:
Загрузка программного обеспечения, которое может распространяться в форме исходных текстов или двоичных файлов.
Распаковка программного обеспечения из дистрибутивного формата (обычно tar-архива, сжатого при помощи compress(1), gzip(1) или bzip2(1)).
Поиск документации в файлах
INSTALL
, README
или в каком-то файле из подкаталога doc/
и её
чтение в поиске описания установки программного обеспечения.
Если программное обеспечение распространялось в форме исходных
текстов, его компиляция. Сюда может быть включено редактирования
файла Makefile
, запуск скрипта
configure
и другие работы.
Тестирование и установка программного обеспечения.
Если вы устанавливаете программный пакет, который не был специально перенесён на FreeBSD, то вам может даже потребоваться редактировать код для того, чтобы он нормально заработал.
FreeBSD предоставляет две технологии, которые выполняют эту работу за вас. На момент написания таким образом доступно более 24,000 сторонних приложений.
Каждый пакет содержит уже откомпилированные копии всех команд приложения, а также все конфигурационные файлы и документацию. С файлом пакета можно работать командами управления пакетами FreeBSD, такими как pkg_add(1), pkg_delete(1), pkg_info(1) и так далее.
Каждый порт FreeBSD является набором файлов, предназначенных для автоматизации процесса компиляции приложения из исходного кода. Файлы, из которых состоит порт, содержат всю необходимую информацию для выполнения автоматической загрузки, извлечения, применения патчей, компиляции и установки приложения.
Также система портов может использоваться для генерации пакетов, которые в последствии становятся объектом работы для команд управления пакетами FreeBSD.
Как пакеты, так и порты принимают во внимание зависимости. Если при инсталляции приложения при помощи pkg_add(1) или Коллекции Портов будет обнаружено, что необходимая библиотека не была установлена, то первым делом будет выполнена установка библиотеки.
Несмотря на то, что обе технологии весьма похожи, и пакеты, и порты имеют свои преимущества. Выберите технологию, которая соответствует вашим требованиям к установке конкретного приложения.
Сжатый tar-архив пакета обычно меньше, чем сжатый tar-архив, содержащий исходный код приложения.
Пакеты не требуют времени на компиляцию. Для больших приложений, таких как Mozilla, KDE или GNOME, это может быть важно, особенно при работе на медленной системе.
Пакеты не требуют понимания процесса компиляции программного обеспечения во FreeBSD.
Пакеты обычно компилируются с консервативными параметрами, потому что они должны работать на максимальном количестве систем. При установке из порта становится возможным изменение опций компиляции.
Некоторые приложения имеют опции времени компиляции, позволяющие определять необходимые функциональные возможности. К примеру, Apache может быть настроен с широким набором различных опций.
В некоторых случаях для одного и того же приложения будут
иметься несколько пакетов с разными предварительными настройками.
Например, Ghostscript доступен как
пакет ghostscript
и как пакет
ghostscript-nox11
- в зависимости от того,
установлен ли сервер X11.
Создание нескольких пакетов одного приложения быстро становится
бессмысленным, если приложение имеет более одного-двух
параметров компиляции.
Условия лицензирования некоторого программного обеспечения запрещают распространение в двоичном виде. Оно должно распространяться в виде исходного кода и компилироваться конечным пользователем.
Некоторые пользователи не доверяют дистрибутивам в двоичном виде или предпочитают прочесть исходный код и попытаться найти потенциальные проблемы.
Если у вас есть собственные патчи, вам нужен исходный код для того, чтобы их применять.
Чтобы отслеживать обновления портов, подпишитесь на Список рассылки, посвящённый Портам FreeBSD и Список рассылки анонсов FreeBSD Ports.
Перед установкой любого приложения необходимо зайти на http://vuxml.freebsd.org/
, где находится информация
по вопросам безопасности приложений, или установить ports-mgmt/portaudit. После установки
наберите portaudit -F -a
для проверки всех
установленных приложений на наличие известных уязвимостей.
В оставшейся части главы будет рассказано, как использовать пакеты и порты для установки и управления программным обеспечением сторонних разработчиков во FreeBSD.
Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.