Handbuch:Alpha/Portage/Eigener Tree

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:Alpha/Portage/CustomTree and the translation is 100% complete.
Alpha Handbuch
Installation
Über die Installation
Auswahl des Mediums
Konfiguration des Netzwerks
Vorbereiten der Festplatte(n)
Installation des Stage Archivs
Installation des Basissystems
Konfiguration des Kernels
Konfiguration des Systems
Installation der Tools
Konfiguration des Bootloaders
Abschluss
Arbeiten mit Gentoo
Portage-Einführung
USE-Flags
Portage-Features
Initskript-System
Umgebungsvariablen
Arbeiten mit Portage
Dateien und Verzeichnisse
Variablen
Mischen von Softwarezweigen
Zusätzliche Tools
Eigener Portage-Tree
Erweiterte Portage-Features
Netzwerk-Konfiguration
Zu Beginn
Fortgeschrittene Konfiguration
Modulare Vernetzung
Drahtlose Netzwerke
Funktionalität hinzufügen
Dynamisches Management


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:

DATEI /etc/portage/make.confAusschluss-Datei definieren
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
DATEI /etc/portage/rsync_excludesAlle Spiele ausschließen
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):

DATEI /var/db/repos/localrepo/metadata/layout.conf
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:

DATEI /etc/portage/repos.conf/localrepo.conf
[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
Die Aktualisierung von Overlays, die mit dieser Methode hinzugefügt wurden, erfolgt natürlich mit:
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-4.9.16 zu informieren, das manuell installiert wurde, fügen Sie zu /etc/portage/profile/package.provided die folgende Zeile hinzu:

DATEI /etc/portage/profile/package.providedgentoo-sources-4.9.16 als manuell installiert markieren
sys-kernel/gentoo-sources-4.9.16
Hinweis
Dies ist eine Datei, die Versionen ohne = Operator verwendet.