SSD Nodes Learn Hosting plans →
Anleitungen Matt ConnorVon Matt Connor

pacman-Befehle, die Sie unter Arch brauchen

Nach archinstall beginnt der Alltag mit pacman: volles Upgrade statt Teilupgrade, gezielt installieren, suchen, entfernen, Waisen finden und den Cache leeren.

pacman-Befehle für den Alltag: die kurze Antwort

Nach archinstall brauchen Sie nur wenige pacman-Befehle, und sie passen auf eine Seite. sudo pacman -Syu bringt das ganze System auf den neuesten Stand. sudo pacman -S --needed paket installiert nur, was fehlt oder veraltet ist. Mit -Ss, -Si und -Qi suchen Sie Pakete und lesen ihre Details. -Qo nennt den Besitzer einer Datei, und -Rns entfernt ein Paket mit seinen Abhängigkeiten. -Qdt listet verwaiste Pakete, und paccache aus dem Paket pacman-contrib hält den Paket-Cache klein.

Eine Regel ist wichtiger als alle anderen: Führen Sie kein nacktes pacman -Sy aus, um danach ein einzelnes Paket zu installieren. Warum, erklärt der Abschnitt zu -Syu.

Wie pacman seine Optionen liest

pacman arbeitet mit Operationen. Eine Operation ist ein Großbuchstabe. -S (sync) arbeitet mit den Paketquellen, den Repositorys. -Q (query) fragt die lokale Datenbank der installierten Pakete ab. -R (remove) entfernt Pakete. -F (files) durchsucht die Dateilisten der Repositorys, -D (database) ändert Einträge in der lokalen Datenbank, und -U (upgrade) installiert eine Paketdatei.

Die Kleinbuchstaben danach gehören zur jeweiligen Operation. Deshalb bedeutet -s in -Ss „suchen“, in -Rs aber „Abhängigkeiten mitnehmen“. Lesen Sie einen pacman-Befehl immer von links: zuerst die Operation, dann ihre Optionen.

Alle Beschreibungen hier folgen der Manpage von pacman 7.1.0, wie sie am 21. Oktober 2026 auf man.archlinux.org stand. Arch ist eine Rolling-Release-Distribution. Die Version ändert sich also laufend. Ihre eigene Version zeigt dieser Befehl:

pacman --version

Wer von Debian, Ubuntu oder Fedora kommt, denkt oft noch in apt oder dnf. Die Gegenüberstellung der dnf- und apt-Befehle zeigt, wie die beiden anderen großen Paketmanager dieselben Aufgaben lösen. Die Aufgaben bei pacman sind dieselben, nur die Buchstaben sind andere.

Warum sudo pacman -Syu und nie nur -Sy?

Das volle Systemupgrade besteht aus zwei Optionen. -y (--refresh) lädt eine frische Kopie der Paketdatenbanken von den Servern, die in der pacman-Konfiguration eingetragen sind. -u (--sysupgrade) aktualisiert alle Pakete, die veraltet sind, und fragt vorher nach Bestätigung.

sudo pacman -Syu

pacman listet die Pakete, die es aktualisieren will, und wartet auf Ihre Bestätigung. Lesen Sie die Liste, bevor Sie zustimmen. Steht dort ein Kernel, starten Sie nach dem Update neu, damit der neue Kernel läuft.

Die Manpage sagt über -y wörtlich, es „should typically be used each time you use --sysupgrade or -u“. Die Umkehrung ist der wichtigere Teil: Wer mit -y die Datenbank auffrischt, aktualisiert im selben Schritt mit -u.

Die Teilupgrade-Falle

Dieses Muster sieht harmlos aus:

# So bitte nicht
sudo pacman -Sy
sudo pacman -S htop

Nach dem ersten Befehl kennt Ihre lokale Datenbank die neuesten Versionen aller Pakete. Installiert sind aber noch die alten Versionen, weil -u fehlte. Der zweite Befehl holt htop in der neuesten Version. Dieses Paket wurde gegen die Bibliotheken gebaut, die jetzt im Repository liegen. Die Bibliotheken auf Ihrem System sind älter. Das Ergebnis heißt Teilupgrade (partial upgrade): Ein Teil des Systems ist neu, der Rest ist alt.

