Ebuild repository/ru

Репозиторий ebuild-файлов, в просторечии известный как overlay, это Article description::структура файлов и каталогов, используемая для добавления пакетов, которые будут доступны для Gentoo системного пакетного менеджера. Репозитории могут содержать ebuild-файлы c одним или более EAPI.

The main repository on a Gentoo system is known as the Gentoo ebuild repository. It contains ebuilds maintained by official Gentoo developers and members of the community (through the Proxy Maintainers project). System administrators can add additional ebuild repositories to the system using various utilities and methods described below.

Репозитории
Репозитории ebuild-файлов являются не более (и не менее) чем наборами файлов (файлов ebuild, файлов метаданных, ...). Эти файлы можно установить из публичных репозиториев (git, CVS, SVN ...) или загрузить в виде файлов tarball и распаковать вручную. Рекомендуется использовать управляемые репозитории от доверенных третьих сторон. Любой установленный репозиторий ebuild-файлов заставит Portage просматривать "наложенные" файлы, чтобы решить, какой пакет следует установить. Если репозиторий ebuild-файлов содержит скомпрометированный код, то скомпрометированные пакеты могут быть установлены в системе.

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

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

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

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

Приоритеты
Each ebuild repository has a unique priority to the package manager. This ensures that in the case of a specific version being found in several ebuild repositories, the resolution is unambiguous. Ebuilds from repositories with higher priority numbers (for example 60) will take precedence over ebuilds from repositories with lower priorities (such as 50).

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

The Gentoo ebuild repository will have a priority of -1000 which means that all other repositories generally take precedence if they are assigned a higher priority. This is the default behavior, because ebuild repositories are designed to "lay over" or "on top" of the Gentoo repository.

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

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

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

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

emaint
Смотрите статью Sync (из проекта Portage) и.

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

eselect-repository
maintains entries for Portage to access and synchronize. See Eselect/Repository article for details.

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

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

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

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

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

Маскировка установленных, но небезопасных репозиториев ebuild-файлов
When using large ebuild repositories or those with unknown/low quality it is best practice to hardmask the whole ebuild repository and only accept specific ebuilds on a case-by-case basis:

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

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

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

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

 * https://repos.gentoo.org
 * https://github.com/gentoo/
 * https://gpo.zugaina.org/Overlays