Gentoo Logo

[ << ] [ < ] [ Hauptseite ] [ > ] [ >> ]


1. Dateien und Verzeichnisse

Inhalt:

1.a. Portage Dateien

Konfigurationsrichtlinien

Portage kommt mit einer Standardkonfiguration gespeichert in /etc/make.globals daher. Wenn Sie einen Blick auf die Datei werfen, werden Sie feststellen, dass sämtliche Portage Konfiguration durch Variablen durchgeführt wird. Welche Variablen Portage kennt und was diese bedeuten beschreiben wir später.

Da viele Konfigurationsanweisungen sich zwischen verschiedenen Architekturen unterscheiden hat Portage auch Standardkonfigurationsdateien welche Teile Ihres Profils sind. Durch den symbolischen Link /etc/portage/make.profile wird auf Ihr Profil verwiesen. Die Einstellungen von Portage werden durch die make.defaults Dateien Ihres Profils und aller übergeordneten Profile gesetzt. Wir erklären später mehr zu den Profilen und zum /etc/make.profile Verzeichnis.

Wenn Sie planen Änderungen an Konfigurationsvariablen vorzunehmen verändern Sie nicht /etc/make.globals oder make.defaults. Anstelle dessen benutzen Sie /etc/portage/make.conf, welche eine Vorrangstellung gegenüber den vorher genannten Dateien hat. Sie finden ebenfalls eine /usr/share/portage/config/make.conf.example. Wie der Name impliziert ist dies eine Beispieldatei, Portage greift nicht auf diese Datei zu.

Sie können eine Portage Konfigurationsvariable auch als Umgebungsvariable deklarieren, wir empfehlen dies jedoch nicht.

Profile spezifische Informationen

Wir sind bereits einem /etc/portage/make.profile Verzeichnis über den Weg gelaufen. Gut, dies ist nicht wirklich ein Verzeichnis, aber ein symbolischer Link zu einem Profil, standardmäßig eines innerhalb von von /usr/portage/profiles. Sie können Profile selbst erstellen und diese auch ablegen wo Sie mögen, Sie müssen lediglich den Symlink anpassen.

Ein Profile beinhaltet Architektur-spezifische Informationen für Portage, wie eine Liste aller Pakete die zum System gehören, eine Liste von Paketen die in diesem Profil nicht funktionieren (oder maskiert sind).

Benutzerspezifische Konfiguration

Wenn Sie das Verhalten von Portage bezüglich der Installation von Software beeinflussen wollen, führt kein Weg am Editieren von Dateien in /etc/portage vorbei. Es wird Ihnen wärmstens empfohlen die Dateien in /etc/portage zu benutzen und es ist wärmstens empfohlen das Verhalten von Portage nicht durch Umgebungsvariablen zu beeinflussen!

Innerhalb von /etc/portage können Sie die folgenden Dateien erstellen:

  • package.mask listet alle Pakete auf, die Sie niemals installieren wollen
  • package.unmask listet alle Pakete, die Sie installieren wollen, obwohl Gentoo Entwickler aus guten Gründen davon abraten
  • package.accept_keywords listet alle Pakete, die Sie installieren möchten, obwohl dieses Paket (noch) nicht für Ihre Architektur freigegeben wurde
  • package.use listet alle USE Flags, die Sie für ein bestimmtes Paket und nur für dieses eine Paket verwenden möchten

Dies müssen nicht Dateien sein, es können auch Verzeichnisse sein die eine Datei per Paket enthalten. Weitere Informationen über das /etc/portage Verzeichnis und eine vollständige Liste von möglichen Dateien, die Sie erstellen können finden Sie in der Portage Manpage:

Befehlsauflistung 1.1: Lesen der Portage Manpage

$ man portage

Ändern von Portage Datei- & Verzeichnisorten

Die zuvor erwähnten Konfigurationsdateien können nicht irgendwo anders abgelegt werden, Portage wird nach diesen Dateien immer an diesen genauen Stellen suchen. Portage benutzt jedoch zahlreiche weitere Orte für zahlreiche verschiedene Zwecke: Build-Verzeichnis, Quellcode Ablage, Portage Tree, ...

Alle diese Zwecke haben bekannte Standardorte, diese können jedoch nach Ihrem persönlichen Geschmack in /etc/portage/make.conf verändert werden. Der Rest dieses Kapitels erklärt Ihnen welche speziellen Orte Portage benutzt und wie Sie den Ort abändern können.

Dieses Dokument ist dennoch nicht als Referenz gedacht. Wenn Sie eine Datei suchen, die alles umfasst konsultieren Sie die make.conf Manpages:

Befehlsauflistung 1.2: Lesen der portage und make.conf Manpages

$ man portage
$ man make.conf

1.b. Ablegen von Dateien

Der Portage-Tree

Der Portage Tree befindet sich standardmäßig in /usr/portage. Dies wird durch die PORTDIR Variable definiert. Wenn Sie den Portage Tree irgendwo anders (durch Anpassen der PORTDIR Variable) ablegen, vergessen Sie nicht den /etc/portage/make.profile Symlink anzupassen.

