PACMAN(8)

BEZEICHNUNG
pacman - Dienstprogramm zur Paketverwaltung

ÜBERSICHT

pacman <Operation> [Optionen] [Ziele]

BESCHREIBUNG

Pacman ist ein Paketverwaltungswerkzeug, das installierte Pakete aus einem Linux-System nachverfolgt. Es verfügt über Unterstützung für Abhängigkeitsauflösung, Paketgruppen, Installations- und Deinstallationsskripte und die Möglichkeit zum Synchronisieren eines lokalen Rechners mit einem fernen Repositorium zur automatischen Aktualisierung von Paketen. Pacman-Pakete sind komprimierte Tar-Archive.

Seit Version 3.0.0 setzt Pacman auf libalpm(3) auf, der “Arch Linux Package Management”-Bibliothek. Diese Bibliothek ermöglicht die Entwicklung alternativer Oberflächen (zum Beispiel eine grafische Benutzeroberfläche).

Der Aufruf von Pacman erfordert die Angabe einer Operation zusammen mit möglichen Optionen und Zielen, die es verarbeiten soll. Ein Ziel ist üblicherweise der Name eines Pakets, ein Dateiname, eine URL oder eine Suchzeichenkette. Ziele können als Befehlszeilenargumente übergeben werden. Außerdem können Ziele aus der Standardeingabe gelesen werden, wenn diese nicht aus einem Terminal stammt und ein einzelner Bindestrich (-) als Argument übergeben wird.

AKTIONEN

-D, --database
    arbeitet mit der Paketdatenbank. Diese Operation erlaubt Ihnen die Anpassung verschiedener Attribute der installierten Pakete in der Datenbank von Pacman. Außerdem können Sie eine interne Konsistenzprüfung der Datenbank vornehmen. Weitere Informationen finden Sie in den nachfolgenden Datenbankoptionen.

-Q, --query
    fragt die Paketdatenbank ab. Diese Operation ermöglicht die Anzeige installierter Pakete und deren Dateien sowie Meta-Informationen zu einzelnen Paketen (Abhängigkeiten, Konflikte, Installationszeitpunkt, Erstellungsdatum, Größe). Diese Abfrage kann an die lokale Paketdatenbank gerichtet sein, aber auch einzelne Paketdateien können abgefragt werden. Wenn in ersterem Fall keine Paketnamen in der Befehlszeile übergeben werden, dann werden alle installierten Pakete in die Abfrage einbezogen. Zusätzlich können verschiedene Filter auf die Paketliste angewendet werden. Lesen Sie hierzu den Abschnitt »Abfrageoptionen« weiter unten.

-R, --remove
    entfernt eines oder mehrere Pakete aus dem System. Auch zu entfernende Gruppen können angegeben werden, wobei in diesem Fall alle in der jeweiligen Gruppe enthaltene Pakete entfernt werden. Zum angegebenen Paket gehörende Dateien werden entfernt und die Datenbank wird aktualisiert. Die meisten Konfigurationsdateien werden mit der Endung .pacsave gespeichert, außer wenn die Option --nosave übergeben wird. In den nachfolgenden Entfernungsoptionen finden Sie weitere Informationen.

