Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Коллекции портов (или деревья портов , или просто порты ) - это наборы make-файлов и исправлений, предоставляемые операционными системами на основе BSD , FreeBSD , NetBSD и OpenBSD в качестве простого метода установки программного обеспечения или создания двоичных пакетов. Обычно они являются основой системы управления пакетами , с портами для создания пакетов и дополнительными инструментами для управления удалением пакетов, обновлением и другими задачами. В дополнение к BSD, несколько дистрибутивов Linux реализовали аналогичную инфраструктуру , в том числеGentoo 's Portage , Arch ' s Arch Сложение система (ABS) , CRUX 'Порты s и Пустота Linux ' Шаблоны s.

Основное преимущество системы портов по сравнению с моделью двоичного распределения состоит в том, что установку можно настроить и оптимизировать в соответствии с доступными ресурсами. Например, системный администратор может легко установить 32-разрядную версию пакета, если 64-разрядная версия недоступна или не оптимизирована для этой машины. И наоборот, главный недостаток - время компиляции, которое может быть значительным. Например, полная установка системы FreeBSD с использованием портов может занять несколько дней, в зависимости от оборудования.

Порты FreeBSD [ править ]

Джордан Хаббард разместил свои макросы make для переноса в репозиторий FreeBSD CVS 21 августа 1994 года. [1] Его пакет для установки пакета Makefile был зафиксирован годом ранее (26 августа 1993 года). [2] Фреймворк основных портов сначала поддерживался Хаббардом вместе с Сатоши Асами в течение нескольких лет. Позднее для решения этой задачи была сформирована группа управления портами.

Pkgsrc NetBSD [ править ]

Коллекция портов pkgsrc от NetBSD отличается тем, что она нацелена на переносимость и может использоваться в ряде операционных систем, помимо самой NetBSD, включая другие BSD, SmartOS / illumos , macOS , [3] MINIX 3 , Linux [4] и другие. Unix-лайки . pkgsrc был создан в августе 1997 года на основе существующей системы портов FreeBSD. Он следует ежеквартальному графику выпуска и по состоянию на октябрь 2018 года содержит более 22000 пакетов. В своем выпуске 1.4 DragonFly BSD объявила, что они будут использовать pkgsrc в качестве официальной системы управления пакетами. [5] Однако DragonFly BSD построил свою собственную реализацию портов, называемую dports, в версии 3.4 [6] и полностью переключился на нее в версии 3.6. Разработка ведется через их git. [7]

Порты OpenBSD [ править ]

В отличие от портов FreeBSD , на которых она изначально была основана, система портов OpenBSD предназначена в качестве источника, используемого для создания конечного продукта, пакетов : установка порта сначала создает пакет, а затем устанавливает его. Порты состоят из make-файла, текстовых файлов с описаниями и установочными сообщениями, любых исправлений, необходимых для настройки программы для работы с OpenBSD, и списка упаковки, в котором перечислены файлы, которые должны быть включены в пакеты. Дерево портов использует набор стандартных make-файлов, некоторые из которых используются совместно с деревом исходных текстов, чтобы обеспечить большую часть его функциональности; эта общая инфраструктура включает в себя множество служебных функций для разработчиков портов и означает, что порты часто можно сделать очень просто.

В конце октября 2007 года разработчик OpenBSD Николай Штурм объявил, что дерево портов -stable следует считать неподдерживаемым из-за нехватки ресурсов. Это фактически заставляло пользователей запускать -текущие порты / базовое дерево, чтобы не отставать от обновлений безопасности. В 2009 году было решено возродить дерево стабильных портов под руководством Роберта Надя и Джаспера Ливисса Адриансе. [8]

Есть два неофициальных веб-сайта со списком портов и пакетов OpenBSD:

  • OpenPorts.se , первоначально объявленный в 2006 году как ports.openbsd.nu [9], представляет собой специально написанный веб-сайт, который выполняет собственный анализ древовидной структуры портов и обновлений, а также имеет функцию отслеживания изменений заданного port, имеющий недостаток в том, что он не поддерживает более сложную логику Makefile, и, следовательно, в нем отсутствует около 15% пакетов, требующих сложных знаний структуры дерева портов и использования официальных инструментов. [10]
  • ports.su , анонсированный в феврале 2013 года, основан на официальной базе данных sqlports [11], таким образом, имея полный набор всех пакетов и разновидностей, доступных для платформы amd64. Основанные на официальных инструментах, «виртуальные» (неосновные) категории легко доступны, как и информация о зависимостях библиотеки, сборки и времени выполнения. Исходный код веб-сайта в значительной степени основан на порте ports-readmes и легко доступен на GitHub .

См. Также [ править ]

  • Android Runtime, которая выполняет предварительную компиляцию при установке
  • MacPorts
  • Portage (программное обеспечение) , используемое в Gentoo Linux и вдохновленное системой портов

Ссылки [ править ]

  1. ^ "Журнал CVS для портов / Mk / bsd.port.mk" . Проект FreeBSD.
  2. ^ "Журнал CVS для src / usr.sbin / pkg_install / Makefile" . Проект FreeBSD. Архивировано из оригинала на 2013-04-14.
  3. ^ «Документация по пакетам Joyent - установка на macOS» . Джойент . Проверено 10 октября 2018 .
  4. ^ «Документация по пакетам Joyent - установка в Linux» . Джойент . Проверено 10 октября 2018 .
  5. ^ Диллон, Мэтью. «PKGSRC будет официально поддерживаться в следующем выпуске» . Проверено 23 января 2008 .
  6. ^ Шерилл, Джастин. «Планирование выпуска DragonFly 3.4» .
  7. ^ «GitHub - DragonFlyBSD / DPorts: Специальная система сборки приложений для DragonFly BSD» .
  8. ^ Йодловски, Уильям. «4.6-стабильные порты» . Архивировано из оригинала 2011-06-12 . Проверено 29 декабря 2009 .
  9. ^ "ports.openbsd.nu - интерфейс к портам" . OpenBSD Journal . 2006-08-09.
  10. ^ Эспи, Марк (2013-06-07). "Re: Почему нет pkg_find (1)?" . [email protected].
  11. ^ "Introducing ports.su — ports-readmes mirror and ports search". OpenBSD Journal. 2013-05-02.

External links[edit]

  • OpenBSD Porter's Handbook
  • OpenBSD ports
  • The OpenBSD ports manpage
  • FreeBSD Ports
  • pkgsrc: The NetBSD Packages Collection
  • The ideas behind Compile