Система портов BSD: Устройство, история и особенности
Ports collection
Управление пакетами в BSD: порты – это система сборки ПО из исходников с гибкой настройкой и оптимизацией под ресурсы. Альтернатива бинарным дистрибутивам.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Управление пакетами на основе BSD. Коллекции портов (или деревья портов, или просто порты) — это наборы make-файлов и патчей, предоставляемые BSD-подобными операционными системами FreeBSD, NetBSD и OpenBSD, как простой способ установки программного обеспечения или создания бинарных пакетов. Обычно они служат основой системы управления пакетами, где порты отвечают за создание пакетов, а дополнительные инструменты — за удаление, обновление и другие операции. Помимо BSD, аналогичную инфраструктуру реализовали несколько дистрибутивов Linux, включая Portage (Gentoo), Arch Build System (ABS) (Arch Linux), Ports (CRUX) и Templates (Void Linux). Главное преимущество системы портов по сравнению с моделью распространения бинарных файлов заключается в возможности настройки и оптимизации установки в соответствии с доступными ресурсами. Например, системный администратор может легко установить 32-битную версию пакета, если 64-битная версия недоступна или не оптимизирована для данного оборудования. Однако основным недостатком является время компиляции, которое может быть значительным. Например, полная установка системы FreeBSD с использованием портов может занять несколько дней, в зависимости от аппаратного обеспечения.
BSD based package managementPorts collections (or ports trees, or just ports) are the sets of makefiles and patches provided by the BSD based operating systems, FreeBSD, NetBSD, and OpenBSD, as a simple method of installing software or creating binary packages. They are usually the base of a package management system, with ports handling package creation and additional tools managing package removal, upgrade, and other tasks. In addition to the BSDs, a few Linux distributions have implemented similar infrastructure, including Gentoo's Portage, Arch's Arch Build System (ABS), CRUX's Ports and Void Linux's Templates. The main advantage of the ports system when compared with a binary distribution model is that the installation can be tuned and optimized according to available resources. For example, the system administrator can easily install a 32 bit version of a package if the 64 bit version is not available or is not optimized for that machine. Conversely, the main disadvantage is compilation time, which can be significant. For example, a full installation of a FreeBSD system, using ports, can take several days, depending on the hardware.
Порты FreeBSD
Джордан Хаббард добавил свои макросы для создания портов в репозиторий CVS FreeBSD 21 августа 1994 года. Его набор файлов Makefile для установки пакетов был добавлен годом ранее (26 августа 1993 года). Первоначально основная структура портов поддерживалась Хаббардом совместно с Сатоси Асами на протяжении нескольких лет. Позже для решения этой задачи была создана команда управления портами.
Jordan Hubbard committed his port make macros to the FreeBSD CVS repository on August 21, 1994. His package install suite Makefile had been committed a year earlier (August 26, 1993). The core ports framework was at first maintained by Hubbard along with Satoshi Asami for several years. The Ports Management Team was later formed to handle this task.
ПКГСРК NetBSD
Коллекция портов pkgsrc NetBSD примечательна своей переносимостью и возможностью использования на ряде операционных систем, помимо самой NetBSD, включая другие BSD, SmartOS/illumos, macOS, MINIX 3, Linux и другие Unix-подобные системы. pkgsrc был создан в августе 1997 года на основе существующей системы портов FreeBSD. Система придерживается квартального графика выпуска и по состоянию на октябрь 2018 года содержит более 22 000 пакетов. С выпуском версии 1.4, DragonFly BSD объявила о принятии pkgsrc в качестве официальной системы управления пакетами. Однако, DragonFly BSD разработала собственную реализацию портов под названием dports с выпуском 3.4 и полностью перешла на неё с версией 3.6. Разработка ведётся с использованием git.
NetBSD's pkgsrc ports collection is distinctive in that it aims to be portable and is usable on a number of operating systems aside from NetBSD itself, including the other BSDs, SmartOS/illumos, macOS, MINIX 3, Linux and other Unix likes. pkgsrc was created in August 1997 based on the existing FreeBSD ports system. It follows a quarterly release schedule and as of October 2018 contains over 22'000 packages. With their 1.4 release, DragonFly BSD announced that they would be adopting pkgsrc as their official package management system. DragonFly BSD however built their own ports implementation called dports with the release 3.4 and switched over to it completely with 3.6. The development is done via their git.