-S, --sync
    synchronisiert Pakete. Die Pakete werden direkt aus den fernen Repositorien installiert, einschließlich aller Abhängigkeiten, die zur Ausführung der Pakete erforderlich sind. Zum Beispiel lädt »pacman -S qt« das Paket qt sowie alle Abhängigkeiten herunter und installiert alles. Wenn ein Paketname in mehreren Repositorien verfügbar ist, kann ein Repositorium explizit angegeben werden, um das zu installierende Paket eindeutig zu bezeichnen: pacman -S testing/qt. Sie können auch die Versionsanforderungen festlegen: pacman -S "bash>=3.2". Die Anführungszeichen sind erforderlich, weil die Shell sonst »>« als Umleitung zu einer Datei interpretieren würde.

    Außer Paketen können auch Gruppen angegeben werden. Wenn beispielsweise gnome eine definierte Paketgruppe ist, dann öffnet der Befehl pacman -S gnome eine Eingabeaufforderung, in der Sie aus einer nummerierten Liste die Pakete auswählen können, die Sie installieren wollen. Die Paketauswahl wird in Form einer durch Leerzeichen und/oder Kommata getrennten Liste aus Paketnummern angegeben. Aufeinanderfolgende Pakete können Sie auswählen, indem Sie die erste und die letzte Paketnummer durch einen Bindestrich (-) getrennt angeben. Pakete können Sie ausschließen, indem Sie einer Nummer oder einem Bereich von Nummern ein Zirkumflex (^) voranstellen.

    Pakete, die ihrerseits weitere Pakete bereitstellen, werden ebenfalls berücksichtigt. Beispielsweise schaut »pacman -S foo« zuerst nach einem Paket namens »foo«. Wird dieses nicht gefunden, wird nach Paketen gesucht, die die selbe Funktionalität bereitstellen wie »foo«. Falls ein solches Paket gefunden wird, dann wird es installiert. Sollten mehrere Pakete gefunden werden, die foo bereitstellen, werden Sie per Eingabeaufforderung um eine Auswahl gebeten.

    Sie können mit pacman -Su alle Pakete auf den neuesten Stand bringen, die nicht mehr aktuell sind. Weitere Informationen finden Sie in den nachfolgenden Synchronisationsoptionen. Bei einer Aktualisierung führt Pacman einen Versionsvergleich durch, um zu bestimmen, welche Pakete eine Aktualisierung erfordern. Dies funktioniert folgendermaßen:

        Alphanumerisch:
          1.0a < 1.0b < 1.0beta < 1.0p < 1.0pre < 1.0rc < 1.0 < 1.0.a < 1.0.1
        Numerisch:
          1 < 1.0 < 1.1 < 1.1.1 < 1.2 < 2.0 < 3.0.0

    Außerdem kann für Versionszeichenketten ein epoch-Wert definiert sein, der alle anderen Versionsvergleiche außer Kraft setzt, außer wenn die epoch-Werte gleich sind. Dies wird in einem Format der Struktur Epoch:Version-Relation angegeben. Zum Beispiel ist 2:1.0-1 stets größer als 1:3.6-1.

-T, --deptest
    überprüft Abhängigkeiten. Dies ist in Skripten wie »makepkg« sinnvoll, um die installierten Pakete zu überprüfen. Diese Operation prüft jede angegebene Abhängigkeit und gibt eine Liste jener Abhängigkeiten zurück, die im System zum gegenwärtigen Zeitpunkt nicht erfüllt sind. Diese Operation akzeptiert keine weiteren Optionen. Beispiel: pacman -T qt "bash>=3.2".

-U, --upgrade
    aktualisiert ein oder mehrere Pakete im System oder fügt diese hinzu und installiert die benötigten Abhängigkeiten aus den synchronisierten Repositorien. Es kann entweder eine URL oder ein Dateipfad angegeben werden. Dies ist ein »Entfernen-dann-hinzufügen«-Prozess. Weitere Informationen finden Sie nachfolgend in den Aktualisierungsoptionen, außerdem finden Sie im Abschnitt »Umgang mit Konfigurationsdateien« Erklärungen, wie Pacman Konfigurationsdateien auswertet.

-F, --files
    fragt die Paketdatenbank ab. Diese Operation ermöglicht Ihnen die Suche nach Paketen, die eine bestimmte Datei enthalten, oder die Anzeige von Dateien, die zu bestimmten Paketen gehören. Es wird dabei nur nach Paketen gesucht, die Teil Ihrer synchronisierten Datenbanken sind. Weitere Informationen finden Sie in den Datei-Optionen nachfolgend.

-V, --version
    zeigt Versionsinformationen an und beendet das Programm.

-h, --help
    zeigt die Syntax für die angegebene Operation an. Wenn keine Operation angegeben ist, wird die allgemeine Syntax angezeigt.

OPTIONEN

-b, --dbpath <Pfad>
    gibt einen alternativen Datenbankpfad an (Voreinstellung ist /var/lib/pacman). Verwenden Sie dies nur, wenn Sie sicher sind, was Sie tun. HINWEIS: Dies ist ein absoluter Pfad, und der Pfad zum Wurzelverzeichnis wird nicht automatisch vorangestellt.

-r, --root <Pfad>
    gibt eine alternative Installationswurzel an (die Voreinstellung ist /). Dies sollte nicht dazu verwendet werden, Software nach /usr/local anstatt nach /usr zu installieren. HINWEIS: Falls der Datenbankpfad oder die Protokolldatei weder in der Befehlszeile noch in pacman.conf(5) angegeben sind, werden deren Standardpfade unterhalb dieses Wurzelpfades gesetzt. HINWEIS: Diese Option eignet sich nicht zum Ausführen von Operationen in einem eingehängten Gastsystem. Siehe stattdessen --sysroot.

