Portage (программное обеспечение) - Portage (software)
Portage в действии | |
Стабильный выпуск | 2.3.87 / 1 февраля 2020[1] |
---|---|
Репозиторий | |
Написано в | Python |
Операционная система | Gentoo Linux и Gentoo / FreeBSD, Chromium OS, Chrome OS, Сабайон, Funtoo Linux, Рассчитать Linux |
Платформа | POSIX -совместимый/Python -способный |
Тип | Система управления пакетами |
Лицензия | Стандартная общественная лицензия GNU v2 |
Интернет сайт | вики |
Portage это система управления пакетами изначально создан и используется Gentoo Linux а также Chrome OS, Рассчитать, Сабайон, и Funtoo Linux среди прочего. Portage основан на концепции коллекции портов. Gentoo иногда называют мета-распространение благодаря исключительной гибкости Portage, что делает его Операционная система -независимый.[2][3][4][5] В Gentoo / Alt проект связан с использованием Portage для управления другими операционными системами, такими как BSD, macOS и Солярис. Наиболее заметной из этих реализаций является Gentoo / FreeBSD проект.
Продолжается работа над проектом спецификации диспетчера пакетов (PMS),[6] который направлен на стандартизацию и документирование поведения Portage, позволяя ебилд tree и системные пакеты Gentoo для использования с альтернативными менеджерами пакетов, такими как Paludis и pkgcore. Его цель - указать точный набор функций и поведения менеджеров пакетов и ебилдов, что послужит авторитетным справочным материалом для Portage.
Обзор
Доступ к Portage
Portage похож на BSD -стиль управление пакетами известный как порты, и изначально был разработан с FreeBSD Порта в уме.[7] Portage написан в Язык программирования Python, и является основной утилитой, определяющей Gentoo. Хотя сама система известна как Portage, она состоит из двух основных частей: ебилд система и появляться. Система ebuild берет на себя фактическую работу по сборке и установке пакетов, а Emerge предоставляет интерфейс для ebuild: управление репозиторием ebuild, разрешение зависимостей и подобные проблемы. (Эти двое поэтому имеют примерно то же отношение, что и об / мин имеет с ням, или же dpkg имеет с APT.)
А GTK + -на основе графического интерфейса, Иллюминатор, доступен для работы с Portage. Также есть Himerge GUI, что означает «Интерфейс Haskell для eMerge».
Предоставляемые функции
Основные функции Portage: составление из исходный код пакеты, которые пользователь желает установить. При этом он позволяет настраивать параметры компилятора и целевого приложения в соответствии со спецификациями системы и собственными пожеланиями пользователя. Функции, связанные с управлением системой, включают: возможность параллельной установки версий пакетов, отслеживание перекрестных пакетов. зависимости, управление базой данных установленных пакетов, предоставление локального репозитория ebuild и синхронизация локального дерева Portage с удаленными репозиториями. Функции, связанные с установкой отдельного пакета, включают: задание параметров компиляции для целевой машины и выбор компонентов пакета.
Portage различает три уровня стабильности в ебилдах: стабильный (например, программное обеспечение работает по назначению без каких-либо проблемы с безопасностью на момент выпуска), ключевое слово замаскировано (в основном для пакетов, которые не были достаточно проверено на архитектуре целевой системы, чтобы считаться стабильной) и замаскированный (сломанные или очень небезопасные) пакеты.
Функции
Появляться
В появляться инструмент командной строки - это сердце Portage. Команду можно настроить с помощью множества параметров и модификаторов. Утилита emerge - самая важная утилита для доступа к функциям Portage из командная строка.
Программа вычисляет и управляет зависимостями, выполняет ебилды и поддерживает локальный Portage. дерево и база данных установленных пакетов. Параметры компиляции, используемые ебилдами, можно изменить через CFLAGS переменная окружения на основе технических характеристик отдельного компьютера и желания пользователя по оптимизации. Утилита emerge запускает ебилды в песочница среда. Таким образом, система защищена от программного обеспечения, выполняемого ebuild, и полученные двоичные файлы объединяются только после успешной сборки и установки в песочнице.
То, что Emerge устанавливает как зависимости, зависит от настроек USE-флага. Они решают, какие дополнительные функции будут включены при установке или обновлении приложения. Команду emerge также можно использовать для загрузки и установки предварительно скомпилированных двоичных файлов.
USE-флаги
Система Portage предлагает использование «USE-флагов», которые позволяют пользователям указывать, какие программные функции они хотели бы включить (и исключить) при сборке пакетов. Например, есть USE-флаг для включения DVD поддержка, если таковая имеется, в пакетах, скомпилированных с включенным флагом. USE-флаги влияют на то, какие зависимости являются обязательными, обычно влияя на то, какие дополнительные функции будут встроены в данную программу при ее компиляции. Например, в пакетах, в которых используется настроить скрипт, флаг USE особенность
переведет на ./configure --with-feature
.
Спецификация USE-флагов - это обычный способ настройки программ в Gentoo. USE-флаги можно установить вручную или с помощью удобных инструментов, таких как ufed (редактор USE-флагов), в котором перечислены флаги вместе с их описанием. Список доступных USE-флагов доступен на сайте Gentoo. Указатель USE Flag.
ебилд
Gentoo по умолчанию не использует двоичные пакеты, как другие системы управления пакетами нравится Пакман ), используя вместо этого формат, известный как ebuild. В то время как Двоичные файлы RPM предварительно скомпилированы двоичные файлы, ебилды сценарии оболочки с переменными и функциями, которые содержат описание программного обеспечения и инструкции о том, как получить, настроить, компилировать, и установите его, более похожий на (но более мощный) файлы .spec распространяется в SRPM.[8] Доступно более 19 000 ебилдов, большинство из которых распространяется Gentoo. зеркала. Новые и обновленные ебилды можно получить, синхронизируя локальный репозиторий ебилдов с зеркалами. Это делается путем выполнения команды возникать --sync
. Исторически Gentoo предоставлял предварительно скомпилированные двоичные пакеты для многих распространенных программ, особенно тех, которые слишком долго компилируются, например Mozilla Firefox и OpenOffice.org. Они по-прежнему устанавливаются с помощью emerge, просто добавив "-bin" к имени пакета, чтобы вместо этого установить двоичную версию.
Пример ебилда для Терминатор:
# Copyright 1999-2020 Авторы Gentoo# Распространяется на условиях GNU General Public License v2.EAPI=7PYTHON_COMPAT=( python3_{6,7,8} )DISTUTILS_USE_SETUPTOOLS="нет"наследовать distutils-r1 virtualx xdg-utilsОПИСАНИЕ=«Несколько терминалов GNOME в одном окне»ГЛАВНАЯ="https://github.com/gnome-terminator/terminator"SRC_URI="https://github.com/gnome-terminator/terminator/releases/download/v${PV}/${п}.tar.gz "ЛИЦЕНЗИЯ="GPL-2"СЛОТ="0"КЛЮЧЕВЫЕ СЛОВА="amd64 ~ ppc x86"Я ИСПОЛЬЗУЮ="dbus + libnotify"ОТКРЫТЬ="> = dev-библиотеки / glib-2.32: 2dev-libs / keybinder: 3 [самоанализ]dev-python / configobj [${PYTHON_USEDEP}]dev-python / psutil [${PYTHON_USEDEP}]dev-python / pycairo [${PYTHON_USEDEP}]dev-python / pygobject: 3 [${PYTHON_USEDEP}]> = x11-библиотеки / gtk + -3.16: 3x11-libs / vte: 2.91 [самоанализ]dbus? (dev-python / dbus-python [${PYTHON_USEDEP}] )libnotify? (x11-libs / libnotify [самоанализ])"BDEPEND="dev-util / intltool"distutils_enable_tests setup.pyПАТЧИ=( "${FILESDIR}"/terminator-1.91-without-icon-cache.patch"${FILESDIR}"/terminator-1.91-desktop.patch"${FILESDIR}"/terminator-1.92-make-tests-fail.patch"${FILESDIR}"/terminator-1.92-metainfo.patch)src_prepare() {xdg_environment_reset distutils-r1_src_prepare}src_test() {virtx distutils-r1_src_test}pkg_postinst() {xdg_desktop_database_update xdg_icon_cache_update}pkg_postrm() {xdg_desktop_database_update xdg_icon_cache_update}
Бинарные пакеты
Gentoo имеет двоичный формат упаковки, который .tbz2 файл (деготь с bzip2 сжатие) с дополнительным метаданные. Эта функция позволяет создавать бинарные пакеты в одной системе (используя Portage's buildpkg
или же quickpkg
) с последующей быстрой установкой на другие идентичные системы (с помощью Portage getbinpkg
или же появиться -K
). Видеть Возможности Portage в Руководстве по Gentoo Linux для дополнительной информации.
Маскировка
Маскировка как Gentoo определяет, какие пакеты подходят для системы. Ebuild-файлы, разработанные для различных архитектур или экспериментального программного обеспечения, обычно замаскированы таким образом, что не позволяет стабильной системе установить их без вмешательства пользователя.
Пакеты, которые обычно требуют лишь некоторого тестирования, но часто работают нормально, называются ключевое слово замаскировано (т.е. они доступны для систем с записью ACCEPT_KEYWORDS make.conf, начинающейся с символа ~
, Такие как ~ x86
, ~ amd64
, ~ ppc
). Стандартный способ разоблачить человека ключевое слово замаскировано пакет - это добавление файла с полным именем пакета и ключевым словом в /etc/portage/package.keywords/
. Пользователи могут создавать здесь подкаталоги, что позволяет настраивать их организацию. Например, если замаскированный пакет имеет несколько замаскированных зависимостей, пользователь может создать каталог с именем исходного замаскированного пакета и поместить все файлы масок для пакета и его зависимостей в этот каталог. Эта схема заменяет старую схему наличия /etc/portage/package.keywords
в виде списка текстовых файлов.
Пакеты с известными проблемами или недостаточно зрелые, чтобы быть кандидатами на стабильную работу. замаскированный одним из различных файлов package.mask в / usr / portage / profiles, и такие записи обычно сопровождаются комментарием разработчиков, объясняющим причину маски.
Gentoo / Alt
Gentoo / Alt - это проект, созданный для управления переносом фреймворка портежа и других функций на другие операционные системы, Такие как Mac OS X и свободный BSD. Gentoo / Alt был создан Питер Ван ден Абеле и Дэниел Роббинс после того, как Питер Ван ден Абил основал Gentoo для Mac OS X.
Mac OS X
Gentoo для Mac OS X был первым проектом Gentoo, отличным от Linux, и сосредоточился на том, чтобы сделать опыт Gentoo доступным на яблоко операционной системы, представив систему Portage как отдельный объект. Это было примерно похоже на Финк и MacPorts, но он использовал Portage вместо системы, подобной Debian или Ports. Позже Gentoo для Mac OS X стал подпроектом Gentoo / Alt. В настоящее время[когда? ], проект больше не активен, потому что его изначальное предположение об использовании и отказе от изменения ОС хоста оказалось нереалистичным и в конечном итоге сломало большинство пакетов или сделало их трудно обслуживаемыми. Gentoo для Mac OS X был заменен Префикс Gentoo, который в настоящее время Gentoo предлагает пользователям Mac OS X.[9]
Проект Prefix в Mac OS X протестирован и поддерживается в Mac OS X Tiger, Leopard и Snow Leopard в PowerPC, IA-32, и x86-64 архитектуры.[10]
FreeBSD
Семейство ОС | Unix-подобный (BSD ) |
---|---|
Рабочее состояние | Снято с производства[11] |
Исходная модель | Открытый исходный код |
Репозиторий | |
Менеджер пакетов | Portage |
Ядро тип | Монолитный (kFreeBSD)[11] |
Userland | FreeBSD[11] |
Лицензия | Разные |
Официальный веб-сайт | Gentoo / FreeBSD |
Gentoo / FreeBSD предлагает дизайн, структуру и инструменты Gentoo Linux, такие как Portage и базовый макет Gentoo Linux в FreeBSD Операционная система. Gentoo's Набор инструментов GNU используется вместо оригинальной FreeBSD.
Хотя проект больше не поддерживается активными разработчиками Gentoo, есть инструкции, позволяющие установить полную систему Gentoo / FreeBSD.[11]. Системные ebuild-файлы FreeBSD интегрированы в главное дерево портежей, но этот перенос еще далек от завершения из-за количества пакетов, которые необходимо перенести, и отсутствия надлежащего Live CD (прямо сейчас[когда? ], FreeSBIE Live CD или установочный компакт-диск FreeBSD используются во время установки).
Текущий (полу) официальный логотип Gentoo / FreeBSD - это демонизированная буква «g», производная от оригинального Gentoo Linux логотип и вдохновленный BSD Демон Он был разработан Мариусом Моравски в ответ на неофициальный конкурс, организованный Диего Элио Петтено в своем блоге.[12]
NetBSD
Gentoo / NetBSD - это проект, обеспечивающий GNU пользовательское пространство управляется Portage с ядром NetBSD. Проект был начат Дамианом Флорчиком. В настоящее время[когда? ] только x86 архитектура нацелена, а система в целом находится в незавершенном состоянии.
OpenBSD
Семейство ОС | Unix-подобный (BSD ) |
---|---|
Исходная модель | Открытый исходный код |
Последний релиз | Префикс Gentoo в OpenBSD / 4 апреля 2011 г. |
Репозиторий | |
Менеджер пакетов | Portage |
Ядро тип | Монолитный (kOpenBSD) |
Userland | OpenBSD |
Лицензия | Разные |
Официальный веб-сайт | Gentoo / OpenBSD |
Gentoo / OpenBSD - это подпроект Gentoo / * BSD для переноса таких функций Gentoo, как Portage, на OpenBSD Операционная система. Первоначально он был начат Грантом Гудиером и в настоящее время[когда? ] на перерыве в развитии. An ISO образ основанная на OpenBSD 3.8, в настоящее время поддерживается Каролем Пастернаком и может быть загружена с веб-сайта проекта.
DragonFlyBSD
Gentoo / DragonFlyBSD в настоящее время[когда? ] неофициальный порт на DragonFlyBSD ядро. Проект разработан Робертом Себастьяном Герусом.[13]
GNU Hurd
Неофициальный порт для GNU Hurd также разрабатывался,[14] но был заброшен в конце 2006 года.
Android
Под руководством Бенды Сюй, "Gentoo RAP для Android Устройства »устанавливает вариант Gentoo под названием Gentoo RAP в префиксе каталога вместе с Android.[15] Ядро Linux используется как Android, так и Gentoo RAP.[15]
Interix
Gentoo / Interix (eprefix) - это порт Gentoo, работающий поверх Interix Подсистема для Windows, также известная как Службы Microsoft Windows для UNIX (SFU) или подсистема для приложений на базе Unix (SUA). Результатом проекта Gentoo / Interix является возможность установки и использования системы Portage для создания собственных приложений Windows (требуется Visual Studio, 2008 Express Edition тоже подойдет). Однако эта функция не поддерживает большое количество пакетов, поддерживаемых другими платформами (включая Interix).
Portaris
Неофициальный порт на Солярис Операционная система Portaris была анонсирована примерно в 2006 году, но так и не перешла в публичное состояние. Он был заменен проектом Gentoo Prefix.
План 9
Начато в 2011 году как Google Summer of Code Project Plan 9 For Gentoo берет базу Gentoo и накладывает пространство пользователя вдохновлен План 9.[16] Заявленные цели проекта - улучшить аппаратное обеспечение поддержка, лучше программного обеспечения поддержки и создания «культурного шока» для людей, которые ранее использовали Linux системы.[16] Проект в настоящее время[когда? ] поддерживается Робертом Ситоном.[16]
Смотрите также
Рекомендации
- ^ "репо / gentoo.git". gitweb.gentoo.org. Получено 1 февраля, 2020.
- ^ "О Gentoo". gentoo.org. Получено 23 августа, 2019.
- ^ ОС моей рабочей станции: Gentoo | Сайт Тома Чанса В архиве 2009-07-08 в Wayback Machine
- ^ Дэниел Роббинс (10 октября 2002 г.). "Gentoo Linux Reloaded - O'Reilly Media". Получено 27 мая 2015.
- ^ "OSNews.com". Получено 27 мая 2015.
- ^ «Проект: Спецификация диспетчера пакетов». wiki.gentoo.org. Получено 23 августа, 2019.
- ^ Документация Gentoo Linux - Создание дистрибутива, часть 3 В архиве 2014-12-22 в Wayback Machine
- ^ "ebuild - Gentoo Wiki". wiki.gentoo.org. Получено 2019-12-17.
- ^ Гроффен, Фабиан (2005-12-15). «Цели проекта Gentoo для Mac OS X». Архивировано из оригинал на 2008-05-21. Получено 2017-07-20.
- ^ Гроффен, Фабиан (2009-06-01). "Процесс начальной загрузки префикса Gentoo для Mac OS X". Архивировано из оригинал в 2009-07-19. Получено 2017-07-20.
- ^ а б c d "Gentoo FreeBSD". Gentoo Wiki. 2018-08-20. Получено 2019-03-06.
- ^ Петтено, Диего Элио (16 июля 2005 г.). "Неофициальный конкурс художественных работ Gentoo / FreeBSD". Журнал Flameeyes. Получено 2017-07-20.
- ^ Goodyear, Грант; Петтено, Диего Элио (19 октября 2006 г.). "Gentoo / * BSD". Архивировано из оригинал на 2007-12-28. Получено 2017-07-20.
- ^ "Gentoo GNU HURD". Архивировано из оригинал на 2010-01-09. Получено 2017-07-20.
- ^ а б «Проект: Android - Gentoo Wiki». Wiki.gentoo.org. 2016-01-13. Получено 2016-09-24.
- ^ а б c Ситон, Роберт (01.08.2011). "Plan 9 From Gentoo: Plan 9 встречает Gentoo". Архивировано из оригинал на 2012-04-26. Получено 2017-07-20.
внешняя ссылка
- Официальная документация
- Документация Funtoo Portage[соответствующий? ]
- Возможности Gentoo Portage
- Введение в Gentoo Portage
- Работа с Portage
- Пакеты Gentoo, информация о доступных на данный момент ебилдах
- Неофициальная документация
- Gentoo-Portage, альтернативное представление текущей информации о ebuild
- Использование Portage
- Установка portage на другие дистрибутивы Linux
- Подобное программное обеспечение
- Emerde, похожий на portage проект для Slackware
- Pkgcore, bsd повторная реализация portage
- Палудис, менеджер пакетов, который можно использовать с ебилдами и другими форматами.
- Система сборки Arch подобная портам система для Arch Linux