Wenn Sie die PORTDIR Variable anpassen, möchten Sie vermutlich auch die folgenden Variablen (PKGDIR, DISTDIR, RPMDIR) anpassen, da diese den PORTDIR Wechsel nicht beachten.

Vorkompilierte Pakete

Auch wenn Portage vorkompilierte Binärpakete nicht per default nutzt gibt es eine hervorragende Unterstützung für diese. Wenn Sie Portage anweisen Binärpakete zu erstellen werden diese in /usr/portage/packages abgelegt. Dieser Ort wird durch die PKGDIR Variable definiert.

Quellcode

Quellcode von Anwendungen wird in /usr/portage/distfiles abgelegt. Dieser Ort wird durch die DISTDIR Variable festgeelgt.

Portage-Datenbank

Portage speichert den Stand Ihres Systems (welche Pakete installiert sind, welche Dateien zu welchem Paket gehören, ...) in /var/db/pkg. Editieren Sie diese Dateien nicht per Hand! Es könnte Portages Wissen über Ihr System verwüsten.

Portage-Cache

Der Portage-Cache (mit Modifikationszeitpunkt, virtuals, Informationen zum Abhängigkeitsbaum, ...) wird in /var/cache/edb gespeichert. Dieser Ort ist wirklich ein Cache: Sie können ihn ausleeren, wenn keine Portage-basierenden Anwendungen momentan laufen.

1.c. Software übersetzen

Temporäre Portage-Dateien

Portage lagert seine temporären Dateien in /var/tmp. Dies wird durch die PORTAGE_TMPDIR Variable deklariert.

Wenn Sie die Variable PORTAGE_TMPDIR ändern, möchten Sie vermutlich auch die folgenden Variablen ändern, da diese die Änderung an der PORTAGE_TMPDIR Variable nicht übernehmen: BUILD_PREFIX.

Build-Verzeichnis

Portage erstellt spezifische Build-Verzeichnisse für jedes Paket, das installiert wird, in /var/tmp/portage. Dieser Ort wird durch die Variable BUILD_PREFIX definiert.

Live-Dateisystem Ort

Standardmäßig installiert Portage alle Dateien in das aktuelle Dateisystem (/), Sie können dies jedoch durch setzen der ROOT-Umgebungsvariable ändern. Dies ist nützlich, wenn Sie neue Build-Images erstellen wollen.

1.d. Protokollierungsfunktionen

Protokollierung von Ebuilds

Portage kann für jedes Ebuild ein Protokolldatei anlegen, falls die Variable auf ein PORT_LOGDIR-Verzeichnis zeigt, in dem der Benutzer portage Schreibrechte hat. Standardmäßig ist diese Variable nicht gesetzt. Wenn Sie PORT_LOGDIR nicht setzen, werden Sie keine Erstellungsprotokolle mit dem aktuellen Protokollsystem erhalten, jedoch könnten Sie einige Nachrichten des neuen elog erhalten. Wenn Sie PORT_LOGDIR gesetzt haben und elog verwernden, werden Sie Erstellungsprotokolle und jegliche Protokolle, die von elog gespeichert werden (wie folgt erklärt), erhalten