-v, --verbose
    gibt Pfade aus, wie die Installationswurzel, Konfigurationsdatei, Datenbankpfad, Zwischenspeicher-Verzeichnisse usw.

--arch <Architektur>
    gibt eine alternative Architektur an.

--cachedir <Verzeichnis>
    gibt ein alternatives Verzeichnis für den Paketzwischenspeicher an (die Voreinstellung ist /var/cache/pacman/pkg). Dabei können mehrere Zwischenspeicherverzeichnisse angegeben werden, die in der Reihenfolge versucht werden, in der sie an Pacman übergeben werden. HINWEIS: Dies ist ein absoluter Pfad, und der Pfad zum Wurzelverzeichnis wird nicht automatisch vorangestellt. Falls DownloadUser in pacman.conf(5) gesetzt ist, dann muss der festgelegte Benutzer über die Berechtigungen zum Zugriff auf das Zwischenspeicherverzeichnis verfügen.

--color <wann>
    gibt an, wann eine Einfärbung der Ausgabe erfolgen soll. Zulässige Optionen sind always (immer), never (niemals) oder auto (automatisch). always erzwingt die Einfärbung, never schaltet sie generell ab. Mit auto erfolgt nur bei der Ausgabe in eine TTY eine Einfärbung.

--config <Datei>
    gibt eine alternative Konfigurationsdatei an.

--debug
    zeigt Fehlerdiagnosemeldungen an. Es wird empfohlen, diese Option zu verwenden, wenn Sie Fehler melden wollen.

--gpgdir <Verzeichnis>
    gibt ein Verzeichnis an, das die von GnuPG zum Überprüfen von Paketsignaturen verwendeten Dateien enthält (Voreinstellung ist /etc/pacman.d/gnupg). Dieses Verzeichnis sollte zwei Dateien enthalten: pubring.gpg und trustdb.gpg. pubring.gpg beinhaltet die öffentlichen Schlüssel aller Paketbauer. trustdb.gpg enthält eine sogenannte Vertrauensdatenbank, in der bestätigt wird, ob Schlüssel authentisch und vertrauenswürdig sind. HINWEIS: Dies ist ein absoluter Pfad, und der Pfad zum Wurzelverzeichnis wird nicht automatisch vorangestellt.

--hookdir <Verzeichnis>
    gibt ein alternatives Verzeichnis an, das Hook-Dateien enthält (Voreinstellung ist /etc/pacman.d/hooks). Mehrere Hook-Verzeichnisse können angegeben werden, wobei Hooks in später angegebenen Verzeichnissen gegenüber den Hooks in früher angegebenen Verzeichnissen bevorzugt werden. HINWEIS: Dies ist ein absoluter Pfad, und der Pfad zum Wurzelverzeichnis wird nicht automatisch vorangestellt.

--logfile <Datei>
    gibt eine alternative Protokolldatei an. Diese wird als absoluter Pfad angegeben, ungeachtet der Einstellung der Installationswurzel.

--noconfirm
    übergeht sämtliche Meldungen der Form “Sind Sie sicher?”. Das ist eigentlich keine gute Idee, es sei denn, Sie wollen Pacman innerhalb eines Skripts ausführen.

--confirm
    negiert den Effekt eines zuvor angegebenen --noconfirm.

--disable-download-timeout
    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.

--sysroot <Verzeichnis>
    gibt eine alternative Systemwurzel an. Dieser Pfad wird allen anderen Konfigurationsverzeichnissen und allen Repositoriums-Servern, die mit »file://« anfangen, vorangestellt. Pfade oder URLs, die als Ziele übergeben werden, werden nicht verändert. Dies ermöglicht korrekte Aktionen auf eingehängten Gästen.

--disable-sandbox
    deaktiviert die für den Prozess zum Herunterladen von Dateien auf Linux-Systemen angewandte Sandbox vollständig. Äquivalent zur gemeinsamen Angabe von --disable-sandbox-filesystem und --disable-sandbox-syscall.

--disable-sandbox-filesystem
    deaktiviert den Dateisystem-bezogenen Beschränkungsanteil der 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.

--disable-sandbox-syscalls
    deaktiviert den Syscall-Filterungs-Anteil der Sandbox, die auf Linux-Systemen zum Herunterladen von Dateien angewendet wird. Dies ist nützlich, wenn Seccomp-bezogene Fehler beim Herunterladen von Dateien beobachtet werden, die bei der Ausführung eines Kernels ohne Unterstützung dafür auftreten.

TRANSAKTIONSOPTIONEN (ANWENDBAR MIT -S, -R UND -U)

-d, --nodeps
    überspringt die Prüfung auf Abhängigkeiten, Paketnamen werden aber noch überprüft. Normalerweise prüft Pacman die Abhängigkeitsangaben eines Pakets, um sicher zu stellen, dass alle Abhängigkeiten installiert werden und keine Paketkonflikte im System entstehen. Geben Sie diese Option zweimal an, um alle Abhängigkeitsüberprüfungen zu überspringen.

--assume-installed <Paket=Version>
    fügt ein virtuelles Paket namens »Paket« der Version »Version« zur Transaktion hinzu, um Abhängigkeiten zu erfüllen. Auf diese Weise können Sie spezifische Abhängigkeitsüberprüfungen deaktivieren, ohne damit sämtliche Abhängigkeitsüberprüfungen zu beeinflussen. Um alle Abhängigkeitsüberprüfungen zu deaktivieren, siehe die Option --nodeps.

--dbonly
    fügt lediglich den Datenbankeintrag hinzu beziehungsweise entfernt ihn und lässt alle Dateien unberührt.

--noprogressbar
    zeigt beim Herunterladen von Dateien keinen Fortschrittsbalken an. Das kann nützlich sein, wenn ein Skript Pacman aufruft und die Ausgabe aufzeichnet.

--noscriptlet
    unterbindet die Ausführung eines Installations-Skriptlets, sofern eines existiert. Verwenden Sie diese Option nicht, es sei denn, Sie wissen genau, was Sie tun.

-p, --print
    gibt nur die Ziele aus, die tatsächlichen Operationen (synchronisieren, entfernen oder aktualisieren) werden nicht ausgeführt. Verwenden Sie --print-format, um anzugeben, wie die Ziele angezeigt werden sollen. Die vorgegebene Formatzeichenkette ist »%l«, wodurch Adressen mit -S, Dateinamen mit -U und Paketname-Paketversion mit -R angezeigt werden.

--print-format <Format>
    gibt ein printf-artiges Format an, um die Ausgabe der Aktion --print zu steuern. Die möglichen Attribute sind »%a« für arch, »%b« für builddate, »%d« für description, »%e« für pkgbase, »%f« für filename, »%g« für base64-kodierte PGP-Signaturen, »%h« für sha256sum, »%m« für md5sum, »%n« für pkgname, »%p« für packager, »%v« für pkgver, »%l« für location, »%r« für repository, »%s« für size, »%C« für checkdepends, »%D« für depends, »%G« für groups, »%H« für conflicts, »%L« für licenses, »%M« für makedepends, »%O« für optionale depends, »%P« für provides und »%R« für replaces. Impliziert --print.

AKTUALISIERUNGSOPTIONEN (ANWENDBAR MIT -S, -R UND -U)

-w, --downloadonly
    holt alle Pakete vom Server, installiert oder aktualisiert jedoch nichts.

--asdeps
    installiert Pakete nicht-explizit, anders ausgedrückt, der Installationsgrund wird auf »als Abhängigkeit installiert« gesetzt. Dies ist für »makepkg« und andere Werkzeuge zur Erstellung aus Quellen nützlich, wenn die Installation von Abhängigkeiten vor dem Bau des Pakets erforderlich ist.

--asexplicit
    installiert ein Paket explizit, anders ausgedrückt, der Installationsgrund wird auf »explizit installiert« gesetzt. Dies ist nützlich, wenn Sie eine Abhängigkeit als explizit installiert markieren wollen, so dass diese später beim Entfernen mit --recursive nicht mit entfernt wird.

--ignore <Paket>
    weist Pacman an, Aktualisierungen zu ignorieren, auch wenn diese verfügbar sind. Wenn Sie mehrere Pakete angeben wollen, können Sie diese mit Kommata trennen.

--ignoregroup <Gruppe>
    weist Pacman an, Aktualisierungen aller Pakete in einer Gruppe zu ignorieren, auch wenn diese verfügbar sind. Wenn Sie mehrere Gruppen angeben wollen, können Sie diese mit Kommata trennen.

--needed
    installiert Ziele nicht neu, die bereits auf dem neuesten Stand sind.

