This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

/etc/portage/repos.conf

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page /etc/portage/repos.conf and the translation is 100% complete.

/etc/portage/repos.conf это каталог файлов или файл, который определяет месторасположение и настройки репозиториев используемые системой. Там определяется репозиторий Gentoo и, возможно, различные ebuild репозитории.

Формат

Заметка
Пока Portage может обрабатывать repos.conf как файл или каталог файлов. Предпочтительным способом для использования является каталог, другие инструменты, такие как layman и mirrorselect требуют и ожидают, что это каталог. layman создает и управляет своим собственным файлом layman.conf для регистрации установленных репозиториев ebuild-файлов в Portage. mirrorselect ищет файл repos.conf/gentoo.conf для того чтобы изменить sync-uri параметр для репозитория Gentoo.
  • Имена файлов могут быть произвольными, с добавлением или без добавления суффикса, за исключением файла repos.conf/gentoo.conf, который ожидает найти mirrorselect.
  • Комментарии начинаются с # (нет встроенных комментариев).
  • Конфигурация каждого репозитория указывается в отдельном файле или разделе, начинающийся с [repository_name]. Рекомендуется, чтобы [repository_name] было таким же, как и имя, данное в repo_name файле.
  • Атрибуты указываются в формате attribute = value.

Поддерживаемые атрибуты в секции default

main-repo
Указывает главный репозиторий.
eclass-overrides
Заставляет все репозитории (inherit) наследовать eclass из указанных репозиториев. Установка этого атрибута, как правило, не рекомендуется, так как в результате изменения наследования в eclass может вызвать проблемы с производительностью из-за недействительности кэша метаданных.
Утилиты egencache, emirrordist и repoman по умолчанию игнорируют этот параметр, так как для операции, выполняемых с помощью этих утилит, наследование не специфично (их операции сфокусированы на глобальных, не специфичных аспектах работы Portage и Gentoo репозитория). Такое поведение изменить с помощью force = eclass-overrides.
force
Задает имена атрибутов, которые должны быть принудительно соблюдены egencache, emirrordist и repoman. Допустимые значения: aliases, eclass-overrides, и masters.

Поддерживаемые атрибуты в секции для репозиториев

