Материал просмотрен 2,013 раз(а)

Введение в порты FreeBSD

На данный момент мы знаем о существовании пакетов и инструментов, которые нам предлагает ОС FreeBSD для работы с ними. Существует и другой способ установки нового программного обеспечения – Порты (port).

Порты используются для компиляции программ прямо из исходного кода в ходе автоматической процедуры, которая делает процесс установки полностью защищённым, поскольку захватывает исходные коды прямо с сайта распространения данной программы.

Инсталляция порта позволяет также тысячам различных элементов программного обеспечения устанавливать все свои компоненты в подходящие места файловой системы FreeBSD, и при этом разработчикам вовсе не нужно беспокоиться об открытой поддержке структуры системы FreeBSD.

Это стало возможным благодаря широкому кругу лиц, сопровождающих свои программы, добровольцев среди пользователей FreeBSD, которые следят за изменениями в закреплённых за ними портах и поддерживают сценарии, корректирующие процедуры сборки и установки программ, после чего они могут стабильно работать в FreeBSD.

Таким образом, конечный порт представляет собой совокупность сценариев в одном файле, находящийся в специальном месте FreeBSD системы. Содержит в себе Makefile, который позволяет инсталлировать программу путём ввода команды make install. Остальная работа будет сделана за нас.

Дерево портов FreeBSD

Коллекция портов находится в каталоге /usr/ports

Лично мне удобней делать поиск нужной программы посредством утилиты whereis, о которой прочитать можно в статье про поиск файлов в FreeBSD.

Как ставить порты в FreeBSD

Ищем нужную нам программу по названию, например MC (файловый менеджер)

# whereis mc

Находим путь, по которому расположен нужный порт, переходим в этот каталог и запускаем установку

# make install

После непродолжительной установки (с выбором опций и компонентов) мы уже можем запускать установленную программу командой

# mc

Вот так всё просто.

Анатомия порта FreeBSD.

Каждый каталог порта имеет ряд файлов, общий размер которых не превышает нескольких килобайт. Эти файлы полностью определяют все настройки и модификации, которые необходимо сделать для только что загруженной порции исходного кода, чтобы его можно было без проблем скомпилировать и инсталлировать в FreeBSD.

Файл Назначение
Makefile Содержит некоторые переменные, используемые в процессе сборки, а также контактную информацию человека, поддерживающего порт.
README.html Содержит “краткое описание” порта в формате HTML
distinfo Контрольная сумма MD5, используемая для проверки аутентификации загруженного .tbz-файла.
files/ Патчи, применяемые к исходному коду после его распаковки, и вспомогательные файлы, спецефические для FreeBSD; в каждом отдельном порту они могут быть разными.
     runme.sh
     patch-aa
     patch.ab
pkg-comment “Краткое описание” порта.
pkg-descr “Длинное описание” порта, которое обычно включает URL-адрес сайта распространителя.
pkg-plist “Список установки”, в котором перечислены все файлы, которые необходимо установить, а также ключевые слова, сообщающие системе портов о том, что нужно делать в случае деинсталляции порта.