--overwrite <Muster>
    übergeht die Prüfung auf Dateikonflikte und überschreibt die im Konflikt stehenden Dateien. Wenn ein zu installierendes Paket Dateien enthält, die bereits installiert sind und dem angegebenen Muster entsprechen, werden dadurch alle diese Dateien überschrieben. Das Überschreiben eines Verzeichnisses durch eine Datei oder die Installation von Paketen mit Konflikte verursachenden Dateien und Verzeichnissen erlaubt --overwrite nicht. Mehrere Muster können angegeben werden, indem Sie diese durch Kommata trennen. Dies kann mehrmals angegeben werden. Sie können Muster auch negieren, um die dem Muster entsprechenden Dateien nicht überschreiben zu lassen, indem Sie dem Muster ein Ausrufezeichen voranstellen. Bei aufeinanderfolgenden Treffern setzt der folgende den vorhergehenden außer Kraft. Führende Ausrufezeichen oder Rückschrägstriche müssen maskiert werden.

ABFRAGEOPTIONEN (ANWENDBAR MIT -Q)

-c, --changelog
    zeigt das Änderungsprotokoll eines Pakets an, sofern eines existiert.

-d, --deps
    beschränkt oder filtert die Ausgabe auf Pakete, die als Abhängigkeiten installiert wurden. Diese Option kann mit -t kombiniert werden, um echte verwaiste Pakete aufzulisten – Pakete, die als Abhängigkeiten installiert wurden, aber von keinem anderem installierten Paket mehr benötigt werden.

-e, --explicit
    beschränkt oder filtert die Ausgabe auf explizit installierte Pakete. Diese Option kann mit -t kombiniert werden, um explizit installierte Pakete aufzulisten, die von keinem anderem installierten Paket benötigt werden.

-g, --groups
    zeigt alle Pakete an, die zu einer benannten Gruppe gehören. Wenn kein Name angegeben wird, werden alle gruppierten Pakete aufgelistet.

-i, --info
    zeigt Informationen zu einem angegebenen Paket an. Die Option -p kann verwendet werden, um eine Paketdatei statt der lokalen Datenbank abzufragen. Wenn Sie das Argument --info oder -i zweimal übergeben, werden außerdem eine Liste der Sicherungsdateien und deren Änderungsstatus angezeigt.

-k, --check
    prüft, ob alle Dateien, die zu dem oder den angegebenen Paketen gehören, im System vorhanden sind. Falls keine Pakete angegeben sind oder keine Filterschalter angegeben werden, werden alle installierten Pakete geprüft. Durch zweimaliges Angeben dieser Option wird für Pakete, die den erforderlichen »mtree« enthalten, eine detailliertere Dateiüberprüfung ausgeführt (enschließlich Zugriffsrechten, Dateigrößen und Änderungszeiten).

-l, --list
    listet alle Dateien auf, die zu einem angegebenen Paket gehören. In der Befehlszeile können Sie mehrere Pakete angeben.

-m, --foreign
    beschränkt oder filtert die Ausgabe auf Pakete, die nicht in der oder den synchronisierten Datenbanken gefunden wurden. Typischerweise sind das Pakete, die manuell heruntergeladen und mit --upgrade installiert wurden.

-n, --native
    beschränkt oder filtert die Ausgabe auf Pakete, die in der oder den synchronisierten Datenbanken gefunden wurden. Dies ist die Umkehrung des Filters --foreign.

-o, --owns <Datei>
    sucht nach Paketen, zu denen die angegebene(n) Datei(en) gehören. Der Pfad kann relativ oder absolut sein, außerdem können eine oder auch mehrere Dateien angegeben werden.

-p, --file
    gibt an, dass das in der Befehlszeile angegebene Paket eine Datei und kein Eintrag in der Datenbank ist. Die Datei wird entpackt und abgefragt. Dies ist in Kombination mit --info und --list nützlich.

-q, --quiet
    zeigt weniger Informationen zu bestimmten Abfrageoperationen an. Dies ist nützlich, wenn die Ausgabe von Pacman in einem Skript verarbeitet wird. Die Suche zeigt nur Paketnamen an, jedoch keine Informationen zu Version, Gruppe oder Beschreibung. Bei den Dateizugehörigkeiten werden nur Paketnamen anstelle von Meldungen der Form »Datei gehört zu« ausgegeben, für Gruppen werden nur Pakete angezeigt und Gruppennamen weggelassen. Die Auflistung zeigt nur Dateien an und lässt Paketnamen weg. Die Überprüfung zeigt Paketnamen-Paare und fehlende Dateien an, und eine einfache Abfrage reduziert die Anzeige auf Paketnamen ohne Namen und Versionen.

-s, --search <Regulärer_Ausdruck>
    durchsucht jedes lokal installierte Paket nach Namen oder Beschreibungen, die dem angegebenen Regulären_Ausdruck entsprechen. Wenn Sie mehrere Suchbegriffe angeben, werden nur Beschreibungen erfasst, die ALLE Begriffe enthalten.

-t, --unrequired
    beschränkt oder filtert die Ausgabe auf Pakete, die weder direkt noch optional von irgendeinem gegenwärtig installierten Paket benötigt werden. Geben Sie diese Option zweimal an, werden Pakete angezeigt, die nur optional, aber nicht direkt von einem anderen Paket benötigt werden.

-u, --upgrades
    beschränkt oder filtert die Ausgabe auf Pakete, die im lokalen System nicht mehr auf dem neuesten Stand sind. Beim Finden nicht aktueller Pakete werden nur die Paketversionen berücksichtigt, jedoch keine Ersetzungen. Diese Option funktioniert am besten, wenn die synchronisierte Datenbank mit -Sy aktualisiert wird.

ENTFERNUNGSOPTIONEN (ANWENDBAR MIT -R)

-c, --cascade
    entfernt alle Zielpakete sowie alle Pakete, die von einem oder mehreren Zielpaketen abhängen. Diese Operation ist rekursiv und sollte mit Vorsicht eingesetzt werden, weil dadurch viele potenziell noch benötigte Pakete entfernt werden könnten.

-n, --nosave
    weist Pacman an, die Bezeichnungen für die Dateisicherung zu ignorieren. Normalerweise wird beim Entfernen einer Datei aus dem System die Datenbank überprüft, um festzustellen, ob die Datei in eine mit der Endung .pacsave umbenannt werden sollte.

-s, --recursive
    entfernt jedes angegebene Ziel einschließlich aller Abhängigkeiten. Das setzt voraus, dass diese nicht noch von anderen Paketen benötigt werden und sie außerdem nicht vom Benutzer explizit installiert wurden. Diese Option wirkt rekursiv und analog zu einem umgekehrten --sync, und sie hilft Ihnen dabei, das System sauber und frei von verwaisten Paketen zu halten. Wenn Sie explizit installierte Pakete dennoch entfernen wollen, geben Sie diese Option zweimal an.

-u, --unneeded
    entfernt Ziele, die nicht von anderen Paketen benötigt werden. Dies ist vor allem sinnvoll, wenn Sie eine Gruppe entfernen wollen, ohne die Option -c anzugeben, um keine unerfüllten Abhängigkeiten zu erzeugen.

SYNCHRONISATIONSOPTIONEN (ANWENDBAR MIT -S)

-c, --clean
    entfernt Pakete, die nicht mehr installiert sind, sowie nicht mehr genutzte synchronisierte Datenbanken aus dem Zwischenspeicher, um Speicherplatz zu sparen. Wenn Pacman Pakete herunterlädt, werden diese in einem Zwischenspeicherverzeichnis abgelegt. Zusätzlich werden Informationen zu synchronisierten Datenbanken gespeichert, aus denen Sie herunterladen können, und nicht gelöscht, selbst wenn sie aus der Konfigurationsdatei pacman.conf(5) gelöscht wurden. Mit der Option --clean entfernen Sie nur Pakete, die nicht mehr installiert sind, verwenden Sie diese zweimal, um alle Pakete aus dem Zwischenspeicher zu löschen. In beiden Fällen haben Sie eine Ja/Nein-Auswahl zur Verfügung, um Pakete und/oder nicht mehr genutzte Download-Datenbanken zu löschen.

    Siehe die Option CleanMethod in pacman.conf(5), wenn Sie einen Zwischenspeicher im Netzwerk verwenden.

-g, --groups
    zeigt alle Elemente an, die zu den angegebenen Gruppen gehören. Wenn kein Gruppenname angegeben wird, werden alle Gruppen aufgelistet. Wenn Sie dieses Argument zweimal angeben, werden alle Gruppen und deren zugehörige Pakete aufgelistet.

-i, --info
    zeigt Informationen zu einer angegebenen synchronisierten Datenbank an. Wenn Sie das Argument --info oder -i zweimal übergeben, werden außerdem aus allen Repositorien die Pakete angezeigt, die von diesem Paket abhängen.

