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
/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.conf
Rsync 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.conf
Adding 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 /
Смотрите также
- Проверенные снимки Gentoo репозитория в Gentoo Handbook
- Обзор новой системы синхронизации Portage
- Layman - Используя метод 'repos.conf' в статье Layman
- Оверлеи руководство пользователя
- Формат репозитория
- Зеркало репозитория и Непрерывная интеграция
- Запрос информации о репозитории в статье Portageq
- Using the gentoo git checkout as your local tree
- Маскировка установленных, но небезопасных репозиториев ebuild-файлов
- eselect-repository — утилита для управления сторонними репозиториями в файле repos.conf