Das kann auf zwei Wegen schiefgehen. Das neue Paket zieht eine neuere Bibliothek nach, und andere installierte Programme, die noch die alte Version erwarten, starten nicht mehr. Oder das neue Programm braucht eine Bibliothek, die Ihr System noch nicht hat. In beiden Fällen meldet der dynamische Linker beim Programmstart eine Zeile dieser Form (der Bibliotheksname ist hier ein Platzhalter):

error while loading shared libraries: libbeispiel.so.2: cannot open shared object file: No such file or directory

Das Arch-Wiki behandelt Teilupgrades auf der Seite „System maintenance“. Lesen Sie den Abschnitt zu „partial upgrades“ dort selbst, bevor Sie eine Abkürzung nehmen.

Der richtige Weg kostet keinen zusätzlichen Befehl. Laut Manpage dürfen Sie bei -Su weitere Ziele angeben. pacman erledigt dann Systemupgrade und Installation in einem Vorgang:

sudo pacman -Syu htop

Haben Sie gerade keine Zeit für ein volles Upgrade, installieren Sie das Paket später. „Nur schnell ein Paket“ mit -Sy ist genau der Fall, der das System in einen gemischten Zustand bringt.

Wann -Syy sinnvoll ist

Wenn Sie -y zweimal angeben, frischt pacman laut Manpage alle Datenbanken auf, „even if they appear to be up-to-date“. Im Alltag brauchen Sie das nicht. Nützlich ist es, nachdem Sie die Spiegelserver geändert haben und pacman die Datenbanken sicher vom neuen Server holen soll:

sudo pacman -Syyu

Vor dem Update: Nachrichten und .pacnew-Dateien

Das Arch-Projekt veröffentlicht Hinweise zu Updates, die Handarbeit brauchen, unter archlinux.org/news. Am 21. Oktober 2026 betrafen die neuesten Einträge php und ca-certificates-mozilla. Ein Blick auf diese Seite dauert eine Minute und kann Ihnen eine Reparatur ersparen.

Bricht -Syu mit Fehlern zu Signaturen oder Schlüsseln ab, ändern Sie nicht wahllos die Konfiguration. Die Anleitung zu Keyring-Fehlern beim Systemupdate beschreibt die Schritte.

Haben Sie eine Konfigurationsdatei geändert und bringt das Update eine neue Fassung dieser Datei mit, überschreibt pacman Ihre Datei nicht. Es installiert die neue Datei mit der Endung .pacnew und gibt eine Warnung aus. Suchen Sie nach jedem Upgrade nach solchen Dateien:

sudo find /etc -name '*.pacnew'

Eine leere Ausgabe heißt: nichts zu tun. Jede gefundene Datei vergleichen Sie mit Ihrer Version und übernehmen die Änderungen von Hand.

Was macht sudo pacman -S --needed?

-S installiert Pakete aus den Repositorys. Ist ein Paket schon in aktueller Version installiert, installiert pacman es ohne weitere Option noch einmal. Die Option --needed ändert das. Die Manpage beschreibt sie mit einem Satz: „Do not reinstall the targets that are already up-to-date.“ Pakete, die schon aktuell sind, überspringt pacman also.

sudo pacman -S --needed git curl rsync

Dadurch können Sie den Befehl wiederholen, ohne dass etwas doppelt passiert. Sie können dieselbe Zeile in ein Einrichtungsskript schreiben und beliebig oft ausführen. Beim ersten Lauf installiert pacman, was fehlt. Bei jedem weiteren Lauf installiert es nichts neu, weil alle Ziele aktuell sind. Führen Sie die Zeile zweimal aus und lesen Sie, was pacman beim zweiten Mal meldet. So sehen Sie die Meldung Ihrer eigenen pacman-Version, statt sie aus einem Artikel zu übernehmen.

Auch hier gilt die Regel aus dem ersten Abschnitt. Wollen Sie vorher die Datenbanken auffrischen, dann nur zusammen mit dem Systemupgrade:

