PACMAN.CONF(5) Pacman-Handbuch PACMAN.CONF(5) BEZEICHNUNG pacman.conf - Konfigurationsdatei fur den Paketverwalter Pacman UBERSICHT /etc/pacman.conf BESCHREIBUNG Pacman versucht bei jedem Aufruf, mittels libalpm(3) die Datei pacman.conf zu lesen. Diese Konfigurationsdatei ist in Abschnitte oder Repositorien unterteilt. Jeder Abschnitt definiert ein Paket-Repositorium, das Pacman bei der Suche nach Paketen im --sync-Modus nutzen kann. Eine Ausnahme bildet der Abschnitt >>options<<, in dem globale Optionen definiert werden. Kommentare werden nur am Anfang einer Zeile unterstutzt, indem diese mit einem Rautezeichen (#) begonnen wird. Kommentare durfen nicht inmitten einer Zeile beginnen. BEISPIEL # # pacman.conf # [options] NoUpgrade = etc/passwd etc/group etc/shadow NoUpgrade = etc/fstab [core] Include = /etc/pacman.d/core [custom] Server = file:///home/pkgs Hinweis Jede Anweisung muss in >>CamelCase<< (>>Kamelschrift<<, Schreibweise mit innenliegenden Grossbuchstaben) eingetragen werden. Falls diese Schreibweise nicht respektiert wird, wird die Anweisung nicht erkannt. Beispielsweise wurde weder >>noupgrade<< noch >>NOUPGRADE<< funktionieren. OPTIONEN RootDir = /Pfad/zum/Wurzelverzeichnis legt das standardmassige Wurzelverzeichnis fest, in das Pacman installieren soll. Diese Option wird dann verwendet, wenn Sie ein Paket auf einer temporar eingehangten Partition installieren wollen, die zu einem anderen System >>gehort<< oder bei einer Chroot-Installation. HINWEIS: Falls der Datenbankpfad oder die Protokolldatei weder in der Befehlszeile noch in pacman.conf(5) angegeben sind, wird der Standardort innerhalb dieses Wurzelpfades liegen. DBPath = /Pfad/zum/Datenbankverzeichnis setzt den vorgegebenen Ort des obersten Verzeichnisses der Datenbank ausser Kraft. Die Voreinstellung ist /var/lib/pacman/. Die meisten Benutzer werden diese Option nicht andern mussen. HINWEIS: Falls angegeben, ist dies ein absoluter Pfad; der Pfad zum Wurzelverzeichnis wird nicht automatisch vorangestellt. CacheDir = /Pfad/zum/Zwischenspeicherverzeichnis setzt den vorgegebenen Ort des Paketzwischenspeicherverzeichnisses ausser Kraft. Die Voreinstellung ist /var/cache/pacman/pkg/. Mehrere Zwischenspeicherverzeichnisse konnen angegeben werden, wobei diese dann in der Reihenfolge versucht werden, in der sie in der Konfigurationsdatei angegeben sind. Falls eine Datei in keinem Zwischenspeicherverzeichnis gefunden wird, wird sie in das erste Zwischenspeicherverzeichnis heruntergeladen, in das geschrieben werden kann. HINWEIS: Dies ist ein absoluter Pfad; der Pfad zum Wurzelverzeichnis wird nicht automatisch vorangestellt. HookDir = /Pfad/zum/Hook-Verzeichnis fugt Verzeichnisse hinzu, in denen zusatzlich zum Hook-Verzeichnis des Systems (/usr/share/libalpm/hooks/) nach Alpm-Hooks gesucht werden soll. Die Voreinstellung ist /etc/pacman.d/hooks. Mehrere Verzeichnisse konnen angegeben werden, wobei Hooks in spater angegebenen Verzeichnissen Vorrang vor den fruher angegebenen Verzeichnissen haben. HINWEIS: Dies ist ein absoluter Pfad; der Pfad zum Wurzelverzeichnis wird nicht vorangestellt. Weitere Informationen zu den Alpm-Hooks finden Sie in alpm-hooks(5). GPGDir = /Pfad/zum/GPG-Verzeichnis setzt den vorgegebenen Ort des Verzeichnisses der Konfigurationsdateien fur GnuPG ausser Kraft. Die Voreinstellung ist /etc/pacman.d/gnupg/. Dieses Verzeichnis sollte zwei Dateien enthalten: pubring.gpg und trustdb.gpg. In pubring.gpg werden die offentlichen Schlussel aller Paketbetreuer gespeichert. Die Datei trustdb.gpg enthalt die sogenannte Vertrauensdatenbank, welche angibt, das die Schlussel authentisch und vertrauenswurdig sind. HINWEIS: Dies ist ein absoluter Pfad; der Pfad zum Wurzelverzeichnis wird nicht automatisch vorangestellt. LogFile = /Pfad/zur/Protokolldatei setzt den vorgegebenen Ort der Pacman-Protokolldatei ausser Kraft. Die Voreinstellung ist /var/log/pacman/. Dies ist ein absoluter Pfad; der Pfad zum Wurzelverzeichnis wird nicht automatisch vorangestellt. HoldPkg = Paket Falls ein Benutzer versucht, ein Paket mit --remove zu entfernen, das in HoldPkg aufglistet ist, bittet Pacman um Bestatigung, bevor fortgesetzt wird. Platzhalter im Shell-Stil sind dabei erlaubt. IgnorePkg = Paket weist Pacman an, samtliche Aktualisierungen fur dieses Paket zu ignorieren, wenn eine Systemaktualisierung mit --sysupgrade ausgefuhrt wird. Platzhalter im Shell-Stil sind dabei erlaubt. IgnoreGroup = Gruppe weist Pacman an, samtliche Aktualisierungen fur alle Pakete in dieser Gruppe zu ignorieren, wenn eine Systemaktualisierung mit --sysupgrade ausgefuhrt wird. Platzhalter im Shell-Stil sind dabei erlaubt. Include = /Pfad/zur/Konfigurationsdatei bezieht eine weitere Konfigurationsdatei ein. Diese Datei kann Repositorien oder allgemeine Konfigurationsoptionen enthalten. Platzhalter in den angegebenen Pfaden werden gemass den glob(7)-Regeln expandiert. Architecture = auto &| i686 &| x86_64 | erlaubt Pacman nur die Installation von Paketen der angegebenen Architekturen (zum Beispiel i686, x86_64, usw.). Der besondere Wert auto verwendet die Systemarchitektur, die der Befehl >>uname -m<< ausgibt. Falls nicht gesetzt, werden keine Architekturuberprufungen ausgefuhrt. HINWEIS: Pakete mit der besonderen Architektur any konnen immer installiert werden, da sie architekturunabhangig sind. XferCommand = /Pfad/zum/Befehl %u bewirkt, dass zum Herunterladen aller fernen Dateien ein externes Programm verwendet wird. Alle Instanzen von %u werden durch die Download-Adresse ersetzt. Falls vorhanden, werden Instanzen von %o durch den lokalen Dateinamen ersetzt und erhalten die Endung >>.part<<, die Programmen wie wget die reibungslose Wiederaufnahme unterbrochener Downloads ermoglicht. Diese Option ist nutzlich, wenn Benutzer Probleme mit der eingebauten Unterstutzung fur HTTP/FTP haben oder erweiterte Proxy-Unterstutzung benotigen, die Werkzeuge wie wget mitliefern. NoUpgrade = Datei bewirkt, dass alle unter der NoUpgrade-Anweisung aufgelisteten Dateien wahrend einer Paketinstallation oder -aktualisierung niemals angeruhrt werden und die neuen Dateien mit der Endung .pacnew installiert werden. Diese Dateien verweisen auf die Dateien im Paketarchiv, daher durfen Sie keinen Schragstrich (das Wurzelverzeichnis) voranstellen, wenn Sie sie angeben. Platzhalter im Shell-Stil sind dabei erlaubt. Es ist moglich, die Suchlogik umzukehren, indem Sie einem Dateinamen ein Ausrufezeichen voranstellen. Dieses Ausrufezeichen hat den Effekt, dass zuvor ausgeschlossene Dateien nun wieder einbezogen werden. In Folge gefundene Ubereinstimmungen setzen zuvor gefundene ausser Kraft. Wenn ein literales Ausrufezeichen oder ein Ruckschragstrich vorangestellt ist, muss dieses Zeichen maskiert werden. NoExtract = Datei bewirkt, dass alle mit der NoExtract-Anweisung aufgelisteten Dateien niemals aus einem Paket in das Dateisystem entpackt werden. Dies kann nutzlich sein, wenn Sie Teile eines Pakets nicht installieren wollen. Wenn beispielsweise Ihre HTTP-Wurzel eine Datei index.php verwendet, dann werden Sie nicht wollen, dass die Datei index.html aus dem Paket apache entpackt wird. Diese Dateien verweisen auf Dateien im Paketarchiv, daher durfen Sie keinen Schragstrich (das Wurzelverzeichnis) voranstellen, wenn Sie sie angeben. Platzhalter im Shell-Stil sind dabei erlaubt. Es ist moglich, die Suchlogik umzukehren, indem Sie einem Dateinamen ein Ausrufezeichen voranstellen. Dieses Ausrufezeichen hat den Effekt, dass zuvor ausgeschlossene Dateien nun wieder einbezogen werden. In Folge gefundene Ubereinstimmungen setzen zuvor gefundene ausser Kraft. Wenn ein literales Ausrufezeichen oder ein Ruckschragstrich vorangestellt ist, muss dieses Zeichen maskiert werden. CleanMethod = KeepInstalled &| KeepCurrent Wenn dies auf KeepInstalled (die Voreinstellung) gesetzt ist, loscht die Aktion -Sc Eintrage fur Pakete, die nicht mehr installiert sind (das heisst, in der lokalen Datenbank nicht mehr vorhanden sind). Wenn auf KeepCurrent gesetzt, werden mit -Sc veraltete Paketeintrage geloscht (die nicht in der Synchronisationsdatenbank vorhanden sind). Letzterer Fall ist nutzlich, wenn der Paketzwischenspeicher von mehreren Rechnern gemeinsam genutzt wird, auf denen die lokalen Datenbanken ublicherweise unterschiedlich, aber die verwendeten Synchronisationsdatenbanken gleich sein konnten. Falls beide Werte angegeben werden, werden Paketeintrage nur dann geloscht, wenn sie sowohl lokal nicht installiert sind als auch in keiner bekannten Synchronisationsdatenbank mehr vorhanden sind. SigLevel = legt die standardmassige Stufe der Signaturuberprufung fest. Weitere Informationen finden Sie im nachfolgenden Abschnitt >>UBERPRUFEN VON PAKET- UND DATENBANKSIGNATUREN<<. LocalFileSigLevel = legt die Uberprufungsstufe fur Signaturen beim Installieren von Paketen mit der Aktion -U fur eine lokale Datei fest. Dabei wird der Wert von SigLevel als Vorgabe verwendet. RemoteFileSigLevel = legt die Uberprufungsstufe fur Signaturen beim Installieren von Paketen mit der Aktion -U fur eine ferne Dateiadresse (URL) fest. Dabei wird der Wert von SigLevel als Vorgabe verwendet. UseSyslog protokolliert Meldungen mittels syslog(). Dadurch werden Protokolleintrage in /var/log/messages oder aquivalent hinzugefugt. Color aktiviert die farbige Ausgabe automatisch nur dann, wenn die Ausgabe von Pacman auf einem Terminal erfolgt. NoProgressBar deaktiviert Fortschrittsanzeigen. Dies ist fur Terminals sinnvoll, die keine Maskierungszeichen unterstutzen. CheckSpace uberpruft vor der Installation von Paketen durch eine Schatzung, ob genugend Plattenplatz zur Verfugung steht. VerbosePkgLists zeigt fur Aktualisierungs-, Synchronisations- und Entfernungsaktionen Name, Version und Grosse der Zielpakete in einer Tabelle formatiert an. DisableDownloadTimeout deaktiviert die Standardeinstellungen fur untere Bandbreitenbegrenzung und Zeituberschreitung beim Herunterladen. Diese Option kann hilfreich sein, wenn Sie Probleme beim Herunterladen von Dateien uber einen Proxy und/oder ein Sicherheits-Gateway haben. ParallelDownloads = gibt die Anzahl der gleichzeitigen Download-Datenstrome an. Der Wert muss eine positive Ganzzahl sein. Falls diese Konfigurationsoption nicht gesetzt ist, wird nur ein Download-Datenstrom verwendet (das heisst, die Downloads werden nacheinander ausgefuhrt). REPOSITORY-ABSCHNITTE Jeder Repository-Abschnitt definiert einen Abschnittsnamen und mindestens einen Ort, wo die Pakete gefunden werden konnen. Der Abschnittsname wird durch die Zeichenkette in eckigen Klammern definiert (die zwei oben genannten sind core und custom). Die Namen der Repositorien mussen eindeutig sein, wobei der Name local fur die Datenbank der installierten Pakete reserviert ist. Die Orte werden durch die Server-Anweisung definiert und folgen einem URL-Benennungsschema. Falls Sie ein lokales Verzeichnis verwenden wollen, konnen Sie einen vollstandigen Pfad mit vorangestelltem >>file://<< angeben, wie vorstehend gezeigt. Ein ublicher Weg zur Definition der Datenbankorte nutzt die Include-Anweisung. Fur jedes in der Konfigurationsdatei definierte Repositorium kann eine einzelne Include-Anweisung den Namen einer Datei enthalten, welche die Server fur dieses Repositorium auflistet. [core] # Diesen Server zuerst verwenden Server = ftp://ftp.archlinux.org/$repo/os/$arch # Dann diese Server wie in der nachfolgenden Mirror-Liste verwenden Include = {sysconfdir}/pacman.d/mirrorlist Die Reihenfolge der Repositorien in der Konfigurationsdatei ist von Bedeutung; Repositorien, die zuerst aufgelistet sind, haben Vorrang vor den spater in der Datei erscheinenden Repositorien, wenn Pakete in zwei Repositorien den gleichen Namen haben (unabhangig von der Versionsnummer). Include = Pfad bezieht eine weitere Konfigurationsdatei ein. Diese Datei kann Repositorien oder allgemeine Konfigurationsoptionen enthalten. Platzhalter in den angegebenen Pfaden werden entsprechend den glob(7)-Regeln expandiert. Server = Adresse (URL) gibt eine vollstandige Adresse (URL) an, unter der die Datenbank, die Pakete und die Signaturen (sofern verfugbar) fur dieses Repositorium gefunden werden konnen. Wahrend der Auswertung setzt Pacman die Variable $repo auf den Namen des aktuellen Abschnitts. Dies wird oft in Dateien verwendet, die in der Include-Anweisung angegeben sind, so dass alle Repositorien die gleiche Spiegelserverdatei verwenden konnen. Pacman setzt auch die Variable $arch auf den ersten (oder einzigen) Wert der Architektur, so dass die gleiche Spiegelserverdatei auch fur verschiedene Architekturen genutzt werden kann. SigLevel = legt die Stufe der Signaturuberprufung fur dieses Repositorium fest. Weitere Informationen finden Sie im nachfolgenden Abschnitt >>UBERPRUFEN VON PAKET- UND DATENBANKSIGNATUREN<<. Usage = legt die Nutzungsstufe fur dieses Repositorium fest. Diese Option akzeptiert eine Reihe von Kurzeln, von denen mindestens eines der Folgenden verwendet werden muss: Sync aktiviert Auffrischungen dieses Repositoriums. Search aktiviert die Suche in diesem Repositorium. Install aktiviert die Installation von Paketen aus diesem Repositorium wahrend einer --sync-Aktion. Upgrade erklart dieses Repositorium zu einer gultigen Paketquelle, wenn die Aktion --sysupgrade ausgefuhrt wird. All aktiviert alle der oben genannten Funktionen fur dieses Repositorium. Dies ist die Voreinstellung, falls nichts angegeben ist. Beachten Sie, dass ein aktiviertes Repositorium unabhangig von der festgelegten Nutzungsstufe auch explizit verwendet werden kann. UBERPRUFEN VON PAKET- UND DATENBANKSIGNATUREN Die SigLevel-Anweisung ist in den [options]- und auch den [repository]-Abschnitten zulassig. Falls Sie sie in [options] verwenden, wird ein Standardwert fur jedes Repositorium gesetzt, das die Einstellung selbst nicht bereitstellt. o Falls auf Never gesetzt, wird keine Signaturuberprufung ausgefuhrt. o Falls auf Optional gesetzt, werden vorhandene Signaturen gepruft, aber dennoch unsignierte Datenbanken und Pakete akzeptiert. o Falls auf Required gesetzt, sind Signaturen fur alle Pakete und Datenbanken erforderlich. Alternativ erhalten Sie eine granularere Kontrolle, indem Sie einige der nachfolgend beschriebenen Optionen und Prafixe kombinieren. Alle Optionen in einer Konfigurationsdatei werden von oben nach unten und von links nach rechts abgearbeitet, woraus sich ergibt, dass spater erscheinende Optionen die fruheren ausser Kraft setzen beziehungsweise erganzen. Falls SigLevel in einem [repository]-Abschnitt angegeben ist, ist der Startwert derjenige aus dem Abschnitt [options] oder die eingebaute Voreinstellung des Systems, falls nichts angegeben ist. Die Optionen sind in zwei Hauptgruppen unterteilt, die nachfolgend beschrieben sind. Die dort verwendeten Begriffe wie >>marginally trusted<< werden von GnuPG verwendet; weitere Informationen finden Sie in der Handbuchseite zu gpg(1). Uberprufungsregeln Diese Optionen steuern, ob und wann Signaturuberprufungen vorgenommen werden sollen. Never unterdruckt samtliche Signaturuberprufungen, selbst wenn Signaturen verfugbar sind. Optional (Standard) bewirkt, dass Signaturen uberpruft werden, wenn sie vorhanden sind; eine nicht vorhandene Signatur wird dabei nicht als Fehler gewertet. Eine ungultige Signatur ist ein schwerwiegender Fehler, sowie auch Signaturen aus einem Schlussel, der nicht im Schlusselbund vorhanden ist. Required macht Signaturen erforderlich; eine nicht vorhandene oder ungultige Signatur ist ein schwerwiegender Fehler, sowie auch Signaturen aus einem Schlussel, der nicht im Schlusselbund vorhanden ist. Was erlaubt ist Diese Optionen steuern, welche Signaturen als akzeptabel betrachtet werden konnen. Beachten Sie, dass es keine der Optionen erlaubt, ungultige oder abgelaufene Signaturen oder solche aus widerrufenen Schlusseln zu akzeptieren. TrustedOnly (Standard) Wenn eine Signatur uberpruft wird, muss sich diese im Schlusselbund befinden und vollstandig vertrauenswurdig sein; ein teilweises Vertrauen genugt diesen Kriterien nicht. TrustAll Wenn eine Signatur uberpruft wird, muss sich diese im Schlusselbund befinden, aber die Zuweisung einer Vertrauenswurdigkeitsstufe ist nicht notwendig (zum Beispiel unbekannte Vertrauenswurdigkeit oder teilweises Vetrauen). Den Optionen in beiden Gruppen kann entweder Package oder Database vorangestellt werden, wodurch diese nur fur den jeweils angegebenen Objekttyp wirksam sind. Zum Beispiel wurde >>PackageTrustAll<< teilweise vertrauenswurdige Paketsignaturen und solche mit unbekannter Vertrauenswurdigkeitsstufe erlauben. Folgendes ist die eingebaute Voreinstellung: SigLevel = Optional TrustedOnly IHR EIGENES REPOSITORIUM VERWENDEN Falls Sie eine Reihe von eigenen Paketen haben, ist es oft leichter, diese in einem eigenen lokalen Repositorium zu verwalten, als diese alle mit der Option --upgrade zu installieren. Dafur mussen Sie lediglich in dem Verzeichnis, in dem sich die Pakete befinden, eine komprimierte Paketdatenbank erzeugen, so dass Pacman sie findet, wenn es mit --refresh aufgerufen wird. repo-add /home/pkgs/eigene.db.tar.gz /home/pkgs/*.pkg.tar.gz Der obige Befehl erzeugt eine komprimierte Datenbank namens /home/pkgs/custom.db.tar.gz. Beachten Sie, dass die Datenbank in der Form vorliegen muss, die in der Konfigurationsdatei definiert ist und die {Erweiterung} ein gultiger Kompressionstyp ist, wie in repo-add(8) dokumentiert. Das ist alles! Nun konnen Sie Ihren eigenen Abschnitt in der Konfiguration einrichten, wie in der Beispielkonfiguration oben gezeigt. Pacman wird nun Ihr Paket-Repositorium nutzen. Falls Sie neue Pakete zum Repositorium hinzufugen, denken Sie daran, die Paketdatenbank neu aufzubauen und Pacman mit der Option --refresh aufzurufen. Weitere Informationen zum Befehl repo-add erhalten Sie mit dem Befehl >>repo-add --help<< oder in der Handbuchseite repo-add(8). SIEHE AUCH pacman(8), libalpm(3) Auf der Pacman-Website finden Sie aktuelle Informationen zu Pacman und den zugehorigen Werkzeugen. FEHLER Fehler? Sie machen wohl Witze, es gibt keine Fehler in dieser Software. Nun ja, sollte unsere Annahme doch falsch sein, senden Sie uns einen Fehlerbericht (auf Englisch) mit so vielen Details wie moglich in der Fehlerdatenbank von Archlinux im Bereich >>Pacman<<. AUTOREN Derzeitige Betreuer: o Allan McRae o Andrew Gregory o Eli Schwartz o Morgan Adamiec Bedeutende fruhere Mitwirkende: o Judd Vinet o Aurelien Foret o Aaron Griffin o Dan McGee o Xavier Chantry o Nagy Gabor o Dave Reisner Informationen zu weiteren Mitwirkenden erhalten Sie, wenn Sie den Befehl git shortlog -s im Git-Repositorium pacman.git aufrufen. UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Pacman 6.0.2 6. Februar 2024 PACMAN.CONF(5)