Содержание
Введение в порты 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 |
“Список установки”, в котором перечислены все файлы, которые необходимо установить, а также ключевые слова, сообщающие системе портов о том, что нужно делать в случае деинсталляции порта. |
Comments: