[ << ]
[ < ]
[ 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 ]
[ > ]
[ >> ]
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|