sudo pacman -Syu --needed git curl rsync

Für Skripte, die mehrere Rechner gleich einrichten, ist --needed die Grundlage. Wer mehrere Maschinen pflegt, findet in der Anleitung zum Verwalten mehrerer Linux-Server den nächsten Schritt.

Pakete aus dem AUR (Arch User Repository) installiert pacman nicht. pacman arbeitet nur mit den Repositorys aus seiner Konfiguration. Das AUR ist ein eigenes Thema und bleibt in diesem Leitfaden außen vor.

Pakete suchen und Details lesen: -Ss, -Si, -Qi

-Ss durchsucht die Paketdatenbanken nach Namen oder Beschreibungen. Der Suchbegriff ist ein regulärer Ausdruck. Geben Sie mehrere Begriffe an, liefert pacman nur Pakete, deren Beschreibung zu allen Begriffen passt.

pacman -Ss nginx
pacman -Ss '^nginx'
pacman -Ss json parser

Setzen Sie reguläre Ausdrücke in einfache Anführungszeichen. Dann deutet die Shell keine Zeichen darin um.

Die Suche liest Ihre lokale Kopie der Datenbanken. Ist das letzte -Syu lange her, sehen Sie alte Versionsnummern. Das ist kein Grund für ein -Sy. Aktualisieren Sie mit -Syu, dann stimmen auch die Suchergebnisse.

Für die Details eines Pakets gibt es zwei Befehle:

pacman -Si nginx
pacman -Qi pacman

-Si zeigt Informationen aus den Repositorys. Das funktioniert auch für Pakete, die nicht installiert sind. -Qi zeigt Informationen über ein installiertes Paket. -Si beschreibt also die Version im Repository, -Qi die Version auf Ihrem System. Weichen die beiden Versionen voneinander ab, ist Ihr System für dieses Paket nicht aktuell.

Geben Sie -i zweimal an, listet pacman zusätzlich die Pakete in allen Repositorys, die von diesem Paket abhängen. Die Dateien eines installierten Pakets zeigt -Ql:

pacman -Sii openssl
pacman -Ql pacman

Welches Paket besitzt diese Datei? -Qo und -F

Sie finden eine Datei unter /etc oder /usr/bin und wissen nicht, woher sie kommt. -Qo beantwortet das für installierte Pakete. Der Pfad darf relativ oder absolut sein.

pacman -Qo /etc/pacman.conf

pacman antwortet mit einer Zeile, die das Paket nennt, dem die Datei gehört („is owned by“). Mit -q gibt es nur den Paketnamen aus. Das ist in Skripten praktischer. Gehört eine Datei zu keinem Paket, hat sie ein Programm oder ein Mensch angelegt, nicht pacman.

Für Dateien aus Paketen, die noch nicht installiert sind, gibt es die Operation -F. Sie durchsucht eine eigene Datenbank mit den Dateilisten der Pakete in Ihren Repositorys. Diese Datenbank laden Sie zuerst herunter:

sudo pacman -Fy
pacman -F dig

Die Dateidatenbank (repo.files) ist von den Paketdatenbanken (repo.db) getrennt. Ein -Fy ändert also nicht, welche Paketversionen pacman installieren würde. Es ist darum kein Teilupgrade.

Ein Paket mit Abhängigkeiten entfernen: -Rns

-R allein entfernt nur das genannte Paket. Abhängigkeiten, die es mitgebracht hat, bleiben auf dem System. Darum gibt es zwei Zusätze:

  • -s entfernt auch die Abhängigkeiten des Pakets. Die Manpage nennt zwei Bedingungen: Kein anderes Paket braucht sie, und Sie haben sie nicht selbst ausdrücklich installiert.
  • -n ignoriert die Sicherungsregeln für Konfigurationsdateien. Normalerweise sichert pacman eine geänderte Konfigurationsdatei beim Entfernen mit der Endung .pacsave. Mit -n entfällt das.
sudo pacman -Rns htop