aliases
Устанавливает алиасы указанного репозитория. Не рекомендуется устанавливать этот атрибут, так как это приводит к изменениям в системе наследования eclass, которые могут вызвать проблемы с быстродействием из-за инвалидации кэша метаданных.
Утилиты egencache, emirrordist и repoman по умолчанию игнорируют этот параметр, так как для операции, выполняемых с помощью этих утилит, наследование не специфично (их операции сфокусированы на глобальных, не специфичных аспектах работы Portage и Gentoo репозитория). Такое поведение изменить с помощью force = aliases
auto-sync
Определяет, будет ли указанный репозиторий синхронизирован при запуске команд emerge --sync или emaint sync --auto. Это позволяет синхронизировать репозитории только тогда, когда это необходимо, с помощью команды emaint sync --repo foo. Допустимые значения: yes, no, true, false. Если этот атрибут не установлен, это равносильно его установке в yes, true.
eclass-overrides
Заставляет все репозитории наследовать eclasses из указанных репозиториев. Не рекомендуется устанавливать этот атрибут, так как это приводит к изменениям в системе наследования eclass, которые могут вызвать проблемы с быстродействием из-за инвалидации кэша метаданных.
Утилиты egencache, emirrordist и repoman по умолчанию игнорируют этот параметр, так как для операции, выполняемых с помощью этих утилит, наследование не специфично (их операции сфокусированы на глобальных, не специфичных аспектах работы Portage и Gentoo репозитория). Такое поведение изменить с помощью force = eclass-overrides
force
Устанавливает имена атрибутов, которые должны принудительно использоваться egencache, emirrordist, and repoman. Допустимые значения: aliases, eclass-overrides и masters.
location
Устанавливает местонахождение указанного репозитория.
masters
Устанавливает мастер-репозитории для указанного репозитория. Не рекомендуется устанавливать этот атрибут, так как это приводит к изменениям в системе наследования eclass, которые могут вызвать проблемы с быстродействием из-за инвалидации кэша метаданных.
Утилиты egencache, emirrordist и repoman по умолчанию игнорируют этот параметр, так как для операции, выполняемых с помощью этих утилит, наследование не специфично (их операции сфокусированы на глобальных, не специфичных аспектах работы Portage и Gentoo репозитория). Такое поведение изменить с помощью force = masters
priority
Устанавливает приоритет указанного репозитория.
sync-cvs-repo
Устанавливает репозиторий CVS.
clone-depth
Устанавливает clone depth для репозиториев DVCS. По умолчанию устанавливается в 1 (только последний commit). Если этот атрибут установлен в 0, то clone depth неограничен.
sync-type
Устанавливает тип синхронизации, использующийся при запуске команды emerge --sync. Допустимые непустые значения: cvs, git, rsync, svn, websync (<=portage-2.2.18), webrsync (>=portage-2.2.19). Этот атрибут можно установить в пустое значение для того, чтобы отключить синхронизацию указанного репозитория. Пустое значение используется по умолчанию.
sync-umask
Устанавливает umask, используемый для синхронизации репозитория, посредством восьмеричной маски доступа, например, 022.
sync-uri
Устанавливает URI репозитория, который используется при синхронизации посредством команды emerge --sync. Этот атрибут можно установить в пустое значение для того, чтобы отключить синхронизацию указанного репозитория. Пустое значение используется по умолчанию.
Синтаксис:
cvs: [cvs://]:access_method:[username@]hostname[:port]:/path
git: (git|git+ssh|http|https)://[username@]hostname[:port]/path
rsync: (rsync|ssh)://[username@]hostname[:port]/(module|path)
sync-user
Устанавливает credentials, используемый для синхронизации. Если указан только пользователь, используется его основная группа. Если указана только группа, текущий пользователь сохраняется и изменяется только идентификатор группы. Этот атрибут имеет приоритет над FEATURES=userpriv. Если указан пользователь или идентификатор группы, то Portage не использует владельца каталога.
Синтаксис: [user][:group]

Примеры

Основной репозиторий Gentoo

rsync

The example below shows the default set up of the main Gentoo repository. However, there is no need for having this file unless its content deviates from the file found at /usr/share/portage/config/repos.conf.

Файл /etc/portage/repos.conf/gentoo.confRsync example
[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4

# for daily squashfs snapshots
#sync-type = squashdelta
#sync-uri = mirror://gentoo/../snapshots/squashfs

For a setup using sync-type websync (<=portage-2.2.18), webrsync (>=portage-2.2.19), see the webrsync.conf article.

Пользовательский репозиторий ebuild-файлов

[NameOfYourEbuildRepository]
location = /usr/local/portage
masters = gentoo
auto-sync = no

Для получения дополнительной информации смотрите статью custom repository.

Внешний репозиторий ebuild-файлов

Файл /etc/portage/repos.conf/brother-overlay.confAdding the brother-overlay ebuild repository
[brother-overlay]
location = /usr/local/overlay/brother-overlay
sync-type = git
sync-uri = https://github.com/stefan-langenmaier/brother-overlay.git
auto-sync = yes

repos.conf в виде одного файла

Чтобы увидеть пример repos.conf в виде одного файла, запустите эту команду и поищите раздел repos.conf:

user $man 5 portage

Список репозиториев

Чтобы увидеть компактный список репозиториев, отсортированных по приоритету и отформатированных для легкого чтения:

user $emerge --info --verbose | sed -n '/^Repo/,/^ABI/p' | head -n -1

Чтобы увидеть детализированный список репозиториев без какого-либо форматирования:

user $portageq repos_config /

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

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