-l, --list
    listet alle Pakete in den angegebenen Repositorien auf. In der Befehlszeile können mehrere Repositorien angegeben werden.

-q, --quiet
    zeigt weniger Informationen bei bestimmten Synchronisationsoperationen an. Dies ist nützlich, wenn die Ausgabe von Pacman in einem Skript verarbeitet wird. Die Suche erfasst nur Paketnamen, jedoch keine Informationen zu Repositorium, Version, Gruppe oder Beschreibung. In der Auflistung werden nur Paketnamen angezeigt und Datenbanken und Versionen weggelassen. Bei Gruppen werden nur Paketnamen angezeigt und Gruppennamen weggelassen.

-s, --search <Regulärer_Ausdruck>
    Dadurch wird jedes Paket in den synchronisierten Datenbanken nach Namen oder Beschreibungen durchsucht, die dem angegebenen regulären Ausdruck entsprechen. Wenn Sie mehrere Suchbegriffe angeben, werden nur Pakete mit Beschreibungen erfasst, die ALLE Begriffe enthalten.

-u, --sysupgrade
    aktualisiert alle Pakete, die nicht auf dem neuesten Stand sind. Jedes aktuell installierte Paket wird untersucht und aktualisiert, wenn ein neueres Paket existiert. Zu den zu installierenden Paketen wird eine Bericht angezeigt und der Vorgang nicht fortgesetzt, bis der Benutzer ihn bestätigt hat. Abhängigkeiten werden automatisch aufgelöst und installiert beziehungsweise aktualisiert, falls nötig.

    Wenn Sie diese Option zweimal übergeben, können Sie so ein Downgrade der Pakete ausführen. In diesem Fall wählt Pacman synchronisierte Pakete aus, deren Versionen nicht jenen der lokalen Versionen entsprechen. Dies kann nützlich sein, wenn der Benutzer von einem Testing-Repositorium zu einem stabilen Repositorium wechselt.

    Zusätzliche Ziele können manuell angegeben werden, so dass -Su foo eine Systemaktualisierung ausführt und in der gleichen Operation das Paket »foo« installiert beziehungsweise aktualisiert.

-y, --refresh
    lädt eine frische Kopie der Hauptpaketdatenbanken (repo.db) von den in pacman.conf(5) definierten Servern herunter. Dies sollte typischerweise jedes Mal verwendet werden, wenn Sie Pacman mit --sysupgrade oder -u aufrufen. Wenn Sie die Argumente --refresh or -y zweimal übergeben, wird eine Aktualisierung aller Paketdatenbanken erzwungen, selbst wenn diese offensichtlich auf dem neuesten Stand sind.

DATENBANKOPTIONEN (ANWENDBAR MIT -D)

--asdeps <Paket>
    markiert ein Paket als nicht explizit installiert, anders ausgedrückt, der Installationsgrund wird auf »als Abhängigkeit installiert« gesetzt.

--asexplicit <Paket>
    markiert ein Paket als explizit installiert, anders ausgedrückt, der Installationsgrund wird auf »explizit installiert« gesetzt. Dies ist nützlich, wenn Sie ein installiertes Paket behalten wollen, auch wenn es ursprünglich als Abhängigkeit eines anderen Pakets installiert wurde.

-k, --check
    überprüft die lokale Paketdatenbank auf interne Konsistenz. Es wird dabei überprüft, ob alle benötigten Dateien vorhanden sind und die Abhängigkeiten der installierten Pakete erfüllt sind, nicht mit anderen Paketen im Konflikt stehen und verschiedene Pakete nicht die gleiche Datei beinhalten. Wenn Sie diese Option zweimal angeben, wird eine Überprüfung der synchronisierten Datenbanken ausgeführt, um sicher zu stellen, dass alle angegebenen Abhängigkeiten verfügbar sind.

-q, --quiet
    unterdrückt Meldungen nach erfolgreichem Abschluss von Datenbankoperationen.

DATEIOPTIONEN (ANWENDBAR MIT -F)

-y, --refresh
    lädt neue Paketdateidatenbanken (repo.files) vom Server herunter. Wenn Sie diese Option zweimal angeben, werden die Paketdatenbanken auch dann aktualisiert, wenn sie bereits auf dem neuesten Stand sind.

-l, --list
    listet die Dateien auf, die zum abgefragten Paket gehören.

