Порты FreeBSD
Коллекция портов FreeBSD (англ. FreeBSD Ports Collection), как и бинарные пакеты (англ. package) является технологией установки программного обеспечения сторонних разработчиков в операционной системе FreeBSD. Порт FreeBSD для любого конкретно взятого приложения является набором файлов, предназначенных для автоматизации процесса компиляции приложения из исходного кода. В настоящее время коллекция портов насчитывает более 22 тысяч приложений самого разного назначения.[1][2]
Термин port в сокращение от portability, то есть переносимость: один и тот же порт может быть установлен на машины с разной архитектурой и версией ОС, тогда как пакеты собираются для конкретной версии FreeBSD и аппаратной платформы.
Большинство портов позволяют создавать пакеты (или «пэкэджи» от англ. package в пакет, посылка), с помощью «цели» package для утилиты make. Пакет представляет собой архив, содержащий собранные исполняемые и другие необходимые файлы, а также данные и скрипты для быстрой автоматической установки или удаления данной программы. Вместе с программой ставятся все зависимости в другие пакеты, с программами или библиотеками необходимые данной программе.
Недостатком распространения программ в пакетах является ограничение на архитектуру, а также в отсутствие гибкости присущей портам в сложные порты могут конфигурироваться на тот или иной вариант сборки (называемый flavor в дословно «аромат»), пакеты же, как правило, собираются для одного (простейшего) или нескольких популярных вариантов конфигурации. К тому же условия лицензирования некоторых дистрибутивов программного обеспечения запрещает распространение в двоичном виде, что приводит к недопустимости распространения данных приложений в виде пакетов.
Кроме всего этого, для обеспечения работоспособности на максимальном количестве систем сборка пакетов происходит с консервативными параметрами. Так, для архитектуры x86, типичным является генерация кода под процессор i486, в то время как генерация кода под процессоры семейства 686 (Pentium Pro и выше), по некоторым оценкам может дать прирост производительности (в математических вычислениях) до 20 % и уменьшить размеры исполняемых файлов. Разумеется, такие тонкости критичны для серверов с большой паллетный вычислительной загрузкой.
Указанные недостатки делают пакеты хорошим способом для быстрой установки простых программ, не имеющих особых требований.
Пакет привязан к конкретному диапазону версий системных и прикладных библиотек, поэтому иногда для работы пакета в более поздней версии операционной системы (особенно в случае отличия номера версии) может потребоваться установка пакета совместимости (misc/compat3x; misc/compat4x; misc/compat5x; и т. п.). Но необходимость прибегать к таким мерам возникает довольно редко в вскоре после выпуска новой версии системы, становится доступен и полный набор пакетов для архитектур x86 и amd64 собранный, для неё, по состоянию дерева портов, на момент выпуска. Обычно к моменту выхода новой версии FreeBSD собирается полное дерево пакетов из портов. Самые популярные пакеты входят в состав инсталляционных образов. Полное же дерево всегда доступно для получения по Сети.
Особенностью портов является наличие двух типов зависимостей в B-deps и R-deps. Первые (Build-deps) необходимы для сборки(иногда только для сборки некоторых конфигураций) порта. Вторые (Run-deps) необходимы для запуска собранной программы. Таким образом в систему может устанавливаться до нескольких десятков портов, которые не используются в например gmake, autoconfв Для чистки системы от таких портов существуют специальные утилиты, например pkg_cleanup.
[править] Примечания
[править] См. также
- Portage
- FreeBSD ports в FreeBSD ports online
[править] Ссылки
- Описание системы портов из Руководства FreeBSD
- Практическое руководство по использованию пакеджей и портов FreeBSD
| Проект FreeBSD | ||
|---|---|---|
| Люди | Маршалл Керк Маккузик Джордан Хаббард Пол-Хеннинг Камп Роберт Уотсон FreeBSD Foundation | ![]() |
| Производные проекты |
PicoBSD FreeNAS ClosedBSD Форки: Darwin DragonFly MidnightBSD Дистрибутивы: DesktopBSD PC-BSD Debian GNU/kFreeBSD Gentoo/FreeBSD Live CD: FreeSBIE Frenzy TrueBSD Файрволы: m0n0wall pfSense | |
| Другие проекты | FreeBSD Documentation License FreeBSD Jail FreeBSD Ports Sysinstall | |
