/etc/portage/repos.conf specifies the location and settings for the repositories currently configured with Portage. This directory contains .conf files that configure the Gentoo ebuild repository and any additional ebuild repositories.
If /etc/portage/repos.conf/gentoo.conf does not exist, defaults from /usr/share/portage/config/repos.conf will be used, (unless /etc/portage/repos.conf is a file with a valid "[gentoo]" section, as used to be the default). If some necessary settings, such as sync-uri are omitted from /etc/portage/repos.conf/gentoo.conf, values from /usr/share/portage/config/repos.conf will be used. Some values, such as priority, will be automatically added by Portage even if they are not present in any configuration file.
eselect-repository is a handy tool for configuring repositories without editing /etc/portage/repos.conf by hand.
See the /etc/portage/repos.conf section in man 5 portage for detailed information about the format and parameters of repos.conf.
Add, disable, or remove ebuild repositories using eselect repository, which also provides other functionality.
Files in /etc/portage/repos.conf can be edited with a text editor to change the configuration options for an ebuild repository.
To show all repositories configured with portage, run portageq:
portageq repos_config /
[DEFAULT] auto-sync = yes main-repo = gentoo strict-misc-digests = true sync-allow-hardlinks = true sync-rcu = false [brother-overlay] auto-sync = yes location = /var/db/repos/brother-overlay masters = gentoo strict-misc-digests = true sync-allow-hardlinks = true sync-rcu = false sync-type = git sync-uri = https://github.com/gentoo-mirror/brother-overlay.git [gentoo] auto-sync = yes location = /var/db/repos/gentoo masters = priority = -1000 strict-misc-digests = true sync-allow-hardlinks = true sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc sync-openpgp-key-refresh-retry-count = 40 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 sync-openpgp-key-refresh-retry-overall-timeout = 1200 sync-openpgp-keyserver = hkps://keys.gentoo.org sync-rcu = false sync-type = rsync sync-uri = rsync://rsync.gentoo.org/gentoo-portage sync-rsync-verify-max-age = 24 sync-rsync-extra-opts = sync-rsync-verify-jobs = 1 sync-rsync-verify-metamanifest = yes [local] auto-sync = no location = /var/db/repos/local masters = gentoo strict-misc-digests = true sync-allow-hardlinks = true sync-rcu = false
Ebuild repository priority
To set the priority of a certain repository, manually edit the relevant repos.conf section and set
priority = to the desired value. The higher the set value, the higher the priority. For example:
# created by eselect-repo [guru] location = /var/db/repos/guru sync-type = git sync-uri = https://github.com/gentoo-mirror/guru.git priority = 100
Repositories that do not have a priority explicitly set, default to
0 - except the Gentoo ebuild repository, which defaults to to a value of
Alternative sync protocols
See the gentoo.conf article for examples on how to sync the ::gentoo ebuild repository using alternatives to the traditional rsync protocol (such as via git or websync).
- Project:Portage/Repository_Verification — describes different methods used to ensure authenticity of the Gentoo ebuild repository.
- Overview of the Portage sync system
- Overlays user guide
- Repository format — A quick reference to Gentoo ebuild repository (overlay) format.
- Repository mirror and Continuous Integration
- Query repository information in the Portageq article
- Using the gentoo git checkout as your local tree
- Masking enabled ebuild repositories
- eselect repository — an eselect module for configuring ebuild repositories for Portage.
- Portage Security — aims to answer the question "How can I dispel doubts regarding the security of the Gentoo ebuild repository on a system?"