Коллекция портов - Ports collection
Коллекции портов (или же деревья портов, или просто порты) - множества make-файлы и патчи предоставленный BSD -основан операционные системы, FreeBSD, NetBSD, и OpenBSD, как простой метод установки программного обеспечения или создания двоичных пакетов. Обычно они являются основой система управления пакетами, с портами для создания пакетов и дополнительными инструментами для управления удалением пакетов, обновлением и другими задачами. Помимо BSD, несколько Дистрибутивы Linux реализовали аналогичные инфраструктура, включая Gentoo с Portage, Арка с Система сборки Arch (ABS), CRUX порты и Void Linux шаблоны.
Основное преимущество системы портов заключается в том, что установку можно настроить и оптимизировать в соответствии с доступными ресурсами. Например, системный администратор может легко установить 32-разрядную версию пакета, если 64-разрядная версия недоступна или не оптимизирована для этой машины. И наоборот, главный недостаток - увеличенное время компиляции, которое может быть значительным. Например, полная установка системы FreeBSD с использованием портов может занять несколько дней, в зависимости от оборудования.
Порты FreeBSD
Джордан Хаббард совершил свой порт сделать макросы в репозиторий FreeBSD CVS 21 августа 1994 г.[1] Его пакет установки пакета Makefile было совершено годом ранее (26 августа 1993 г.).[2] Структура основных портов сначала поддерживалась Хаббардом вместе с Сатоши Асами в течение нескольких лет. Позднее для решения этой задачи была сформирована группа управления портами.
Pkgsrc NetBSD
NetBSD pkgsrc Коллекция портов отличается тем, что она нацелена на переносимость и может использоваться в ряде операционных систем, помимо самой NetBSD, включая другие BSD, SmartOS /иллюзия, macOS,[3] МИНИКС 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-файлов, некоторые из которых используются совместно с источник tree, чтобы обеспечить большую часть его функциональности; эта общая инфраструктура включает в себя множество служебных функций для разработчиков портов и означает, что порты часто можно сделать очень просто.
В конце октября 2007 года разработчик OpenBSD Николай Штурм объявил, что дерево портов -stable следует считать неподдерживаемым из-за нехватки ресурсов. Это фактически заставляло пользователей запускать -current ports / base tree, чтобы не отставать от обновлений безопасности. В 2009 году было решено возродить дерево стабильных портов под руководством Роберта Надя и Джаспера Ливисса Адриансе.[8]
Есть два неофициальных веб-сайта со списком портов и пакетов OpenBSD:
- OpenPorts.se, первоначально объявленный как ports.openbsd.nu в 2006 году,[9] - это написанный на заказ веб-сайт, который выполняет свой собственный анализ древовидной структуры портов и обновлений, и имеет функцию отслеживания изменений данного порта, недостатком которой является отсутствие поддержки некоторых из более сложных логических схем Makefile, и, следовательно, отсутствует около 15% пакетов, требующих тонкого знания структуры дерева портов и использования официальных инструментов.[10]
- ports.su, анонсированный в феврале 2013 года и основан на официальной базе данных sqlports,[11] таким образом, имея полную коллекцию всех пакетов и разновидностей, доступных для платформы amd64. Основанные на официальных инструментах, «виртуальные» (неосновные) категории легко доступны, как и информация о зависимостях библиотеки, сборки и времени выполнения. Исходный код веб-сайта в значительной степени основан на порте ports-readmes и легко доступен в GitHub.
Смотрите также
- Android Runtime что делает опережающая компиляция при установке
- MacPorts
- Portage (программное обеспечение), используется в Gentoo Linux и вдохновлен системой портов
Рекомендации
- ^ "Журнал CVS для портов / Mk / bsd.port.mk". Проект FreeBSD.
- ^ "Журнал CVS для src / usr.sbin / pkg_install / Makefile". Проект FreeBSD. Архивировано из оригинал 14 апреля 2013 г.
- ^ «Документация по пакетам Joyent - установка на macOS». Джойент. Получено 2018-10-10.
- ^ «Документация по пакетам Joyent - установка в Linux». Джойент. Получено 2018-10-10.
- ^ Диллон, Мэтью. «PKGSRC будет официально поддерживаться в следующем выпуске». Получено 2008-01-23.
- ^ Шерилл, Джастин. «Планирование выпуска DragonFly 3.4».
- ^ «GitHub - DragonFlyBSD / DPorts: Специальная система сборки приложений для DragonFly BSD».
- ^ Йодловски, Уильям. «4.6-стабильные порты». Архивировано из оригинал на 2011-06-12. Получено 2009-12-29.
- ^ "ports.openbsd.nu - интерфейс к портам". Журнал OpenBSD. 2006-08-09.
- ^ Эспи, Марк (2013-06-07). "Re: Почему нет pkg_find (1)?". [email protected].
- ^ «Представляем ports.su - зеркало портов-ридмэсов и поиск портов». Журнал OpenBSD. 2013-05-02.