pacman zeigt alle Pakete, die es entfernen wird, und fragt nach Bestätigung. Lesen Sie diese Liste. Steht dort nur das Paket selbst, geht keine Abhängigkeit mit: Jede davon braucht entweder ein anderes installiertes Paket noch, oder sie gilt als ausdrücklich installiert.

Bedenken Sie, was -n bedeutet. Haben Sie die Konfiguration des Pakets angepasst, ist diese Arbeit danach weg. Wollen Sie die Einstellungen behalten, lassen Sie das -n weg und nutzen sudo pacman -Rs. pacman sichert dann die meisten geänderten Konfigurationsdateien als .pacsave.

Ein Sonderfall: Haben Sie eine Abhängigkeit früher selbst installiert, gilt sie als ausdrücklich installiert. -s lässt sie dann stehen. Geben Sie -s zweimal an, entfällt diese Bedingung. Nutzen Sie das nur, wenn Sie die Liste vorher genau gelesen haben.

Verwaiste Pakete finden: -Qdt

pacman merkt sich für jedes Paket den Installationsgrund. Entweder haben Sie es ausdrücklich installiert, oder es kam als Abhängigkeit eines anderen Pakets. Entfernen Sie ein Paket mit einfachem -R, bleiben seine Abhängigkeiten zurück. Sie sind dann verwaist (orphans): als Abhängigkeit installiert, aber von keinem Paket mehr gebraucht.

pacman -Qdt

-d beschränkt die Ausgabe auf Pakete, die als Abhängigkeit installiert wurden. -t beschränkt sie auf Pakete, die kein anderes installiertes Paket braucht. Die Manpage nennt diese Kombination „real orphans“. Mit -Qdtt listet pacman zusätzlich Pakete, die andere Pakete nur optional brauchen.

Was die Liste auf einem frischen System zeigt, hängt davon ab, was archinstall bei Ihrer Installation eingerichtet hat. Erwarten Sie also keine bestimmte Ausgabe. Gibt pacman keine Paketnamen aus, gibt es nichts aufzuräumen. Stehen Namen in der Liste, prüfen Sie jeden mit pacman -Qi, bevor Sie etwas löschen.

Sind Sie sicher, entfernen Sie alle Waisen in einem Schritt. -q sorgt dafür, dass pacman nur die Namen ausgibt:

pacman -Qdtq
sudo pacman -Rns $(pacman -Qdtq)

Führen Sie die zweite Zeile nur aus, wenn die erste Zeile Namen ausgegeben hat. Ist die Liste leer, bekommt pacman kein Ziel, und es gibt nichts zu entfernen.

Ein verwaistes Paket, das Sie behalten wollen, markieren Sie als ausdrücklich installiert. Danach fällt es aus dem Filter -d heraus und erscheint nicht mehr in der Liste:

sudo pacman -D --asexplicit paketname

Das Gegenstück ist pacman -Qet. Es listet ausdrücklich installierte Pakete, die kein anderes Paket braucht. Gehen Sie diese Liste ab und zu durch. Was Sie dort nicht mehr nutzen, entfernen Sie mit -Rns.

Den Paket-Cache aufräumen mit paccache

Jedes Paket, das pacman herunterlädt, bleibt im Cache unter /var/cache/pacman/pkg. Das hat einen Zweck: Mit den alten Dateien können Sie eine frühere Version mit pacman -U wieder einspielen, wenn ein Update Probleme macht. Der Nachteil ist, dass der Ordner ohne Pflege mit jedem Update wächst. Wie groß er ist, zeigt dieser Befehl:

du -sh /var/cache/pacman/pkg

Läuft die Platte voll und die Zahlen von df und du passen nicht zusammen, hilft die Erklärung, warum df und du verschiedene Werte zeigen.

Das Werkzeug für den Cache heißt paccache. Es kommt aus dem Paket pacman-contrib, das im Repository extra liegt. Am 21. Oktober 2026 war dort Version 1.13.1-1 aktuell. paccache entfernt alte Pakete aus dem Cache und behält standardmäßig die letzten drei Versionen jedes Pakets.

sudo pacman -Syu --needed pacman-contrib
paccache -d
sudo paccache -r

