Portage

Portage
Portage
Portage-oppdatering.png
Работа системы Portage
Тип

Система управления пакетами

Автор

Zac Medico, Ned Ludd, Mike Frysinger, Mounir Lamouri

Написана на

Python

Операционная система

Gentoo Linux и Gentoo/FreeBSD

Аппаратная платформа

POSIX-совместимые/Python

Последняя версия

2.1.10.65 (4 июня 2012)

Тестовая версия

2.2.0 alpha 110 (4 июня 2012)

Лицензия

GNU General Public License v2

Сайт

http://www.gentoo.org/proj/en/portage/

Portage — основная система управления пакетами в Gentoo Linux. Аналог системы портов FreeBSD. Представляет собой набор утилит на Python и Bash, призванных облегчить и упорядочить установку программного обеспечения из исходных кодов или бинарных пакетов, с учётом всех зависимостей.

Основной пользовательский интерфейс Portage — консольная программа emerge, которая позволяет устанавливать новые пакеты с учётом зависимостей и с возможностью управления вариантами установки — например с поддержкой определенных функций или без поддержки ненужных функций (управление параметрами сборки осуществляется через так называемые USE-флаги), удалять ненужные пакеты, обновлять установленные пакеты, проводить синхронизацию с деревом портежей (по протоколу rsync) и т. д. Программа ebuild служит интерфейсом низкого уровня к Portage, а emerge — высокоуровневая оболочка для неё.

Главный конфигурационный файл системы Portage — /etc/portage/make.conf. В нем настраиваются основные параметры компиляторов и дополнительные возможности их использования (например, применением ccache, distcc), установки USE-флагов, HTTP-прокси, FTP-прокси, SYNC, ACCEPT_KEYWORDS и других, необходимых для работы системы Portage.

Другие конфигурационные файлы системы находятся в /etc/portage/ и позволяют более тонко конфигурировать различные аспекты системы portage.

Содержание

Дерево портежей

Дерево портежей обычно располагается в каталоге /usr/portage/ и представляет собой упорядоченную систему директорий-категорий пакетов (вида app-emacs, dev-php), в каждой из которых содержатся директории отдельных пакетов. В дереве каждый пакет состоит из набора ebuild-файлов, файла Changelog данного пакета, файла metadata.xml c метаданными о пакете и, возможно, нескольких других некрупных файлов, нужных для сборки пакета (например, патчей).

Кроме того, в дереве портежей хранятся все лицензии, которые используются пакетами.

В директорию /usr/portage/distfiles/ обычно помещаются файлы дистрибутивов программ, скачиваемые во время установки пакетов.

Оверлеи

Оверлеи представляют собой хранилища пакетов, не включенные в основное дерево портежей. Обычно туда включают более новые версии программ или те программы, которых еще нет в официальном дереве, live-версии, нестандартные расширения и патчи. Оверлеи могут быть локальными — присутствовать только на компьютере пользователя. Один из вариантов применения локального оверлея — установка ebuild-файлов, не включенных в какой-либо публичный оверлей, либо тестирование ebuild-файлов. Для упрощения работы с оверлеями служит утилита layman.

live-пакеты

Обычно при установке некоторой версии программы скачивается архив с исходными кодами, соответствующий устанавливаемой версии. В случае с live-пакетами исходные коды получаются из системы контроля версий данной программы. Таким образом, live-пакеты позволяют иметь самую что ни на есть свежую программу. Такие пакеты, как правило, имеют версию 9999.

В случае, если есть несколько веток разработки программы, live-пакет может также использовать не основную ветку. Например, для библиотеки Qt есть live-пакеты, берущие исходные коды из ветки на официальные версии 4.6, 4.7 и самую «передовую» ветку. Такие пакеты имеют версии 4.6.9999, 4.7.9999 и 4.9999 соответственно.

Утилиты

revdep-rebuild

revdep-rebuild из пакета gentoolkit — служит для проверки целостности динамического связывания. При обновлении библиотек нередка ситуация, когда программа или другая библиотека, зависящая от обновленной, продолжает ссылаться на предыдущую версию. Таким образом, нарушается работоспособность программ. Утилита revdep-rebuild позволяет автоматически найти подобные «сломанные» программы и перекомпилировать их.

layman

layman служит для упрощения работы с оверлеями, позволяя добавлять, удалять и синхронизировать оверлеи одной командой.

equery, eix, q

Программы equery и q, а также набор программ eix служит для ускорения и автоматизации стандартных задач вроде поиска по дереву портежей, формирования списка установленных пакетов, принадлежащих какой-либо категории, и т. д.

Пример

Пример работы программы emerge:

# emerge -pv postfix

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] mail-mta/postfix-2.3.6  USE="hardened mysql pam ssl -cdb -dovecot-sasl -ipv6 -ldap -mailwrapper -mbox -nis -postgres
 -sasl (-selinux) -vda" 2,719 kB
[blocks B     ] mail-mta/ssmtp (is blocking mail-mta/postfix-2.3.6)

Total: 1 package (1 new, 1 block), Size of downloads: 2,719 kB

Критика Portage

Низкая скорость системы Portage[источник не указан 472 дня], а также отсутствие учёта обратных зависимостей устанавливаемых и обновляемых пакетов, привело к созданию проекта Paludis[1] — замены Portage, написанной на C++ и обладающей более высокой скоростью работы[источник не указан 472 дня] и дополнительными возможностями (которые, впрочем, в большинстве своем присутствуют в нестабильных версиях Portage 2.2.x). Также существует проект pkgcore[2].

FrontEnd

См. также

Ссылки

  1. Gentoo wiki Paludis (англ.)
  2. Gentoo wiki Pkgcore (англ.)

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Portage" в других словарях:

  • portage — [ pɔrtaʒ ] n. m. • 1260; de porter 1 ♦ Vx Action de transporter. 2 ♦ Mod. Transport à dos d homme. « Crise du portage. Nos porteurs veulent tous repartir » (A. Gide). Spécialt (Cour. au Canada) Action de porter une embarcation d un cours d eau à… …   Encyclopédie Universelle

  • Portage — Portage, WI U.S. city in Wisconsin Population (2000): 9728 Housing Units (2000): 3970 Land area (2000): 8.293974 sq. miles (21.481293 sq. km) Water area (2000): 0.726675 sq. miles (1.882080 sq. km) Total area (2000): 9.020649 sq. miles (23.363373 …   StarDict's U.S. Gazetteer Places

  • Portage — bezeichnet: eine Stelle, an der Kanus oder andere Boote über Land transportiert werden, siehe Portage (Kanu) mehrere Orte: Portage (Indiana) Portage (Michigan) Portage (New York) Portage (Ohio) Portage (Pennsylvania) Portage (Utah) Portage… …   Deutsch Wikipedia

  • Portage — Saltar a navegación, búsqueda Captura de pantalla. Portage es el gestor de paquetes oficial de la distribución de Linux Gentoo. Portage (implementado en Python y Bash) está inspirado en los ports BSD, aunque implementa ciertas características… …   Wikipedia Español

  • Portage, IN — U.S. city in Indiana Population (2000): 33496 Housing Units (2000): 13375 Land area (2000): 25.456487 sq. miles (65.931996 sq. km) Water area (2000): 1.970463 sq. miles (5.103475 sq. km) Total area (2000): 27.426950 sq. miles (71.035471 sq. km)… …   StarDict's U.S. Gazetteer Places

  • Portage, MI — U.S. city in Michigan Population (2000): 44897 Housing Units (2000): 18880 Land area (2000): 32.203165 sq. miles (83.405811 sq. km) Water area (2000): 2.822819 sq. miles (7.311068 sq. km) Total area (2000): 35.025984 sq. miles (90.716879 sq. km)… …   StarDict's U.S. Gazetteer Places

  • Portage, OH — U.S. village in Ohio Population (2000): 428 Housing Units (2000): 166 Land area (2000): 1.496760 sq. miles (3.876591 sq. km) Water area (2000): 0.000000 sq. miles (0.000000 sq. km) Total area (2000): 1.496760 sq. miles (3.876591 sq. km) FIPS code …   StarDict's U.S. Gazetteer Places

  • Portage, PA — U.S. borough in Pennsylvania Population (2000): 2837 Housing Units (2000): 1367 Land area (2000): 0.665538 sq. miles (1.723735 sq. km) Water area (2000): 0.000000 sq. miles (0.000000 sq. km) Total area (2000): 0.665538 sq. miles (1.723735 sq. km) …   StarDict's U.S. Gazetteer Places

  • Portage, UT — U.S. town in Utah Population (2000): 257 Housing Units (2000): 83 Land area (2000): 2.283280 sq. miles (5.913668 sq. km) Water area (2000): 0.000000 sq. miles (0.000000 sq. km) Total area (2000): 2.283280 sq. miles (5.913668 sq. km) FIPS code:… …   StarDict's U.S. Gazetteer Places

  • Portage, WI — U.S. city in Wisconsin Population (2000): 9728 Housing Units (2000): 3970 Land area (2000): 8.293974 sq. miles (21.481293 sq. km) Water area (2000): 0.726675 sq. miles (1.882080 sq. km) Total area (2000): 9.020649 sq. miles (23.363373 sq. km)… …   StarDict's U.S. Gazetteer Places


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»