Handbuch:Alpha/Portage/Eigener Tree
Eine Untermenge des Gentoo-Repositoriums verwenden
Pakete und Kategorien ausschließen
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/Pakete ausschließen lassen.
Damit diese Methode funktioniert, muss die Manifestüberprüfung deaktiviert werden, was die Sicherheit des Repositoriums verringert. Um die Überprüfung zu deaktivieren, deaktivieren Sie entweder das USE-Flag rsync-verify auf sys-apps/portage oder setzen Sie sync-rsync-verify-metamanifest=no im repos.conf-Eintrag des Gentoo-Repositorium.
Definieren Sie den Namen der Datei, die das Ausschluss-Muster beinhaltet in der Variable PORTAGE_RSYNC_EXTRA_OPTS in /etc/portage/make.conf:
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
games-*/*
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.
Inoffizielle ebuilds hinzufügen
Ein benutzerdefiniertes Ebuild-Repositorium definieren
Manual creation
Es ist möglich Portage anzuweisen Ebuilds zu verwenden, die nicht offiziell durch das Gentoo Ebuild-Repositorium verfügbar sind. Zu diesem Zweck erzeugen Sie ein neues Verzeichnis (z.B. /var/db/repos/localrepo), in dem die Ebuilds von Drittanbietern untergebracht werden. Dieses neue Repositorium erfordert die gleiche Verzeichnisstruktur wie beim offiziellen Gentoo-Repositorium!
root #
mkdir -p /var/db/repos/localrepo/{metadata,profiles}
root #
chown -R portage:portage /var/db/repos/localrepo
Als nächstes wählen Sie einen sinnvollen Namen für das Repositorium. Im nächsten Beispiel wird "localrepo" als Name verwendet:
root #
echo 'localrepo' > /var/db/repos/localrepo/profiles/repo_name
Then define the EAPI used for the profiles within the repository:
root #
echo '8' > /var/db/repos/localrepo/profiles/eapi
Sagen Sie Portage, dass der Repositorium-Master das Haupt-Gentoo-Ebuild-Repositorium ist und dass das lokale Repositorium nicht automatisch synchronisiert werden soll (da es nicht von einer externen Quelle wie einem rsync-Server, Git-Mirror oder einem anderen Repositorientyp gesichert wird):
masters = gentoo
auto-sync = false
Schließlich aktivieren Sie das Repositorium auf dem lokalen System, indem Sie eine Repositorium-Konfigurationsdatei in /etc/portage/repos.conf erstellen. Dies wird Portage darüber informieren, wo das benutzerdefinierte lokale Repositorium gefunden werden kann:
[localrepo]
location = /var/db/repos/localrepo
Optional: Creating a repo using eselect repository
Alternatively, a custom ebuild repository can be quickly created using the eselect repository module (from app-eselect/eselect-repository). In the following example, substitute localrepo
with a name of choice:
root #
eselect repository create localrepo
Adding localrepo to /etc/portage/repos.conf/eselect-repo.conf ... Repository <ebuild_repository_name> created and added
A bare repository named "localrepo" will be made available at /var/db/repos/localrepo.
Mit mehreren Overlays arbeiten
For those desiring to develop several ebuild repos, test packages before they hit the Gentoo repository, or who want to use unofficial ebuilds from various sources, the app-eselect/eselect-repository package also provides tooling to aid in keeping repositories up to date. See also eselect repository article.
eselect-repository
Aktivieren Sie beispielsweise das hardened-development Overlay:
root #
eselect repository enable hardened-development
root #
emerge --sync
Nicht von Portage gepflegte 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-6.6.21 zu informieren, das manuell installiert wurde, fügen Sie zu /etc/portage/profile/package.provided die folgende Zeile hinzu:
sys-kernel/gentoo-sources-6.6.21
Dies ist eine Datei, die Versionen ohne
=
Operator verwendet.