Handbuch:X86/Portage/EigenerZweig
Eine Untermenge des Portage-Baums verwenden
Pakete und Kategorien ausschliessen
Es ist möglich selektiv bestimmte Kategorien/Pakete zu aktualisieren und die anderen Kategorien/Pakete zu ignorieren. Dies können Sie dadurch erreichen, indem Sie rsync währen dem emerge --sync
Schritt Kategorien/Paketen ausschließen lassen.
Definieren Sie den Namen der Datei, die das Ausschluss-Muster beinhaltet in der Variable PORTAGE_RSYNC_EXTRA_OPTS in /etc/portage/make.conf:
/etc/portage/make.conf
Ausschluss-Datei definierenPORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
/etc/portage/rsync_excludes
Alle Spiele ausschließengames-*/*
Beachten Sie, dass dieses Vorgehen zu Abhängigkeits-Problemen führen kann, da neue erlaubte Pakete von neuen aber ausgeschlossenen Paketen abhängig sein können.
In order for this method to work, manifest verification must be disabled which will reduce the security of the repo. To disable the verification, either disable the rsync-verify USE flag on sys-apps/portage or set sync-rsync-verify-metamanifest=no in the repos.conf entry of the Gentoo repository.
Inoffizielle ebuilds hinzufügen
Ein Portage Overlay-Verzeichnis definieren
Es ist möglich Portage anzuweisen Ebuilds zu verwenden, die nicht offiziell durch den Portage-Baum verfügbar sind. Erzeugen Sie ein neues Verzeichnis (z.B. /usr/local/portage), in dem die Fremd-Ebuilds untergebracht werden. Verwenden Sie die gleiche Verzeichnisstruktur wie beim offiziellen Portage-Baum!
root #
mkdir -p /var/db/repos/localrepo/{metadata,profiles}
root #
chown -R portage:portage /var/db/repos/localrepo
Next, pick a sensible name for the repository. The next example uses "localrepo" as the name:
root #
echo 'localrepo' > /var/db/repos/localrepo/profiles/repo_name
Tell Portage that the repository master is the main Gentoo ebuild repo, and that the local repository should not be automatically synchronized (as it is not backed by an external source such as an rsync server, git mirror, or other repository type):
/var/db/repos/localrepo/metadata/layout.conf
masters = gentoo auto-sync = false
Finally, enable the repository on the local system by creating a repository configuration file inside /etc/portage/repos.conf. This will inform Portage of where the custom local repository can be found:
/etc/portage/repos.conf/localrepo.conf
[localrepo] location = /var/db/repos/localrepo
Mit mehreren Overlays arbeiten
Für Power-User die auf mehreren Overlays entwickeln, Pakete testen bevor diese auf den Portage-Baum stoßen oder nur inoffizielle Eblilds aus unterschiedlichen Quellen nutzen wollen bietet das Paket app-portage/layman das Tool layman
. Dies ist ein Werkzeug das es dem Benutzer gestattet die Overlay-Repositories aktuell zu halten.
Alternatively, install app-eselect/eselect-repository to utilize the native synchronization in Portage. See also Eselect/Repository
eselect-repository
Adding repositories is simple with the eselect module (available via app-eselect/eselect-repository):
For instance, to enable the hardened-development overlay:
root #
eselect repository enable hardened-development
Updating of overlays added with this methods happens naturally with:
root #
emerge --sync
Installieren und konfigurieren Sie layman
als erstes wie im Overlay Benutzerleitfaden gezeigt, und fügen Sie die gewünschten Repositories mit layman -a
hinzu.
Aktivieren Sie beispielsweise das hardened-development Overlay:
root #
layman -a hardened-development
Ungeachtet dessen wie viele Repositories durch layman
verwendet werden, können all diese Repositories durch den folgenden Befehl aktualisiert werden:
root #
layman -S
Für weitere Informationen über die Arbeit mit Overlays lesen Sie bitte man layman
und den zuvor verlinkten layman/ Overlay Benutzerleitfaden.
Durch Portage nicht unterstützte Software
Verwendung von Portage mit selbst-gewarteter Software
Manchmal möchte der Benutzer Software individuell konfigurieren, installieren und warten ohne dass Portage den Vorgang automatisiert, obwohl Portage die Software-Titel bereitstellen kann. Bekannte Fälle sind die Kernel-Quellen und nVidia-Treiber. Es ist möglich Portage so zu konfigurieren, dass es weiß dass bestimmte Pakete manuell auf dem System installiert wurden (und diese Information deshalb bei der Berechnung von Abhängigkeiten berücksichtigt wird). Dieser Vorgang wird Injektion genannt und wird von Portage durch die Datei /etc/portage/profile/package.provided unterstützt.
Um beispielsweise Portage über gentoo-sources-2.6.11.6 zu informieren, das manuell installiert wurde, fügen Sie /etc/portage/profile/package.provided die folgende Zeile hinzu:
/etc/portage/package.provided
gentoo-sources-2.6.11.6 als manuell installiert markierensys-kernel/gentoo-sources-2.6.11.6
Dies ist eine Datei, die Versionen ohne Operatoren verwendet.