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
Die Einstellungen zu den Repositorien des aktuellen Systems werden in der Datei bzw. dem Verzeichnis /etc/portage/repos.conf gespeichert. Es enthält die Verweise zum Gentoo-Repository und zu möglicherweise verwendeten ebuild-Repositorien.
Format
Obwohl Portage mit repos.conf sowohl als Datei als auch als Verzeichnis zurecht kommt, ist die empfohlene Methode die des Verzeichnis. Andere Werkzeuge wie layman und mirrorselect erwarten ein Verzeichnis. Layman erstellt und verwaltet seine eigene layman.conf Datei um seine installierten ebuild-Repositorien bei Portage anzumelden. mirrorselect benutzt die Datei reps.conf/gentoo.conf um den Parameter
sync-uri
der Gentoo-Repositorien zu verwalten.
- Dateinamen können aus beliebigen Zeichenketten, mit und ohne Suffixe, bestehen, abgesehen von repos.conf/gentoo.conf welche von mirrorselect erwartet wird.
- Kommentare beginnen mit dem Zeichen
#
. Es gibt keine Inline-Kommentare. - Die Einstellungen der Repositorien werden in eigenständigen Dateien verwaltet, welche mit
[Repositorium_Name]
beginnen. Es empfiehlt sich, für[Repositorium_Name]
den gleichen Namen zu wählen wie in der Datei repo_name. - Eigenschaften werden gemaß des Schemas
Attribut=Wert
gesetzt.
In der Standardauswahl unterstützte Eigenschaften
main-repo
- Specifies main repository.
eclass-overrides
- Makes all repositories inherit eclasses from the specified repositories. Setting this attribute is generally not recommended since resulting changes in eclass inheritance may trigger performance issues due to invalidation of metadata cache.
- The egencache, emirrordist and repoman tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting
force = eclass-overrides
. force
- Specifies names of attributes, which should be forcefully respected by egencache, emirrordist, and repoman. Valid values:
aliases
,eclass-overrides
, andmasters
.
In Abschnitten der Repositorien unterstützte Eigenschaften
aliases
- Enthält den Alias eines Repositoriums.
auto-sync
- Diese Einstellung legt fest, ob das Repositorium von emerge --sync oder emaint sync --auto aktualisiert wird. Das erlaubt es, Repositorien nur mit Hilfe von emaint sync --repo foo zu aktualisieren. Gültige Werte sind:
yes
,no
,true
oderfalse
. Falls kein Wert angegeben ist, wirdyes
odertrue
angenommen. eclass-overrides
- Lässt alle Repositorien die eclasses eines bestimmten Repositoriums erben. Diese Einstellung zu setzen wird im Allgemeinen nicht empfohlen, da Änderungen in dem ererbenden Repositorium Leistungseinbußen wegen fehlerhaften Metadaten im Zwischenspeicher verursachen können. Die Werkzeuge egencache, emirrordist und repoman ignorieren diese Einstellung standardmäßig, da sie im Allgemeinen nicht seitenspezifisch arbeiten (Ihre Operationen konzentrieren sich auf globale, nicht-individualisierte Aspekte von portage und der Gentoo-Repositorien). Dieses Verhalten kann mit der Einstellung
force = eclass-overrides
überschrieben werden. force
- Gibt die Namen den Einstellungen an, welche gezwungenermaßen von egencache, emirrordist, und repoman respektiert werden sollen. Gültige Werte beinhalten:
aliases
,eclass-overrides
undmasters
. location
- Legt den Ort des Repositoriums fest.
masters
- Gibt Master-Repositorien eines Repositoriums an. Diese Einstellung zu setzen ist im Allgemeinen nicht empfohlen, da Änderungen in der vererbenden eclass Leistungseinbußen durch fehlerhafte Daten im Metadatenzwischenspeicher verursachen können.
- Die Werkzeuge egencache, emirrordist und repoman ignorieren diese Einstellung standardmäßig, da sie im Allgemeinen nicht seitenspezifisch arbeiten (Ihre Operationen konzentrieren sich auf globale, nicht-individualisierte Aspekte von portage und der Gentoo-Repositorien). Dieses Verhalten kann mit der Einstellung
force = eclass-overrides
überschrieben werden. priority
- Legt die Priorität des Repositoriums fest.
sync-cvs-repo
- Gibt ein CVS-Repositorium an
clone-depth
- Legt fest, bis zu welcher Tiefe DVCS-Repositorien geklont werden sollen. Die Vorgabe ist
1
(nur die neuste Änderung). Bei0
ist die Tiefe unbegrenzt. sync-type
- Legt die Art und Weise der Synchronisation von emerge --sync fest. Gültige Werte sind:
cvs
,git
,rsync
,svn
,websync
(<=portage-2.2.18) oderwebrsync
(>=portage-2.2.19). Bei nicht gesetztem Wert wird die Synchronisation deaktiviert. Dies entspricht dem voreingestellten Wert. sync-umask
- Legt den umask-Code fest, der zur Synchronisation benutzt wird. Erlaubt sind oktale Erlaubnismasken, z.B.
022
. sync-uri
- Legt die von emerge --sync zur Synchronisation verwendete URI des Repositoriums fest. Diese Einstellung kann leer gelassen werden um die Synchronisation zu deaktivieren. Das ist die Vorgabeeinstellung.
Syntax: cvs: [cvs://]:Zugriffsmethode:[benutzername@]hostname[:port]:/pfad git: (git|git+ssh|http|https)://[benutzername@]hostname[:port]/pfad rsync: (rsync|ssh)://[benutzername@]hostname[:port]/(modul|pfad)
sync-user
- Legt die zur Synchronisation verwendeten Zugangsdaten fest. Wenn nur ein Benutzer angegeben ist, wird die primäre Gruppe des Benutzers verwendet. Wenn nur die Gruppe festgelegt ist, wird der aktuelle Benutzer beibehalten und nur die Gruppen-ID geändert. Diese Einstellung überschreibt
FEATURES=userpriv
. Wenn weder Benutzer noch eine Gruppen-ID angegeben sind, verwendet Portage nicht den Besitzer des Verzeichnisses.
Syntax: [benutzer][:gruppe]
Beispiele
Das Gentoo-Repository
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.
Eigene ebuild-Repositorien
[NameOfYourEbuildRepository] location = /usr/local/portage masters = gentoo auto-sync = no
Weitere Informationen sind im Artikel custom repository zu finden.
Externe ebuild-Repositorien
/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 als eigenständige Datei
Um eine beispielhafte repos.conf als eigenständige Datei zu erhalten, führen Sie folgenden Befehl aus und suchen Sie nach dem Abschnitt repos.conf:
user $
man 5 portage
Repositorien auflisten
Um eine kurze nach aufsteigender Prioritätszahl sortierte und hübsch formatierte Liste zu erhalten:
user $
emerge --info --verbose | sed -n '/^Repo/,/^ABI/p' | head -n -1
Um eine ausführliche Liste an Repositorien zu erhalten, ohne Formatierung:
user $
portageq repos_config /
Weiterführende Informationen
- Validated Gentoo repository snapshots in the Gentoo Handbook
- Overview over the new Portage sync system
- Layman - Using 'repos.conf' method in the Layman article
- Overlays user guide
- Repository format
- Repository mirror and Continuous Integration
- Query repository information in the Portageq article
- Using the gentoo git checkout as your local tree
- Masking installed but unsafe ebuild repositories
- eselect-repository, a tool to manage third-party repositories in repos.conf