From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Eselect/Repository and the translation is 12% complete.
Outdated translations are marked like this.

eselect-repository est un module eselect pour configurer les sources d'ebuild pour Portage. Les fichiers de configuration des sources d'ebuild sont stockés dans /etc/portage/repos.conf.

See also
Pour plus d'options voir man repository.eselect
Cet utilitaire est un remplacement de layman pour lister, configurer et gérer la synchronisation de source d'ebuilds alteratifs. Il y a quelques exceptions où layman complète eselect-repository, comme par exemple pour l'utiliation de système de synchronisation que Portage ne supporte pas nativement (par exemple darcs et g-sorcery).

eselect-repository est developpé et maintenu par le développeur Gentoo Michał Górny (mgorny) .


root #emerge --ask app-eselect/eselect-repository


Configuration initiale

The repos.conf file or directory as configured by the REPOS_CONF variable in /etc/eselect/repository.conf, must exist before the module will function properly. The Gentoo Handbook prefers to have it as a directory, and some tools will not work otherwise:

root #mkdir -p /etc/portage/repos.conf


Paths and options can be changed in /etc/eselect/repository.conf. This file has comments and is self-explanatory.


Repositories can be synced after being configured, using Portage's emaint:
root #emaint sync -r foo

Gentoo allows users and developers to register repositories on, for public consumption. eselect repository will fetch and read the known list.

Listing ebuild repositories registered with

eselect repository can print all repositories listed on

user $eselect repository list
Available repositories:
  [1]   foo
  [2]   bar
  [3]   baz
  [4]   cross #
  [5]   good *
  [6]   my_overlay @
  • Installed, enabled repositories are suffixed with a * character.
  • Repositories suffixed with #, need their sync information updated (via disable/enable) or were customized by the user.
  • Repositories suffixed with @ are not listed by name in the official, published list.

Use the -i option to show currently configured repositories only:

user $eselect repository list -i

Add ebuild repositories from

Syntax: enable (<name>|<index>)...

root #eselect repository enable foo bar baz

Add repositories


  • list and explain available sync types.

Syntax: add <name> <sync-type> <sync-uri>

root #eselect repository add test git
When an ebuild repository is added for the first time, it must be synchronized before use.
Attention !
While the Gentoo ebuild repository is either written or reviewed by Gentoo developers, and the GURU repository has some developer oversight, that is not always the case for other ebuild repositories. It is possible that some ebuilds repositories might contain vulnerable, badly broken or, theoretically, even malicious software.

Disable repositories without removing contents

Syntax: disable [-f] (<name>|<index>)...

root #eselect repository disable foo bar

The -f option is required for repositories not registered with, and those without sync attributes. Use with care.

Disable repositories and remove contents

Syntax: remove [-f] (<name>|<index>)...

root #eselect repository remove bar baz

The -f option is required for repositories not registered with, and those without sync attributes. Use with care.

Create a new ebuild repository

The create subcommand will create an ebuild repository skeleton, and configure it with Portage:

Syntax: create <name> [<path>]

root #eselect repository create <ebuild_repository_name>
Adding <ebuild_repository_name> to /etc/portage/repos.conf ...
Repository <ebuild_repository_name> created and added

See also