-d ist ein Probelauf. paccache sucht nur die Kandidaten und löscht nichts. Lesen Sie die Ausgabe. Danach löscht -r die Kandidaten wirklich.

Mit -k legen Sie fest, wie viele Versionen im Cache bleiben. -k 1 behält nur die neueste Version. Sie können das Paket dann ohne Download neu installieren, aber nicht mehr aus dem Cache auf eine ältere Version zurückgehen:

sudo paccache -r -k 1

pacman selbst kann den Cache auch leeren, aber gröber. -Sc entfernt Pakete aus dem Cache, die nicht mehr installiert sind, dazu ungenutzte Datenbanken. -Scc leert den ganzen Cache. Beide fragen vorher nach.

sudo pacman -Sc

Nach einem -Scc liegt keine alte Version mehr lokal, und ein Downgrade aus dem Cache ist nicht mehr möglich. Für den Alltag ist paccache darum die bessere Wahl.

Soll das Aufräumen von selbst laufen, schreiben Sie einen kleinen Dienst, der paccache -r aufruft, und starten ihn regelmäßig. Wie das geht, zeigt die Anleitung zu einem eigenen systemd-Dienst mit Timer.

Eine Wochenroutine für pacman

Mit diesen Schritten bleibt ein Arch-System über Monate sauber:

  1. Die Arch-News auf archlinux.org/news lesen.
  2. sudo pacman -Syu ausführen und die Liste lesen, bevor Sie bestätigen.
  3. Mit sudo find /etc -name '*.pacnew' nach neuen Konfigurationsdateien suchen.
  4. Mit pacman -Qdt nach verwaisten Paketen sehen.
  5. Mit paccache -d prüfen und mit sudo paccache -r den Cache kürzen.

Installieren Sie zwischendurch ein neues Programm, dann mit sudo pacman -Syu paketname oder ohne -y. Ein -Sy ohne -u gehört in keine Routine.

FAQ

Was ist der Unterschied zwischen pacman -Sy und pacman -Syu?

-y lädt nur frische Paketdatenbanken herunter. -u aktualisiert alle veralteten Pakete. -Syu macht beides in einem Schritt. Ein -Sy ohne -u, gefolgt von pacman -S paket, erzeugt ein Teilupgrade: Das neue Paket ist gegen neuere Bibliotheken gebaut als die, die auf Ihrem System liegen. Installieren Sie neue Pakete darum mit sudo pacman -Syu paket.

Was bewirkt --needed bei sudo pacman -S?

--needed überspringt jedes Ziel, das schon in aktueller Version installiert ist. Ohne die Option installiert pacman solche Pakete erneut. Mit --needed können Sie dieselbe Installationszeile beliebig oft ausführen, zum Beispiel in einem Einrichtungsskript.

Wie entferne ich verwaiste Pakete unter Arch Linux?

pacman -Qdt listet Pakete, die als Abhängigkeit installiert wurden und die kein installiertes Paket mehr braucht. Prüfen Sie jedes mit pacman -Qi. Danach entfernt sudo pacman -Rns $(pacman -Qdtq) alle auf einmal. Führen Sie das nur aus, wenn die Liste nicht leer ist. Ein Paket, das Sie behalten wollen, markieren Sie mit sudo pacman -D --asexplicit paketname.

Wie viele alte Paketversionen behält paccache?

Standardmäßig behält paccache drei Versionen jedes Pakets. Mit -k ändern Sie die Zahl, zum Beispiel mit sudo paccache -r -k 1. paccache steckt im Paket pacman-contrib. Beginnen Sie mit dem Probelauf paccache -d, der nur anzeigt, was gelöscht würde.

Wie finde ich heraus, zu welchem Paket eine Datei gehört?

pacman -Qo /pfad/zur/datei nennt das installierte Paket, dem die Datei gehört. Der Pfad darf relativ oder absolut sein. Für Dateien aus Paketen, die noch nicht installiert sind, laden Sie einmal mit sudo pacman -Fy die Dateidatenbank und suchen dann mit pacman -F dateiname.

#arch-linux#pacman#package-management#archinstall#linux