MAN portage
Aus Gentoo Linux Wiki
Dies ist eine Manpage.
Inhaltsverzeichnis |
[Bearbeiten] NAME
portage - Gentoos Herz
[Bearbeiten] BESCHREIBUNG
Der aktuelle Portage-Code benutzt viele verschiedene Konfigurationsdateien, von denen die meisten den Benutzern und normalen Entwicklern unbekannt sind. Hier soll versucht werden, die ganzen Kleinigkeiten zusammen zu tragen, damit Portage effizienter eingesetzt werden kann. Dies ist nur eine Übersicht für Dateien, die noch keine eigenen 'manpages' haben.
Alle Dateien im Verzeichnis make.profile können durch übergeordnete Profil-Dateien angepasst werden, wenn verschachtelte Profile verwendet werden. Für weitere Informationen siehe http://www.gentoo.org/proj/en/releng/docs/cascading-profiles.xml
Hinweis: Für Information darüber, wie Pakete installiert werden, siehe emerge(1)
[Bearbeiten] ÜBERSICHT
/etc/
make.globals
make.conf(5)
/etc/make.profile/
deprecated
make.defaults
packages
packages.build
package.provided
parent
use.defaults
use.mask
virtuals
/etc/portage/
bashrc
package.mask
package.unmask
package.keywords
package.use
mirrors
categories
/etc/portage/profile/
Lokale Außerkraftsetzungen von /etc/make.profile/
/usr/portage/profiles/
arch.list
categories
package.mask
thirdpartymirrors
use.desc
use.local.desc
use.mask
/var/lib/portage/
world
[Bearbeiten] GLOSSAR
Einige Begriffe in den folgenden Abschnitten können unbekannt sein oder im Zusammenhang mit Portage mit einer besonderen Bedeutung benutzt werden. Siehe dazu die angegebenen 'manpages' für weiterführendere Erklärungen.
- DEPEND-Atom
- Eine Zeichenkette, die mit einem Paket übereinstimmt. Sie entspricht dem Format Kategorie/Paket. Sie kann auch logische Operatoren und Versionsnummern enthalten. Siehe auch ebuild(5)
- KEYWORD
- Jede Architektur hat ein einzigartiges Schlüsselwort. Siehe auch ebuild(5)
- virtual
- Ein DEPEND-Atom, das ein Teil der "virtual"-Kategorie ist. Sie werden dann verwendet, wenn mehrere verschiedene Pakete eine Abhänigkeit auflösen können, aber nur eines benötig wird. Siehe auch ebuild(5)
[Bearbeiten] DATEIBESCHREIBUNGEN
- /etc/
-
- make.globals
- Die globalen Standardeinstellungen für Portage. Sie wird durch das portage-Paket selbst installiert. Werte in dieser Datei werden durch die Einstellungen in make.conf überschrieben. Das Format ist ausführlich in make.conf(5) beschrieben.
- make.conf
- Die globalen Benutzereinstellungen für Portage. Siehe make.conf(5)
- /etc/make.profile/
-
Üblicherweise ist dies nur ein symbolischer Link auf das korrekte Profil in /usr/portage/profiles/. Da es Teil des Portage-Baums ist, lässt es sich einfach durch den Aufruf von emerge --sync neu erzeugen und aktualisieren. Hier wird festgelegt, was ein Profil umfasst (meistens architekturspezifische Dinge). Wenn ein angepasstes Profil benötigt wird, sollte
ein eigenes Verzeichnis /etc/make.profile/ angelegt und mit Dateien gefüllt werden. Sollen jedoch nur einige wenige Einstellungen überschrieben werden, sollten diese Dateien nicht manuell geändert werden, da sie beim nächsten Aufruf von emerge --sync wieder überschrieben werden.
Siehe den Abschnitt über /etc/portage/ weiter unten zum Thema 'Überschreiben'.
- deprecated
- Ist diese Datei vorhanden, so wird ein Profil als missbilligt gekennzeichnet, was bedeutet, dass es nicht länger von Gentoo unterstützt wird. Es enthält den Namen des Profils, auf das die Benutzer wechseln sollten.
- make.defaults
- Die Voreinstellungen für Portage des Profils. Das allgemeine Format ist in make.conf(5) beschrieben. Die Datei make.defaults definiert ebenfalls einige besondere Variablen für das Profil:
- ARCH
- Art der Prozessorarchitektur (x86/ppc/hppa/etc...).
- USERLAND = "GNU"
- Unterstützt BSD/cygwin/etc...
- PORTAGE_LIBC = "glibc"
- Unterstützt uClibc/BSD libc/etc...
- PROFILE_ARCH
- Unterscheidung von verschiedenen Rechnerklassen innerhalb einer Prozessorarchitektur. Alle sparc-Rechner weisen ARCH=sparc auf, PROFILE_ARCH wird aber entweder auf 'sparc32' oder auf 'sparc64' gesetzt.
- STAGE1_USE
- Besondere USE-Flags, die benötigt werden können, wenn eine Stage 1- in eine Stage 2-Installation umgewandelt wird.
- GRP_STAGE23_USE
- Besondere USE-Flags, die von catalyst benötigt werden, um eine Stage 3-Installation oder ein GRP-Satz zusammengestellt wird.
- packages
- Diese Datei hat zwei Funktionen. Erstens werden bestimmte Pakete oder Versionen profilbezogen maskiert, zweitens enthält sie die Liste der Pakete, aus denen sich die spezielle system-Klasse zusammensetzt.
Format:
- Kommentare beginnen mit #
- ein DEPEND-Atom pro Zeile, was maskiert werden soll
- Pakete, die der system-Klasse hinzugefügt werden sollen, beginnen mit *
Beachte: Werden verschachtelte Profile eingesetzt, können Pakete, die durch übergeordnete Profile dem Tochterprofil hinzugefügt wurden, durch Voranstellen von - aus dem Profil ausgeschlossen werden.
Beispiel:
Datei: packages # Ich bin ein Kommentar! # Nur Versionen kleiner als 2.3 von glibc zulassen <sys-libs/glibc-2.3 # Alle Versionen von bash der system-Klasse hinzufügen *app-shells/bash # Nur Versionen kleiner als 4.2 von readline zulassen und # diese der system-Klasse hinzufügen # and add it to the system class *<sys-libs/readline-4.2
- packages.build
- Eine Liste der Pakete (eines pro Zeile), welche zusammen einen Stage 1-Tarball ergeben. Nur für stage builder wirklich nützlich.
- package.provided
- Eine Liste von Paketen (eines pro Zeile), bei denen Portage davon ausgehen soll, dass sie vorhanden sind. Dies ist für Portierungen auf Nicht-Linux-Systeme hilfreich. Die hier gelisteten Pakete werden solange nicht durch Portage aktualisiert, bis ein anderes Paket explizit eine neuere als die aufgelistete Version erfordert. Im Grunde stellt die Datei eine Liste dar, welche den Aufruf von emerge --inject ersetzt.
Wird beispielsweise eine eigene Kopie eines 2.6er Kernels verwaltet, kann Portage mitgeteilt werden, dass die Abhängigkeit 'sys-kernel/development-sources-2.6.7' bereits erfüllt ist.
Format:
- Kommentare beginnen mit #
- ein DEPEND-Atom pro Zeile
- Relationale Operatoren sind nicht zulässig
- Versionsnummern müssen angegeben werden
Beispiel:
Datei: package.provided # Benutzer kümmert sich selbst um den Kernel sys-kernel/development-sources-2.6.7 # Benutzer hat eigene Version von Qt installiert x11-libs/qt-3.3.0
- parent
- Diese Datei enthält einen relativen oder absoluten Pfad zum übergeordneten Profil. Relative Pfade werden im Verhältnis zum Speicherort des Profils bestimmt. Üblicherweise wird .. angegeben, um auf das übergeordnete Verzeichnis zu verweisen. Dies wird nur in verschachtelten Profilen verwendet.
- use.defaults
- Hier werden nicht die Standardwerte für die USE-Flags, sondern die sogenannten Auto-USE-Flags angegeben. Diese eher unbekannte Fähigkeit von Portage setzt ein USE-Flag dann, wenn ein bestimmtes Paket installiert ist und das Flag nicht ausdrücklich deaktiviert wurde. In dieser Datei wird die Verknüpfung hergestellt zwischen USE-Flags und Paketen, welche die Auto-USE-Fähigkeiten nutzen.
Wurde beispielsweise weder "sdl" noch "-sdl" in der USE-Variablen angegeben, andererseits aber das Paket media-libs/libsdl installiert, so wird Portage automagisch "sdl" der USE-Variablen hinzufügen.
Format:
- Kommentare beginnen mit #
- ein USE-Flag pro Zeile mit einer Liste von DEPEND-Atomen
Beispiel:
Datei: use.defaults # media-libs/libsdl wird "sdl" setzen sdl media-libs/libsdl # "tcltk" nur dann setzen, wenn sowohl dev-lang/tcl # als auch dev-lang/tk installiert sind tcltk dev-lang/tcl dev-lang/tk
- use.mask
- Für manche Architekturen sind bestimmte USE-Flags noch nicht getestet oder nicht sinnvoll (wie zum Beispiel altivec auf nicht-ppc-Architekturen oder mmx auf nicht-x86-Architekturen). Diese Flags werden hier gelistet und maskiert.
Format:
- Kommentare beginnen mit #
- ein USE-Flag pro Zeile
- virtuals
- Durch diese Datei wird bestimmt, welche Pakete automatisch ein virtual bereitstellen. Soll ein Paket beispielsweise E-Mails verschicken können, so wird virtual/mta benötigt. Ist kein Paket installiert, das virtual/mta bereitstellt (wie qmail, sendmail, postfix etc.), so wird Portage in dieser Datei abfragen, welches Paket stattdessen benutzt werden soll. Im Beispiel benutzt Gentoo net-mail/ssmtp als Voreinstellung (wie in der Datei virtuals angegeben), da dieses Paket die absoluten Grundfunktionen zum E-Mail-Versand bereitstellt.
Format:
- Kommentare beginnen mit #
- ein Paar bestehend aus einem virtual und ein DEPEND-Atom pro Zeile
Beispiel:
Datei: virtuals # Verwende net-mail/ssmtp als Standard-MTA virtual/mta net-mail/ssmtp # Verwende app-dicts/aspell-de als Standard-Wörterbuch virtual/aspell-dict app-dicts/aspell-de
- /etc/portage/
-
- bashrc
- Wenn dies benötigt wird, kann durch diese Datei eine besondere Umgebung für ebuilds bereitgestellt werden, die von der üblichen root-Umgebung abweicht. Es wird dieselbe Syntax wie in anderen bash-Skripten verwendet.
- package.mask
- Eine Liste der DEPEND-Atome, die maskiert werden sollen. Dies ist hilfreich, wenn bestimmte Versionen eines Paketes nicht einwandfrei funktionieren. So stellt es etwa kein Problem dar, wenn lediglich Versionen früher als 1.0.4496 der nVidia-Treiber verwendet werden sollen.
Format:
- Kommentare beginnen mit #
- ein DEPEND-Atom pro Zeile
Beispiel:
Datei: package.mask # Maskiere Version 1.0.4496 und später der nVidia-Treiber >=media-video/nvidia-kernel-1.0.4496 >=media-video/nvidia-glx-1.0.4496
- package.unmask
- Entsprechend der Funktion von package.mask oben, nur dass hier die Pakete angegeben werden, die demaskiert werden sollen. Dies ist hilfreich, um Einträge in der globalen package.mask (siehe unten) außer Kraft zu setzen. Zu beachten ist jedoch, dass Pakete, die mittels KEYWORDS maskiert wurden, auf diese Weise nicht demaskiert werden können.
- package.keywords
- Paketspezifische KEYWORDS. Hilfreich, wenn auf einem Rechner stabile und Test-Versionen gleichzeitig verwendet werden sollen. Auf diese Weise kann ACCEPT_KEYWORDS für ein einzelnes Paket erweitert werden.
Format:
- Kommentare beginnen mit #
- ein DEPEND-Atom pro Zeile, gefolgt von zusätzlichen ACCEPT_KEYWORDS
Beispiel:
Datei: package.keywords # Immer die Testversion vonlibgd verwenden media-libs/libgd ~x86 # Nur stabile Versionen von mplayer verwenden media-video/mplayer -~x86 # Ein Paket verwenden, dass als -* markiert ist >=sys-kernel/linux-headers-2.6 -*
- package.use
- Paketspezifische USE-Flags. Hilfreich, wenn lokale USE-Flags eingesetzt werden oder USE-Flags nur für einzelne Pakete aktiviert werden sollen. So kann beispielsweise einfach nur die Dokumentation für GTK, nicht aber für Qt installiert werden.
Format:
- Kommentare beginnen mit #
- ein DEPEND-Atom pro Zeile mit einer durch Leerzeichen getrennten Liste von USE-Flags
Beispiel:
Datei: package.use # Dokumentation für GTK 2.x installieren =x11-libs/gtk+-2* doc # Keine Unterstützung von mysql durch Qt x11-libs/qt -mysql
- mirrors
- Jedes Mal, wenn Portage auf eine URL vom Typ mirror:// stößt, wird diese Datei nach dem tatsächlichen Host durchsucht. Wird der Spiegel-Server hier nicht gefunden, wird die globale Spiegel-Datei unter /usr/portage/profiles/thirdpartymirrors durchsucht. Es ist ebenfalls möglich, einen besonderen Spiegel-Typ namens local einzurichten. Diese Liste von Spiegeln wird vor GENTOO_MIRRORS überprüft und sogar dann benutzt, wenn für das Paket RESTRICT="nomirror" gesetzt ist.
Format:
- Kommentare beginnen mit #
- Spiegel-Typ, gefolgt von einer Host-Liste
Beispiel:
Datei: mirrors # Lokale, private Spiegel, die firmenintern verwendet werden local ftp://192.168.0.3/mirrors/gentoo http://192.168.0.4/distfiles # Benutzer aus Japan werden japanische Spiegel-Server bevorzugen sourceforge http://keihanna.dl.sourceforge.net/sourceforge # Benutzer in Tawain werden den lokalen GNU-Spiegel bevorzugen gnu ftp://ftp.nctu.edu.tw/UNIX/gnu/
- categories
- Eine einfache Liste von zulässigen Kategorien, die in /usr/portage, PORTDIR_OVERLAY und PKGDIR verwendet werden können. (siehe make.conf(5)). Auf diese Weise können eigene Kategorien erstellt werden.
Format:
- eine Kategorie pro Zeile
Beispiel:
Datei: categories app-hackers media-other
- /usr/portage/profiles/
-
Globale Gentoo-Einstellungen, welche durch die Entwickler festgelegt werden. Um diese zu überschreiben, können die Dateien in /etc/portage/ benutzt werden.
- arch.list
- Eine Liste aller zulässigen KEYWORDS. Modifikatoren werden dabei nicht angegeben.
Format:
- one KEYWORD per line
Beispiel:
Datei: arch.list x86 ppc sparc
- categories
- Eine einfache Liste von zulässigen Kategorien, die in /usr/portage, PORTDIR_OVERLAY und PKGDIR verwendet werden können. (siehe make.conf(5)).
Format:
- eine Kategorie pro Zeile
Beispiel:
Datei: categories app-admin dev-lang games-strategy sys-kernel
- package.mask
- Diese Datei enthält eine Liste von DEPEND-Atomen derjenigen Pakete, die in jedem Profil von der Installation ausgeschlossen werden sollen. Dies ist zum Beispiel nützlich, wenn die aktuellste Beta-Version von KDE zu Portage hinzugefügt und verhindert werden soll, dass jemand versehentlich auf diese Version aktualisiert. Ebenfalls nützlich, um aus Sicherheitsgründen schnell bestimmte Versionen zu maskieren. Es sollte immer ein Kommentar beigefügt werden, warum das Paket maskiert wurde und wer die Maskierung vorgenommen hat.
Format:
- Kommentare beginnen mit #
- ein DEPEND-Atom pro Zeile
Beispiel:
Datei: package.mask # Aus Sicherheitsgründen maskiert <sys-libs/zlib-1.1.4 # <caleb@gentoo.org> (10 Sep 2003) # Neue Beta-Versionen von KDE =kde-base/kde-3.2.0_beta1 =kde-base/kdeaccessibility-3.2.0_beta1
- thirdpartymirrors
- Steuert die Zuweisung von URLs der Art mirror:// auf Listen mit tatsächlichen Spiegeln. Dadurch wird eine Überlastung eines einzelnen Servers verhindert.
Format:
- Kommentare beginnen mit #
- Spiegel-Typ, gefolgt von einer Host-Liste
Beispiel:
- use.desc
- Alle globalen USE-Flags müssen hier zusammen mit einer Funktionsbeschreibung aufgelistet werden.
Format:
- Kommentare beginnen mit #
- USE-Flag - Beschreibung
Beispiel:
Datei: use.desc 3dfx - Fügt Unterstützung für 3dfx-Grafikkarten hinzu acl - Fügt Unterstützung für Access Control Lists hinzu doc - Fügt zusätzliches Documentationsmaterial hinzu
- use.local.desc
- Alle lokalen USE-Flags müssen hier zusammen mit dem entsprechenden Paket und einer Funktionsbeschreibung aufgelistet werden.
Format:
- Kommentare beginnen mit #
- Paket:USE-Flag - Beschreibung
Beispiel:
Datei: use.local.desc app-editors/nano:justify - Schaltet die justify-Option ein oder aus dev-games/clanlib:clanJavaScript - Aktiviert die Javascript-Unterstützung dev-libs/DirectFB:fusion - Fügt Multi Application-Unterstützung hinzu games-emulation/xmess:net - Fügt Netzwerkunterstützung hinzu
- use.mask
- Entspricht der Datei use.mask im Verzeichnis /etc/make.profile/. Siehe oben für weitere Informationen.
- /var/lib/portage/
-
- world
- Wird ein Paket mittels emerge installiert, so wird jedes Mal das angeforderte Paket in dieser Datei aufgenommen. Wird später emerge world -up aufgerufen, wird die Paketliste aus dieser Datei ausgelesen. Zu berücksichtigen ist, dass durch Abhängigkeiten installierte Pakete hier nicht aufgelistet werden. Wird beispielsweise emerge mod_php ausgeführt und ist apache noch nicht installiert, so wird dev-php/mod_php in der Date world aufgenommen, net-www/apache jedoch nicht. Für weitere Informationen siehe emerge(1).
Format:
- ein DEPEND-Atom pro Zeile
Beispiel:
Datei: world games-misc/fortune-mod-gentoo-dev dev-libs/uclibc app-cdr/cdemu
[Bearbeiten] AUTOREN
- Marius Mauch <genone@gentoo.org>
- Mike Frysinger <vapier@gentoo.org>
- Drake Wyrm <wyrm@haell.com>
[Bearbeiten] FEHLER-REPORTS
Fehler bitte über http://bugs.gentoo.org/ berichten.
[Bearbeiten] SIEHE AUCH
emerge(1), ebuild(1), ebuild(5), make.conf(5)
[Bearbeiten] CVS HEADER
$Header: /var/cvsroot/gentoo-src/portage/man/portage.5,v 1.17.2.3 2005/01/19 01:53:39 vapier Exp $
