Коллекция портов FreeBSD — это система управления пакетами для операционной системы FreeBSD . По состоянию на февраль 2020 года в коллекции доступно более 38 487 портов [1] . Он также был принят NetBSD в качестве основы своей системы pkgsrc .
В коллекции портов используются файлы Makefile, расположенные в иерархии каталогов , поэтому программное обеспечение можно собирать , устанавливать и удалять с помощью команды make . При установке приложения требуется очень незначительное (если вообще требуется) вмешательство пользователя после ввода начальной команды, такой как make install или make install clean, в каталоге портов нужного приложения . В большинстве случаев программное обеспечение автоматически загружается из Интернета , при необходимости исправляется и настраивается , затем компилируется , устанавливается и регистрируется в базе данных пакета. Если новый порт имеет необходимые зависимости от других приложений или библиотек, они устанавливаются заранее автоматически.
Для большинства портов уже настроены параметры по умолчанию , которые в целом считаются подходящими для большинства пользователей. Однако эти параметры конфигурации (называемые ручками ) иногда можно изменить перед установкой с помощью команды make config , которая вызывает текстовый интерфейс, позволяющий пользователю выбирать нужные параметры.
Исторически сложилось так, что каждый порт (или пакет программного обеспечения) обслуживался отдельным специалистом по сопровождению порта , который отвечает за обеспечение актуальности порта и обеспечение общей поддержки. Сегодня многие порты обслуживаются специальными целевыми группами или подпроектами, каждый из которых имеет специальный список рассылки (например, [email protected], [email protected] и т. д.), а необслуживаемые порты относятся к общей группеports@. FreeBSD.org. В общем, любой может стать сопровождающим портов, внеся в коллекцию свое любимое программное обеспечение. Можно также выбрать сохранение существующего порта без активного сопровождающего. [2]
Предварительно скомпилированные (двоичные) порты называются пакетами . Пакет можно создать из соответствующего порта с помощью команды make package ; предварительно собранные пакеты также доступны для загрузки из репозиториев пакетов, размещенных на FreeBSD. Пользователь может установить пакет, передав имя пакета команде установки pkg . При этом загружается соответствующий пакет для установленной версии FreeBSD , а затем устанавливается приложение, включая все возможные программные зависимости. По умолчанию пакеты загружаются из основного репозитория пакетов FreeBSD (pkg.freebsd.org), но если после обновления пакетов возникают какие-либо проблемы, предыдущая версия пакетов не может быть установлена, поскольку репозиторий запрещает индексирование подпапок. В этом случае пользователю необходимо обновить версию ОС до последней версии и установить последние пакеты.
FreeBSD поддерживает ферму сборки , называемую кластером Pointyhat , в которой собираются все пакеты для всех поддерживаемых архитектур и основных выпусков . Журналы сборки и известные ошибки для всех портов, встроенных в пакеты через кластер pointyhat, доступны в базе данных [3] , а журналы еженедельных сборок также доступны в архивах списков рассылки. [4]
Эти предварительно скомпилированные пакеты разделены на категории в зависимости от архитектуры, для которой они доступны. Пакеты далее разделяются на несколько каталогов «релизов», по одному для каждого текущего производственного выпуска, созданного из коллекции портов и поставляемого вместе с выпуском. Эти каталоги производственных выпусков никогда не обновляются.
Существуют также стабильные и текущие каталоги для нескольких основных веток выпусков. Они обновляются более или менее еженедельно. В большинстве случаев пакет, созданный для более старой версии FreeBSD, можно без труда установить и использовать в более новой системе, поскольку по умолчанию включена обратная двоичная совместимость между основными выпусками.
Названная система упаковки для бинарных пакетов [5]pkg
заменила систему управления пакетами во FreeBSD 10. [6]
Джордан Хаббард передал свои макросы make порта в репозиторий FreeBSD CVS 21 августа 1994 года. [7] Его набор Makefile для установки пакета был передан годом ранее (26 августа 1993 года). [8] Структура основных портов сначала поддерживалась Хаббардом вместе с Сатоши Асами в течение нескольких лет. Позже для решения этой задачи была сформирована Группа управления портами.
Коллекция портов NetBSD pkgsrc и OpenBSD уходит своими корнями в FreeBSD.
С момента своего выпуска проект 3.6 DragonFly BSD использует порты FreeBSD в качестве основы для собственной коллекции портов DPorts . Джон Марино из проекта DragonFly BSD создал репозиторий DeltaPorts — набор патчей и файлов, которые накладываются и изменяют порты FreeBSD для создания DPorts. [9] [10]
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка )