Provided by: manpages-de_4.27.0-1_all 

BEZEICHNUNG
pacman.conf - Konfigurationsdatei für den Paketverwalter Pacman
ÜBERSICHT
/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 unterstützt, indem diese mit einem Rautezeichen (#) begonnen
wird. Kommentare dürfen 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 Großbuchstaben)
eingetragen werden. Falls diese Schreibweise nicht respektiert wird, wird die Anweisung nicht
erkannt. Beispielsweise würde weder »noupgrade« noch »NOUPGRADE« funktionieren.
OPTIONEN
RootDir = /Pfad/zum/Wurzelverzeichnis
legt das standardmäßige Wurzelverzeichnis fest, in das Pacman installieren soll. Diese Option wird
dann verwendet, wenn Sie ein Paket auf einer temporär eingehängten Partition installieren wollen, die
zu einem anderen System »gehört« 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 außer Kraft. Die Voreinstellung
ist /var/lib/pacman/. Die meisten Benutzer werden diese Option nicht ändern müssen. 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 außer Kraft. Die Voreinstellung
ist /var/cache/pacman/pkg/. Mehrere Zwischenspeicherverzeichnisse können 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
fügt Verzeichnisse hinzu, in denen zusätzlich zum Hook-Verzeichnis des Systems
(/usr/share/libalpm/hooks/) nach Alpm-Hooks gesucht werden soll. Die Voreinstellung ist
/etc/pacman.d/hooks. Mehrere Verzeichnisse können angegeben werden, wobei Hooks in später angegebenen
Verzeichnissen Vorrang vor den früher 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 für GnuPG außer Kraft. Die
Voreinstellung ist /etc/pacman.d/gnupg/. Dieses Verzeichnis sollte zwei Dateien enthalten:
pubring.gpg und trustdb.gpg. In pubring.gpg werden die öffentlichen Schlüssel aller Paketbetreuer
gespeichert. Die Datei trustdb.gpg enthält die sogenannte Vertrauensdatenbank, welche angibt, das die
Schlüssel authentisch und vertrauenswürdig 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 außer 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 Bestätigung, bevor fortgesetzt wird. Platzhalter im Shell-Stil sind dabei erlaubt.
IgnorePkg = Paket …
weist Pacman an, sämtliche Aktualisierungen für dieses Paket zu ignorieren, wenn eine
Systemaktualisierung mit --sysupgrade ausgeführt wird. Platzhalter im Shell-Stil sind dabei erlaubt.
IgnoreGroup = Gruppe …
weist Pacman an, sämtliche Aktualisierungen für alle Pakete in dieser Gruppe zu ignorieren, wenn eine
Systemaktualisierung mit --sysupgrade ausgeführt 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 gemäß 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 Architekturüberprüfungen ausgeführt. HINWEIS: Pakete mit
der besonderen Architektur any können immer installiert werden, da sie architekturunabhängig sind.
XferCommand = /Pfad/zum/Befehl %u [%o]
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(1) die
reibungslose Wiederaufnahme unterbrochener Downloads ermöglicht.
Diese Option ist nützlich, wenn Benutzer Probleme mit der eingebauten Unterstützung für HTTP/FTP
haben oder erweiterte Proxy-Unterstützung benötigen, die Werkzeuge wie wget(1) mitliefern.
NoUpgrade = Datei …
bewirkt, dass alle unter der NoUpgrade-Anweisung aufgelisteten Dateien während einer
Paketinstallation oder -aktualisierung niemals angerührt werden und die neuen Dateien mit der Endung
.pacnew installiert werden. Diese Dateien verweisen auf die Dateien im Paketarchiv, daher dürfen Sie
keinen Schrägstrich (das Wurzelverzeichnis) voranstellen, wenn Sie sie angeben. Platzhalter im
Shell-Stil sind dabei erlaubt. Es ist möglich, 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 Übereinstimmungen setzen zuvor gefundene
außer Kraft. Wenn ein literales Ausrufezeichen oder ein Rückschrägstrich 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 nützlich 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 dürfen Sie keinen Schrägstrich (das Wurzelverzeichnis) voranstellen,
wenn Sie sie angeben. Platzhalter im Shell-Stil sind dabei erlaubt. Es ist möglich, 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
Übereinstimmungen setzen zuvor gefundene außer Kraft. Wenn ein literales Ausrufezeichen oder ein
Rückschrägstrich vorangestellt ist, muss dieses Zeichen maskiert werden.
CleanMethod = KeepInstalled &| KeepCurrent
Wenn dies auf KeepInstalled (die Voreinstellung) gesetzt ist, löscht die Aktion -Sc Einträge für
Pakete, die nicht mehr installiert sind (das heißt, in der lokalen Datenbank nicht mehr vorhanden
sind). Wenn auf KeepCurrent gesetzt, werden mit -Sc veraltete Paketeinträge gelöscht (die nicht in
der Synchronisationsdatenbank vorhanden sind). Letzterer Fall ist nützlich, wenn der
Paketzwischenspeicher von mehreren Rechnern gemeinsam genutzt wird, auf denen die lokalen Datenbanken
üblicherweise unterschiedlich, aber die verwendeten Synchronisationsdatenbanken gleich sein könnten.
Falls beide Werte angegeben werden, werden Paketeinträge nur dann gelöscht, wenn sie sowohl lokal
nicht installiert sind als auch in keiner bekannten Synchronisationsdatenbank mehr vorhanden sind.
SigLevel = …
legt die standardmäßige Stufe der Signaturüberprüfung fest. Weitere Informationen finden Sie im
nachfolgenden Abschnitt »ÜBERPRÜFEN VON PAKET- UND DATENBANKSIGNATUREN«.
LocalFileSigLevel = …
legt die Überprüfungsstufe für Signaturen beim Installieren von Paketen mit der Aktion -U für eine
lokale Datei fest. Dabei wird der Wert von SigLevel als Vorgabe verwendet.
RemoteFileSigLevel = …
legt die Überprüfungsstufe für Signaturen beim Installieren von Paketen mit der Aktion -U für eine
ferne Dateiadresse (URL) fest. Dabei wird der Wert von SigLevel als Vorgabe verwendet.
UseSyslog
protokolliert Meldungen mittels syslog(). Dadurch werden Protokolleinträge in /var/log/messages oder
äquivalent hinzugefügt.
Color
aktiviert die farbige Ausgabe automatisch nur dann, wenn die Ausgabe von Pacman auf einem Terminal
erfolgt.
NoProgressBar
deaktiviert Fortschrittsanzeigen. Dies ist für Terminals sinnvoll, die keine Maskierungszeichen
unterstützen.
CheckSpace
überprüft vor der Installation von Paketen durch eine Schätzung, ob genügend Plattenplatz zur
Verfügung steht.
VerbosePkgLists
zeigt für Aktualisierungs-, Synchronisations- und Entfernungsaktionen Name, Version und Größe der
Zielpakete in einer Tabelle formatiert an.
DisableDownloadTimeout
deaktiviert die Standardeinstellungen für untere Bandbreitenbegrenzung und Zeitüberschreitung beim
Herunterladen. Diese Option kann hilfreich sein, wenn Sie Probleme beim Herunterladen von Dateien
über einen Proxy und/oder ein Sicherheits-Gateway haben.
ParallelDownloads = …
gibt die Anzahl der gleichzeitigen Download-Datenströme an. Der Wert muss eine positive Ganzzahl
sein. Falls diese Konfigurationsoption nicht gesetzt ist, wird nur ein Download-Datenstrom verwendet
(das heißt, die Downloads werden nacheinander ausgeführt).
DownloadUser = Benutzername
legt den Benutzer fest, zu dem für das Herunterladen gewechselt werden soll. Falls diese
Konfigurationsoption nicht gesetzt ist, erfolgt das Herunterladen als der Benutzer, der Pacman
ausführt.
DisableSandbox
deaktiviert die standardmäßige Sandbox, die auf Linux-Systemen zum Herunterladen von Dateien
angewendet wird. Dies ist nützlich, wenn Landlock-bezogene Fehler beim Herunterladen von Dateien
beobachtet werden, die bei der Ausführung eines Kernels ohne Unterstützung dafür auftreten.
REPOSITORY-ABSCHNITTE
Jeder Repository-Abschnitt definiert einen Abschnittsnamen und mindestens einen Ort, wo die Pakete
gefunden werden können. Der Abschnittsname wird durch die Zeichenkette in eckigen Klammern definiert (die
zwei oben genannten sind core und custom). Die Namen der Repositorien müssen eindeutig sein, wobei der
Name local für 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, können Sie einen vollständigen Pfad mit vorangestelltem »file://« angeben, wie
vorstehend gezeigt.
Ein üblicher Weg zur Definition der Datenbankorte nutzt die Include-Anweisung. Für jedes in der
Konfigurationsdatei definierte Repositorium kann eine einzelne Include-Anweisung den Namen einer Datei
enthalten, welche die Server für 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 später in der Datei erscheinenden Repositorien, wenn Pakete in
zwei Repositorien den gleichen Namen haben (unabhängig 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.
CacheServer = URL
Eine vollständige URL zu einem Ort, an dem Pakete (und falls vorhanden Signaturen) für dieses
Repositorium gefunden werden können. Zuerst werden Zwischenspeicher-Server versucht, bevor nicht
zwischenspeichernde Server ausprobiert werden, die nicht aus der Server-Zusammenstellung bei
404-Herunterladefehlern etnfernt werden und die nicht für Datenbankfelder verwandt werden.
Server = Adresse (URL)
gibt eine vollständige Adresse (URL) an, unter der die Datenbank, die Pakete und die Signaturen
(sofern verfügbar) für dieses Repositorium gefunden werden können.
Während 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 können. Pacman setzt auch die Variable $arch auf den ersten
(oder einzigen) Wert der Architektur, so dass die gleiche Spiegelserverdatei auch für verschiedene
Architekturen genutzt werden kann.
SigLevel = …
legt die Stufe der Signaturüberprüfung für dieses Repositorium fest. Weitere Informationen finden Sie
im nachfolgenden Abschnitt »ÜBERPRÜFEN VON PAKET- UND DATENBANKSIGNATUREN«.
Usage = …
legt die Nutzungsstufe für dieses Repositorium fest. Diese Option akzeptiert eine Reihe von Kürzeln,
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 während einer --sync-Aktion.
Upgrade
erklärt dieses Repositorium zu einer gültigen Paketquelle, wenn die Aktion --sysupgrade
ausgeführt wird.
All
aktiviert alle der oben genannten Funktionen für dieses Repositorium. Dies ist die
Voreinstellung, falls nichts angegeben ist.
Beachten Sie, dass ein aktiviertes Repositorium unabhängig von der festgelegten Nutzungsstufe
auch explizit verwendet werden kann.
ÜBERPRÜFEN VON PAKET- UND DATENBANKSIGNATUREN
Die SigLevel-Anweisung ist in den [options]- und auch den [repository]-Abschnitten zulässig. Falls Sie
sie in [options] verwenden, wird ein Standardwert für jedes Repositorium gesetzt, das die Einstellung
selbst nicht bereitstellt.
• Falls auf Never gesetzt, wird keine Signaturüberprüfung ausgeführt.
• Falls auf Optional gesetzt, werden vorhandene Signaturen geprüft, aber dennoch unsignierte
Datenbanken und Pakete akzeptiert.
• Falls auf Required gesetzt, sind Signaturen für alle Pakete und Datenbanken erforderlich.
Alternativ erhalten Sie eine granularere Kontrolle, indem Sie einige der nachfolgend beschriebenen
Optionen und Präfixe kombinieren. Alle Optionen in einer Konfigurationsdatei werden von oben nach unten
und von links nach rechts abgearbeitet, woraus sich ergibt, dass später erscheinende Optionen die
früheren außer Kraft setzen beziehungsweise ergänzen. 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).
Überprüfungsregeln
Diese Optionen steuern, ob und wann Signaturüberprüfungen vorgenommen werden sollen.
Never
unterdrückt sämtliche Signaturüberprüfungen, selbst wenn Signaturen verfügbar sind.
Optional (Standard)
bewirkt, dass Signaturen überprüft werden, wenn sie vorhanden sind; eine nicht vorhandene
Signatur wird dabei nicht als Fehler gewertet. Eine ungültige Signatur ist ein schwerwiegender
Fehler, sowie auch Signaturen aus einem Schlüssel, der nicht im Schlüsselbund vorhanden ist.
Required
macht Signaturen erforderlich; eine nicht vorhandene oder ungültige Signatur ist ein
schwerwiegender Fehler, sowie auch Signaturen aus einem Schlüssel, der nicht im Schlüsselbund
vorhanden ist.
Was erlaubt ist
Diese Optionen steuern, welche Signaturen als akzeptabel betrachtet werden können. Beachten Sie, dass
es keine der Optionen erlaubt, ungültige oder abgelaufene Signaturen oder solche aus widerrufenen
Schlüsseln zu akzeptieren.
TrustedOnly (Standard)
Wenn eine Signatur überprüft wird, muss sich diese im Schlüsselbund befinden und vollständig
vertrauenswürdig sein; ein teilweises Vertrauen genügt diesen Kriterien nicht.
TrustAll
Wenn eine Signatur überprüft wird, muss sich diese im Schlüsselbund befinden, aber die Zuweisung
einer Vertrauenswürdigkeitsstufe ist nicht notwendig (zum Beispiel unbekannte
Vertrauenswürdigkeit oder teilweises Vetrauen).
Den Optionen in beiden Gruppen kann entweder Package oder Database vorangestellt werden, wodurch diese
nur für den jeweils angegebenen Objekttyp wirksam sind. Zum Beispiel würde »PackageTrustAll« teilweise
vertrauenswürdige Paketsignaturen und solche mit unbekannter Vertrauenswürdigkeitsstufe 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. Dafür müssen 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 gültiger Kompressionstyp ist, wie in repo-add(8) dokumentiert. Das ist alles! Nun
können 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
hinzufügen, 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 zugehörigen Werkzeugen.
FEHLER
Fehler? Sie machen wohl Witze, es gibt keine Fehler in dieser Software. Nun ja, sollte unsere Annahme
doch falsch sein, berichten Sie diese (auf Englisch) in dem Fehlererfassungssystem unter
https://gitlab.archlinux.org/pacman/pacman/-/issues zusammen mit den konkreten Informationen wie Ihre
Befehlszeile, die Art des Fehlers und sogar der Paketdatenbank, falls das hilft.
AUTOREN
Derzeitige Betreuer:
• Allan McRae
• Andrew Gregory
• Morgan Adamiec
Bedeutende frühere Mitwirkende:
• Judd Vinet
• Aurelien Foret
• Aaron Griffin
• Dan McGee
• Xavier Chantry
• Nagy Gábor
• Dave Reisner
• Eli Schwartz
Informationen zu weiteren Mitwirkenden erhalten Sie, wenn Sie den Befehl git shortlog -s im
Git-Repositorium pacman.git aufrufen.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com>
und Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.
Pacman 7.0.0 20. Januar 2025 PACMAN.CONF(5)