-x, --regex
    fasst jede Abfrage als regulären Ausdruck auf.

-q, --quiet
    zeigt weniger Informationen für bestimmte Dateioperationen an. Dies ist nützlich, wenn die Ausgabe von Pacman in einem Skript verarbeitet wird. Sie können dafür jedoch stattdessen --machinereadable verwenden.

--machinereadable
    gibt jeden Treffer in einem maschinenlesbaren Format aus. Das Format ist Repositorium\0Paketname\0Paketversion\0Pfad\n mit \0 als NULL-Zeichen und \n als Zeilenvorschub.

UMGANG MIT KONFIGURATIONSDATEIEN

Pacman verwendet die gleich Logik wie rpm, um die Aktion für Dateien zu ermitteln, die für die Sicherung vorgesehen sind. Während einer Aktualisierung werden drei MD5-Prüfsummen für jede Sicherungsdatei verwendet, um die erforderliche Aktion zu bestimmen: eine für die installierte Originaldatei, eine für die zu installierende Datei und eine für die tatsächlich im System existente Datei. Nach dem Vergleich dieser drei Prüfsummen können sich folgende Szenarien ergeben:

original=X, aktuell=X, neu=X
    Alle drei Dateien sind gleich, folglich sind Überschreibungen kein Problem. Die neue Datei wird installiert.

original=X, aktuell=X, neu=Y
    Die aktuelle Datei gleicht dem Original, aber die neue Datei unterscheidet sich von der alten. Da der Benutzer die Datei niemals verändert hat und die neue Datei Verbesserungen und Fehlerkorrekturen enthalten kann, wird die neue Datei installiert.

original=X, aktuell=Y, neu=X
    Beide Paketversionen enthalten exakt die gleiche Datei, aber die Datei im System wurde verändert. Die aktuelle Datei im System wird nicht angetastet.

original=X, aktuell=Y, neu=Y
    Die neue Datei ist identisch zur aktuellen Datei im System. Die neue Datei wird installiert.

original=X, aktuell=Y, neu=Z
    Alle drei Dateien sind unterschiedlich, daher wird die neue Datei mit der Erweiterung .pacnew installiert und der Benutzer erhält eine Warnmeldung. Der Benutzer muss nun eventuell notwendige Änderungen an der ursprünglichen Datei manuell selbst einpflegen.

original=NULL, aktuell=Y, neu=Z
    Das Paket war vorher nicht installiert, und die Datei existiert bereits im Dateisystem. Die neue Datei wird mit der Erweiterung .pacnew installiert und der Benutzer erhält eine Warnmeldung. Der Benutzer muss nun eventuell notwendige Änderungen an der ursprünglichen Datei manuell selbst einpflegen.

BEISPIELE

pacman -Ss ne.hack
    sucht in der Paketdatenbank nach dem regulären Ausdruck »ne.hack«.

pacman -S gpm
    lädt gpm einschließlich dessen Abhängigkeiten herunter und installiert es.

pacman -U /home/user/ceofhack-0.6-1-x86_64.pkg.tar.gz
    installiert das Paket ceofhack-0.6-1 aus einer lokalen Datei.

pacman -Syu
    aktualisiert die Paketliste und anschließend alle Pakete.

pacman -Syu gpm
    aktualisiert die Paketliste, aktualisiert alle Pakete und installiert anschließend gpm, sofern es nicht bereits installiert ist.

KONFIGURATION

In pacman.conf(5) finden Sie weitere Details zur Konfiguration mit Hilfe der Datei pacman.conf.

SIEHE AUCH

alpm-hooks(5), libalpm(3), makepkg(8), pacman.conf(5)

Auf der Pacman-Website (https://archlinux.org/pacman/) 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 (allan@archlinux.org)

    • Andrew Gregory (andrew.gregory.8@gmail.com)

    • Morgan Adamiec (morganamilo@archlinux.org)

Bedeutende frühere Mitwirkende:

    • Judd Vinet (jvinet@zeroflux.org)

    • Aurelien Foret (aurelien@archlinux.org)

    • Aaron Griffin (aaron@archlinux.org)

    • Dan McGee (dan@archlinux.org)

    • Xavier Chantry (shiningxc@gmail.com)

    • Nagy Gábor (ngaba@bibl.u-szeged.hu)

    • Dave Reisner (dreisner@archlinux.org)

    • Eli Schwartz (eschwartz@archlinux.org)

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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.