Portage bietet eine fein abgestimmte Kontrolle über die Protokollierung durch die Verwendung von elog:

  • PORTAGE_ELOG_CLASSES: Hier legen Sie fest welche Art von Nachrichten protokolliert werden sollen. Sie können jegliche, durch Leerzeichen getrennte, Kombination von info, warn, error, log und qa verwenden.
    • info: Protokolliert "einfo" Meldungen, die von einem Ebuild ausgegeben werden.
    • warn: Protokolliert "ewarn" Meldungen, die von einem Ebuild ausgegeben werden.
    • error: Protokolliert "eerror" Meldungen, die von einem Ebuild ausgegeben werden.
    • log: Protokolliert die "elog" Meldungen, welche sich in einigen Ebuilds finden.
    • qa: Protokolliert "QA Notice" Meldungen, die von einem Ebuild ausgegeben werden.
  • PORTAGE_ELOG_SYSTEM: Dies wählt das/die Modul(e) um die Protokollmeldungen zu bearbeiten. Wenn es leer bleibt wird Protokollierung deaktiviert. Sie können jegliche, durch Leerzeichen getrennte, Kombination von save, custom, syslog, mail, save_summary und mail_summary verwenden. Sie müssen wenigstens ein Modul auswählen um elog zu verwenden.
    • save: Dies speichert ein Protokoll pro Paket in $PORT_LOGDIR/elog, oder /var/log/portage/elog, wenn $PORT_LOGDIR nicht gesetzt ist.
    • custom: Übergibt alle Nachrichten an einen, vom Benutzer in $PORTAGE_ELOG_COMMAND spezifizierten, Befehl. Dies wird später erläutert.
    • syslog: Sendet alle Nachrichten an den installierten System-Protokollierer.
    • mail: Übergibt alle Nachrichten an einen, vom Benutzer in $PORTAGE_ELOG_MAILURI spezifizierten, Mailserver. Dies wird später erläutert. Die Mail-Funktionen von elog benötigen >=portage-2.1.1.
    • save_summary: Ähnlich wie save, aber es vereint alle Nachrichten in $PORT_LOGDIR/elog/summary.log oder /var/log/portage/elog/summary.log, wenn $PORT_LOGDIR nicht gesetzt ist.
    • mail_summary: Ähnlich wie mail, sendet aber alle Nachrichten in einer einzigen Mail wenn emerge beendet.
  • PORTAGE_ELOG_COMMAND: Dies wird nur verwendet, wenn das Modul custom aktiviert ist. Hier geben Sie einen bestimmten Befehl an, der die Protokollmeldungen bearbeitet. Beachten Sie, dass Sie von zwei Variablen Gebrauch machen können: ${PACKAGE} ist der Paketname und die Version, während ${LOGFILE} der absolute Pfad zur Protokolldatei ist. Hier ist eine mögliche Anwendung:
    • PORTAGE_ELOG_COMMAND="/pfad/zum/protokollierer -p '\${PACKAGE}' -f '\${LOGFILE}'"
  • PORTAGE_ELOG_MAILURI: Dies enthält Einstellungen für das Modul mail, wie zum Beispiel Addresse, Benutzer, Passwort, Mailserver und Portnummer. Die Standardeinstellung ist "root@localhost localhost".
  • Hier ist ein Beispiel für einen SMTP-Server, der eine Authentifizierung basierend auf Benutzername und Passwort an einem bestimmten Port benötigt (der Standardport ist 25):
    • PORTAGE_ELOG_MAILURI="benutzer@eine.domain benutzername:passwort@smtp.eine.domain:995"
  • PORTAGE_ELOG_MAILFROM: Erlaubt es Ihnen die "Von" Adresse der Protokollmails zu setzen. Der Standard ist Portage, wenn nicht gesetzt.
  • PORTAGE_ELOG_MAILSUBJECT: Erlaubt es Ihnen eine Betreffzeile für die Protokollmails zu setzen. Beachten Sie, dass Sie zwei Variablen verwenden können: ${PACKAGE} wird den Namen des Pakets und die Version anzeigen, während ${HOST} der Fully Qualified Domain-Name des Hosts ist, auf dem Portage ausgeführt wird.
  • Hier ist eine mögliche Anwendung:
    • PORTAGE_ELOG_MAILSUBJECT="Paket \${PACKAGE} wurde auf \${HOST} mit mit emerge installiert und produzierte einige Meldungen

Wichtig: Wenn Sie enotice mit Portage-2.0.* verwendet haben, müssen Sie enotice komplett entfernen, da es nicht mit elog kompatibel ist.


[ << ] [ < ] [ Hauptseite ] [ > ] [ >> ]


Drucken

Alles ansehen

Seite aktualisiert 24. Juli 2012

Diese Übersetzung wird nicht länger gepflegt

Zusammenfassung: Wenn Sie Portage ein wenig näher kennenlernen wollen sollten Sie wissen, wo welche Daten und Dateien abgelegt werden. files and data.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Gentoo x86 Entwickler

Tavis Ormandy
Gentoo Alpha Entwickler

Jason Huebel
Gentoo AMD64 Entwickler

Guy Martin
Gentoo HPPA Entwickler

Pieter Van den Abeele
Gentoo PPC Entwickler

Joe Kallar
Gentoo SPARC Entwickler

John P. Davis
Bearbeiter

Pierre-Henri Jondot
Bearbeiter

Eric Stockbridge
Bearbeiter

Rajiv Manglani
Bearbeiter

Jungmin Seo
Bearbeiter

Stoyan Zhekov
Bearbeiter

Jared Hudson
Bearbeiter

Colin Morey
Bearbeiter

Jorge Paulo
Bearbeiter

Carl Anderson
Bearbeiter

Jon Portnoy
Bearbeiter

Zack Gilburd
Bearbeiter

Jack Morgan
Bearbeiter

Benny Chuang
Bearbeiter

Erwin
Bearbeiter

Joshua Kinard
Bearbeiter

Tobias Scherbaum
Bearbeiter

Xavier Neys
Bearbeiter

Grant Goodyear
Korrektor

Gerald J. Normandin Jr.
Korrektor

Donnie Berkholz
Korrektor

Ken Nowack
Korrektor

Lars Weiler
Mitarbeiter

Tobias Scherbaum
Übersetzer

Jens Schittenhelm
Übersetzer

Patrick Sudowe
Übersetzer

Torsten Veller
Übersetzer

Michael Frey
Übersetzer

Markus Nigbur
Übersetzer

Boris Ruppert
Übersetzer

Jan Hendrik Grahl
Übersetzer

Christian Hartmann
Korrektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.