Ebuild repository/ru

У пользователей Gentoo Linux есть "основной" репозиторий пакетов, который в прошлом назывался "дерево Portage". Однако, этот термин следовало бы вывести из употребления, поскольку пакетные менеджеры, отличные от Portage, также могут работать с репозиториями пакетов в Gentoo. Основной репозиторий содержит все пакеты программ (называемые файлами ebuild), которые курируются разработчиками Gentoo. Остальные деревья пакетов обычно доступны посредством репозиториев. Пользователи могут добавлять дополнительные репозитории, которые "накладываются" ("laid over") на основное дерево — отсюда название "оверлей" (overlay).

Репозитории
Package repositories are nothing more (or less) than a set of files (ebuilds, metadata files, ChangeLog entries ...). These can be pulled in from public repositories (git, CVS, SVN ...) or downloaded as tarballs and extracted manually onto the system. It is advised to use managed repositories by trusted third parties; any installed overlay will cause Portage to look through the overlaid files when deciding which software to install. If compromised code is in the overlay, then compromised packages could be installed on the system.

В настоящее время, по умолчанию работа с репозиториями осуществляется посредством. Как и в других случаях при работе с Portage, это может быть файл или каталог.

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

Устаревший и не рекомендуемый к использованию, но все еще поддерживаемый способ работы с репозиториями — посредством переменной PORTDIR_OVERLAY в файле. Эта переменная может указывать на одно или более мест в файловой системе, где расположены репозитории. Настоятельно рекомендуется использовать каталог.

Для более подробной информации ознакомьтесь с /etc/portage/repos.conf и статью Portage/Sync.

Приоритеты
У каждого оверлея есть уникальный приоритет. Таким образом реализуется недвусмысленное разрешение пакетов, даже если одна и та же версия пакета находится в нескольких оверлеях. Файлы ebuild из оверлеев с более высоким приоритетом (например, 60) предпочитаются файлам ebuild из оверлеев с более низким приоритетом (например, 50).

Список оверлеев и их приоритетов можно получить из вывода следующих команд (найдите строку "Repositories"):

Основное дерево Gentoo Portage имеет приоритет -1000. Это означает, что другие оверлеи имеют старшинство, поскольку им присвоен более высокий приоритет. Это поведение используется по умолчанию, так как идея оверлеев заключается в том, чтобы "накладываться/перекрывать" дерево Portage.

Доступное программное обеспечение
Некоторые утилиты поддерживают или специально создавались для оверлеев.

Layman
Приложение облегчает управление и обновление дополнительных оверлеев. Это приложение для командной строки, с помощью которого можно выводить список, подписываться и отписываться, а также обновлять общедоступные оверлеи.

Оно поддерживает как метод, так и метод.
 * При использовании метода, работает с отдельным конфигурационным файлом, который читается файлом
 * При использовании метода, работает непосредственно с файлом

Для более подробной информации ознакомьтесь с Layman и Project:Portage/Sync.

emaint
Смотрите статью Project:Portage/Sync и.

eix
— обертка, запускающая команду (которая в свою очередь запускает команду ) и затем. Подробнее читайте в статье Eix и в.

Установка пакета, имеющего дубликаты
В процессе работы с оверлеями может возникнуть ситуация, когда несколько версий одного и того же пакета доступны в нескольких оверлеях. Сообщите Portage о том, что необходимо установить определенный пакет из определенного оверлея с помощью  нотации:

Создание кэша
Если в системе установлены крупные оверлеи, то выполнение таких операций, как разрешение зависимостей, может занять у portage много времени. Это происходит по той причине, что оверлеи, как правило, не содержат кэш метаданных.

Сгенерируйте локальный кэш метаданных, запустив команду после синхронизации оверлеев:

Будьте осторожны, поскольку выполнение команды занимает много времени, и ее не рекомендуется использовать пользователям rsync, поскольку rsync обновляет кэш с помощью кэша на сервере (большинство пользователей portage являются пользователями rsync). Пользователям rsync следует просто запустить (или ), чтобы повторно сгенерировать кэш. Скорее всего, использовать следует только пользователям очень больших оверлеев.

Маскировка при использовании небезопасных оверлеев
При использовании крупных оверлеев, а также оверлеев неизвестного или низкого качества, лучше всего замаскировать оверлей жесткой маской.

После этого размаскируйте пакеты, которые необходимо установить.

Смотрите также

 * Overlays project — Официальный проект Gentoo, осуществляющий поддержу оверлеев.
 * Overlays guide (Overlay project) — Руководство пользователя, составленное проектом Overlay.
 * Руководство разработчика оверлеев Gentoo

Внешние ресурсы

 * https://overlays.gentoo.org
 * https://github.com/gentoo/