/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.
It is also possible to add a repository by manually creating files in /etc/portage/repos.conf, see the appropriate section of the Handbook (other reference).
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 smaller 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
- Layman - Using 'repos.conf' method in the Layman article
- 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?"