WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Коллекция портов FreeBSD (англ. FreeBSD Ports Collection), как и бинарные пакеты (англ. package) — технология установки программного обеспечения сторонних разработчиков в операционной системе FreeBSD. Порт FreeBSD для любого конкретно взятого приложения является набором файлов, предназначенных для автоматизации процесса компиляции приложения из исходного кода. В настоящее время коллекция портов насчитывает более 25 тыс. приложений самого разного назначения.[1][2]

Термин port — сокращение от portability, то есть переносимость: один и тот же порт может быть установлен на машины с разной архитектурой и версией ОС, тогда как пакеты собираются для конкретной версии FreeBSD и аппаратной платформы.

Большинство портов позволяют создавать пакеты (или «пэкэджи» от англ. package — пакет, посылка), с помощью «цели» package для утилиты make. Пакет представляет собой архив, содержащий собранные исполняемые и другие необходимые файлы, а также данные и скрипты для быстрой автоматической установки или удаления данной программы. Вместе с программой ставятся все зависимости — другие пакеты с программами или библиотеками, необходимые данной программе.

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

Кроме всего этого, для обеспечения работоспособности на максимальном количестве систем сборка пакетов происходит с консервативными параметрами. Так, для архитектуры 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.

См. также

Примечания

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии