Scroll to navigation

RPM(8) System Manager's Manual RPM(8)

BEZEICHNUNG

rpm - RPM-Paketverwaltung

ÜBERSICHT

Pakete abfragen und überprüfen

rpm {-q|--query} [Auswahloptionen] [Abfrageoptionen] [PAKETDATEI …] [PAKETNAME …]

rpm {-V|--verify} [Auswahloptionen] [Überprüfungsoptionen] [PAKETNAME …]

Pakete installieren, aktualisieren und entfernen

rpm {-i|--install} [Transaktionsoptionen] [Installationsoptionen] PAKETDATEI

rpm {-U|--upgrade} [Transaktionsoptionen] [Installationsoptionen] PAKETDATEI

rpm {-F|--freshen} [Transaktionsoptionen] [Installationsoptionen] PAKETDATEI

rpm --reinstall [Transaktionsoptionen] [Installationsoptionen] PAKETDATEI

rpm --restore [Transaktionsoptionen] [Auswahloptionen] PAKETNAME

rpm {-e|--erase} [Transaktionsoptionen] [Löschoptionen] PAKETNAME

Verschiedene Aktionen

rpm --querytags

Siehe rpm-common(8) zu Aktionen, die allen rpm-Programmen gemeinsam sind.

BESCHREIBUNG

rpm ist eine leistungsfähige Paketverwaltung, die zum Erstellen, Installieren, Abfragen, Überprüfen, Aktualisieren und Löschen individueller Softwarepakete verwendet werden kann. Ein Paket besteht aus einem Dateiarchiv und Metadaten, die zum Installieren und Löschen der im Paket enthaltenen Dateien verwendet werden. Die Metadaten umfassen Hilfsskripte, Dateiattribute und beschreibende Informationen zum Paket. Pakete gibt es in zwei Varianten: Binärpakete, welche die zu installierende Software enthalten, und Quellpakete, die den Quellcode zusammen mit Anweisungen enthalten, die zum Erstellen von Binärpaketen erforderlich sind.

AKTIONEN

Pakete abfragen und überprüfen

-V, --verify

Bei der Überprüfung von Paketen werden Informationen zu den vom Paket installierten Dateien mit den Informationen zu den Dateien, die aus den aus der rpm-Datenbank Paket-Metadaten bezogen werden, verglichen. Unter anderem werden Größe, Prüfsumme, Zugriffsrechte, Typ, Eigentümer und Gruppe jeder Datei verglichen. Alle Unstimmigkeiten werden angezeigt.
-q, --query
fragt Paketdateien oder installierte Pakete ab.

Pakete installieren, aktualisieren und entfernen

-i, --install

installiert neue Paket(e), ohne Upgrade-Szenarien zu betrachten. Dies ist ein besonderer Einsatzfall, normalerweise sollten Installationen mittels --upgrade erfolgen.

-U, --upgrade

installiert oder aktualisiert Paket(e) auf eine neuere Version. Ältere oder veraltete Paket(e) werden entfernt, nachdem das neue Paket installiert wurde.

-F, --freshen

aktualisiert Paket(e), aber nur jene, für die eine ältere Version installiert ist.

--reinstall

installiert bereits installierte Paket(e) erneut.

--restore

stellt die Metadaten wie Zeitstempel, Besitzer, Gruppe, Befugnisse und Capabilitys von Dateien in dem angegebenen Paket wieder her.

-e, --erase

löscht installierte Pakete.

Verschiedene Aktionen

--querytags

gibt bekannte Abfragemarkierungen aus. Nützlich mit der Option --queryformat.

Siehe rpm-common(8) zu den Aktionen, die allen rpm-Programmen gemeinsam sind.

ARGUMENTE

PAKETDATEI

Entweder ein rpm-Paket oder eine Manifestdatei (siehe rpm-manifest(5)). Kann als ftp- oder http-URL angegeben werden, wobei das Paket vor der Installation heruntergeladen wird. Siehe FTP/HTTP-OPTIONEN für Informationen dazu, welche ftp- und http-Client-Optionen rpm unterstützt.

PAKETNAME

Installiertes Paket mit dem angegebenen PAKETNAMEN. Um ein Paket genauer anzugeben, darf auf den Paketnamen die Version oder die Version und Veröffentlichung (beide durch einen Bindestrich getrennt) oder ein Architekturname (durch einen Punkt getrennt) folgen. Siehe die Ausgabe von rpm -qa oder rpm -qp PAKETDATEI als Beispiel.

OPTIONEN

Siehe rpm-common(8) für die Optionen, die allen Aktionen gemeinsam sind.

INSTALLATIONS- UND AKTUALISIERUNGSOPTIONEN

--allfiles

installiert oder aktualisiert alle missingok-Dateien im Paket, ganz gleich, ob sie existieren oder nicht.

--badreloc

wird zusammen mit --relocate verwendet und erlaubt Verschiebungen aller Dateipfade, nicht nur jener, die als ALTER_PFAD in den Festlegungen zu Verschiebungen im Binärpaket enthalten sind.

--excludepath ALTER_PFAD

installiert keine Dateien, deren Namen mit ALTER_PFAD beginnen.

--excludeartifacts

installiert keine Dateien, die als Artefakte markiert sind, wie zum Beispiel »build-id«-Links.

--excludeconfigs, --noconfigs

Konfigurationsdateien nicht installieren.

--excludedocs

installiert keine Dateien, die als Dokumentation markiert sind (was Handbuchseiten und Texinfo-Dokumente einschliesst).

--force

ist gleichbedeutend mit --replacepkgs, --replacefiles und --oldpackage.

--ignoresize

überprüft vor der Installation des Pakets auf den eingehängten Dateisystemen nicht, ob genügend Speicherplatz vorhanden ist.

--ignorearch

erlaubt die Installation oder Aktualisierung selbst dann, wenn die Architekturen des Binärpakets und des Rechners nicht übereinstimmen.

--ignoreos

erlaubt die Installation oder Aktualisierung selbst dann, wenn die Betriebssysteme des Binärpakets und des Rechners nicht übereinstimmen.

--includedocs

installiert Dokumentationsdateien. Dies ist das Standardverhalten.

--nocontexts

setzt den SELinux-Kontext für Dateien und Scriptlets nicht. Nur wirksam, falls rpm-plugin-selinux(8) installiert und aktiviert ist.

--nocaps

setzt keine Datei-Capabilitys.

--noverify

führt vor der Installation keine Paketüberprüfung aus.

--nosysusers

erzeugt keine »sysusers« von Paketen.

--oldpackage

ermöglicht eine Aktualisierung, bei der ein neueres Paket durch ein älteres ersetzt wird.

--prefix NEUER_PFAD

übersetzt für verschiebbare Binärpakete alle Dateipfade, die mit dem Installationspräfix in den Festlegungen zur Verschiebung beginnen, in NEUER_PFAD.

--relocate ALTER_PFAD=NEUER_PFAD

übersetzt für verschiebbare Binärpakete sämtliche Dateipfade, die mit ALTER_PFAD beginnen, in die Paketverschiebeanweisungen nach NEUER_PFAD. Diese Option kann wiederholt verwendet werden, falls verschiedene ALTER_PFAD im Paket verschoben werden sollen.

--replacefiles

installiert die Pakete selbst dann, wenn sie Dateien aus anderen, bereits installierten Paketen überschreiben.

--replacepkgs

installiert die Pakete selbst dann, wenn einige davon bereits auf diesem System installiert sind.

OPTIONEN ZUM LÖSCHEN

--allmatches

entfernt alle Versionen eines Pakets, die dem PAKETNAMEN entsprechen. Normalerweise würde ein Fehler ausgegeben, wenn der PAKETNAMEN auf mehrere Pakete passt.

TRANSAKTIONSOPTIONEN

Die Transaktionsoptionen gelten für die Aktionen --install, --upgrade, --reinstall und --erase.

--deploops

gibt Warnungen zu Abhängigkeitsschleifen aus.

-h, --hash

gibt 50 Rautezeichen aus, wenn das Paketarchiv entpackt wird. Verwenden Sie dies zusammen mit -v|--verbose, um eine schönere Ausgabe zu erhalten.

--justdb

aktualisiert nur die Datenbank, jedoch nicht das Dateisystem.

--nodb

aktualisiert nur das Dateisystem, jedoch nicht die Datenbank.

--nodeps

überprüft vor dem Deinstallieren der Pakete keine Abhängigkeiten.

--noorder

ordnet die Pakete für die Installation nicht neu. Die Paketliste würde normalerweise neu geordnet, um Abhängigkeiten zu erfüllen.

--noplugins

lädt keine Erweiterungen und führt keine aus.

--noscripts

deaktiviert die Ausführung von Paket-Scriptlets. Äquivalent zu

--nopre --nopost --nopreun --nopostun --nopretrans --noposttrans --nopreuntrans --nopostuntrans

--nopre --nopost --nopreun --nopostun --nopretrans --noposttrans --nopreuntrans --nopostuntrans

führt Scriptlets des benannten Typs nicht aus.

--notriggers

deaktiviert die Ausführung von Paket-Triggern. Äquivalent zu

--notriggerprein --notriggerin --notriggerun --notriggerpostun

--notriggerin --notriggerun --notriggerprein --notriggerpostun

deaktiviert die Ausführung von Trigger-Scriptlets des benannten Typs.

--percent

gibt Prozentsätze beim Entpacken von Dateien aus dem Paketarchiv aus. Dadurch soll rpm leichter durch andere Werkzeuge nutzbar sein.

--test

deinstalliert nichts wirklich, sondern arbeitet nur die Schritte ab. Dies ist in Verbindung mit der Option -vv für Debugging-Zwecke nützlich.

ABFRAGEOPTIONEN

--qf ABFRAGEFORMAT, --queryformat ABFRAGEFORMAT

bezeichnet das Ausgabeformat jedes abgefragten Pakets, wie in rpm-queryformat(7) beschrieben. Falls nicht angegeben, wird das in %_query_all_fmt in rpm-config(5) definierte Format verwendet.

Es gibt drei Options-Untermengen zur Abfrage: Paketauswahl, Dateiauswahl und Informationsauswahl.

PAKETAUSWAHLOPTIONEN

-a, --all [SELEKTION …]

fragt alle installierten Pakete ab.

Eine optionale SELEKTION in der Form Tag=Muster kann bereitgestellt werden, um die Auswahl einzugrenzen, zum Beispiel name="b*", um Pakete abzufragen, deren Name mit »b« beginnt.

--dupes

listet Paketduplikate auf.

-f, --file DATEI

fragt das Paket ab, zu dem die DATEI gehört.

--filecaps

listet Dateinamen mit POSIX1.e-Capabilitys auf.

--fileclass

listet Dateinamen mit deren Klassen auf (Libmagic-Klassifizierung).

--filecolor

listet Dateinamen mit deren »Farben« auf (0 für architekturunabhängig, 1 für 32 Bit, 2 für 64 Bit).

--fileprovide

listet Dateinamen mit deren Bereitstellungen auf.

--filerequire

listet Dateinamen mit deren Erfordernissen auf.

-g, --group GRUPPE

fragt Pakete ab, die zur angegebenen GRUPPE gehören.

--noglob

Argumente bei der Installation von Paketdateien nicht als Glob behandeln.

--nomanifest

verarbeitet Nicht-Paketdateien nicht als Paketlisten (siehe rpm-manifest(5)).

-p, --package PAKETDATEI

fragt eine (nicht installierte) PAKETDATEI ab.

--path PFAD

fragt Pakete ab, denen PFAD gehört, ob die Datei installiert ist oder nicht. PFAD kann mehreren Paketen gehören, die Datei gehört aber allein dem zuletzt installierten Paket.

--querybynumber HDR-NUMMER

fragt den Datenbankeintrag mit der angegebenen HDR-NUMMER direkt ab; dies ist nur für Debugging-Zwecke nützlich.

--specfile SPEC-DATEI

ist veraltet, verwenden Sie stattdessen rpmspec(1).

--tid TID

fragt Pakete mit der angegebenen Transaktionskennung TID ab. Als Transaktionskennung wird derzeit ein UNIX-Zeitstempel verwendet. Alle Pakete, die in einer einzelnen Transaktion installiert oder gelöscht wurden, haben eine gemeinsame Kennung.

--triggeredby PAKETNAME

fragt alle Pakete ab, die vom Paket oder den Paketen PAKETNAME getriggert werden.

--whatobsoletes FÄHIGKEIT

fragt alle Pakete ab, die die angegebene FÄHIGKEIT als veraltet markieren, um korrekt funktionieren zu können.

--whatprovides FÄHIGKEIT

fragt alle Pakete ab, die die angegebene FÄHIGKEIT bereitstellen.

--whatrequires FÄHIGKEIT

fragt alle Pakete ab, die die angegebene FÄHIGKEIT zum korrekten Funktionieren benötigen.

--whatconflicts FÄHIGKEIT

fragt alle Pakete ab, die mit der angegebenen FÄHIGKEIT im Konflikt stehen.

--whatrecommends FÄHIGKEIT

fragt alle Pakete ab, die die angegebene FÄHIGKEIT empfehlen.

--whatsuggests FÄHIGKEIT

fragt alle Pakete ab, die die angegebene FÄHIGKEIT vorschlagen.

--whatsupplements FÄHIGKEIT

fragt alle Pakete ab, die die angegebene FÄHIGKEIT ergänzen.

--whatenhances FÄHIGKEIT

fragt alle Pakete ab, die die angegebene FÄHIGKEIT erweitern.

OPTIONEN ZUR PAKETABFRAGE

--changelog

zeigt Änderungsinformationen des Pakets an.

--changes

zeigt Änderungsinformationen mit vollständigen Zeitstempeln für das Paket an.

--conflicts

listet die Fähigkeiten auf, zu denen dieses Paket im Konflikt steht.

--dump

gibt Dateiinformationen wie folgt aus (impliziert -l):

Pfad Größe Änderungszeit Prüfsumme Modus Eigentümer Gruppe istKonfiguration istDokumentation Rdev Symlink

--enhances

listet die Fähigkeiten auf, die dieses Paket verbessert.

--filesbypkg

listet alle Dateien in jedem ausgewählten Paket auf.

--filetriggers

listet Dateitrigger-Scriptlets aus dem oder den angegebenen Paket(en) auf.

-i, --info

zeigt Paketinformationen wie Name, Version und Beschreibung an. Dies verwendet --queryformat, falls angegeben.

--last

ordnet die Paketauflistung nach Installationszeitpunkt, so dass die neuesten Pakete zuerst angezeigt werden.

-l, --list

listet die Dateien im Paket auf.

--obsoletes

listet Pakete auf, die durch dieses Paket als veraltet markiert werden.

--provides

listet die Fähigkeiten auf, die dieses Paket bereitstellt.

--recommends

listet die Fähigkeiten auf, die dieses Paket empfiehlt.

-R, --requires

listet die Fähigkeiten auf, von denen dieses Paket abhängt.

--suggests

listet die Fähigkeiten auf, die von Paket(en) vorgeschlagen werden.

--supplements

listet die Fähigkeiten auf, die von Paket(en) ergänzt werden.

--scripts

listet das oder die paketspezifischen Scriptlet(s) auf, die als Teil des Installations- und Deinstallationsprozesses verwendet werden.

-s, --state

zeigt die Status der Dateien im Paket an (impliziert -l). Der Status jeder der Dateien ist normal, nicht installiert oder ersetzt.

--triggers, --triggerscripts

zeigt die Triggerskripte an, sofern vorhanden, die in einem Paket enthalten sind.

--xml

formatiert Kopfdaten der Pakete als XML.

OPTIONEN ZUR DATEIAUSWAHL

-A, --artifactfiles

schließt nur Artefakt-Dateien ein (impliziert -l).

-c, --configfiles

schließt nur Konfigurationsdateien ein (impliziert -l).

-d, --docfiles

schließt nur Dokumentationsdateien ein (impliziert -l).

-L, --licensefiles

schließt nur Lizenzdateien ein (impliziert -l).

--noartifact

schließt Artefakt-Dateien aus.

--noconfig

schließt Konfigurationsdateien aus.

--noghost

schließt Ghost-Dateien aus.

ÜBERPRÜFUNGSOPTIONEN

Die Paket- und Dateiauswahloptionen sind die gleichen wie für die Abfrage von Paketen (einschließlich der Manifestdateien als Argumente, siehe rpm-manifest(5)). Weitere Optionen nur für den Überprüfungsmodus sind:

--nodeps

überprüft die Abhängigkeiten von Paketen nicht.

--nodigest

überprüft beim Lesen keine Paket- oder Kopfdaten-Prüfsummen.

--nofiles

überprüft keine Attribute von Paketdateien.

--noscripts

führt das %verifyscript-Scriptlet nicht aus (falls vorhanden).

--nosignature

überprüft beim Lesen keine Paket- oder Kopfdaten-Signaturen.

--nolinkto --nofiledigest (früher --nomd5) --nosize --nomtime --nomode --nordev

überprüft das zugehörige Dateiattribut nicht.

--nouser --nogroup

überprüft keine Zugehörigkeiten von Benutzer/Gruppe von Dateien. Beachten Sie, dass dazu nur lokale passwd(5)- und group(5)-Datenbanken konsultiert werden.

--nocaps

überprüft keine Datei-Capabilitys.

AUSGABE

--verify

Das Ausgabeformat besteht aus einer Zeichenkette mit 9 Ergebnis-Zeichen, die möglicherweise Attribut des Pakets sind, gefolgt vom Dateinamen.

Jedes der 9 Zeichen steht für das Ergebnis eines Vergleichs des Attributs oder der Attribute mit den Werten der Attribute, die in der Datenbank enthalten sind.

Ein einzelner Punkt (».«) bedeutet, dass der Test erfolgreich war, während ein einzelnes Fragezeichen (»?«) bedeutet, dass der Test nicht ausgeführt werden konnte (zum Beispiel weil Dateizugriffsrechte den Lesezugriff verhindert haben). Anderenfalls bezeichnet ein fett hervorgehobenes Zeichen den Fehlschlag des korrespondierenden Tests mit --verify:

Ergebnis Beschreibung
S Dateigröße (Size) unterscheidet sich
M Modus unterscheidet sich (einschließlich Berechtigungen und Dateityp)
5 Hash (früher MD5-Summe) unterscheidet sich
D Major/Minor-Gerätenummer (Device) unterscheidet sich
L readLink(2)-Pfad unterscheidet sich
U Benutzereigentümerschaft (User) unterscheidet sich
G Gruppe unterscheidet sich
T mTime unterscheidet sich
P caPabilitys unterscheiden sich

Attribut Beschreibung
a %artifact - eine beim Bau implizit erstellte zusätzliche Datei (wie ein Buildid-Link)
c Konfigurationsdatei (%config)
d Dokumentationsdatei (%doc)
g %ghost-Datei
l Lizenzdatei (%license)
m %missingok - das Fehlen der Datei ist kein Überprüfungsfehler
n %config(noreplace) - Konfigurationsdatei (%config) nicht ersetzen
r Readme-Datei (%readme)
s Spec-Datei im Quellpaket (siehe rpm-spec(5))

EXIT-STATUS

Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.

BEISPIELE

rpm -Uvh hello-2.0-1.noarch.rpm

Installiert oder aktualisiert das Paket hello-2.0-1.noarch.rpm mit ausführlichen Ausgaben und Fortschrittsanzeige. -Uvh ist wahrscheinlich die häufigste aller rpm-Aktionen.

rpm -Uvh --excludedocs --root /srv/test meinedistro-23.mft

Installiert die in der Manifestdatei meinedistro-23.mft (siehe rpm-manifest(5)) beschriebenen Pakete im alternativen Systemwurzelverzeichnis unter /srv/test, ohne alle Dokumentationsdateien.

rpm -Fvh *.rpm

Aktualisiert installierte Pakete aus einem lokalen Verzeichnis, mit ausführlichen Ausgaben und Fortschrittsanzeige.

rpm -i kernel-6.15.4-200.x86_64.rpm

Installiert das Paket kernel-6.15.4-200.x86_64.rpm im Hintergrund. Auf einigen Linux-Distributionen sollen verschiedene Kernel-Versionen parallel installiert werden, ohne ältere zu löschen, um sicherzustellen, dass im Problemfall ein startfähiger Kernel vorhanden ist. Dies ist einer der wenigen Fälle, in denen -i die richtige Wahl ist.

rpm -evh --allmatches libhello

Löscht alle Versionen des Pakets libhello auf dem System, mit ausführlichen Ausgaben und Fortschrittsanzeige. Normalerweise ist immer nur eine Version eines Pakets installiert, aber in manchen Fällen ist es möglich, verschiedene Versionen eines Pakets oder das gleiche Paket für verschiedene Architekturen parallel zu installieren. In diesem Fall kann --allmatches nützlich sein.

rpm -vh --reinstall hello-2.0-1.noarch.rpm

Installiert das bereits installierte Paket hello-2.0-1.noarch.rpm neu, mit ausführlichen Ausgaben und Fortschrittsanzeige. Nützlich, wenn beispielsweise die Dateien eines Pakets versehentlich beschädigt oder gelöscht werden.

rpm -v --restore --all

Setzt die Zugriffsrechte der Dateien in allen installierten Paketen auf ihre ursprünglichen Paketspezifikationen zurück, mit ausführlicher Ausgabe.

rpm --verify --noconfig openssh-server

Überprüft die Integrität des installierten Pakets openssh-server und ignoriert dabei Änderungen der Konfiguration.

rpm -qa

Listet alle installierten Pakete in der Standardformatierung auf.

rpm -qlv --noartifact glibc

Listet die Dateien des Pakets glibc ähnlich wie bei der Ausgabe des Befehls ls(1) mit ls -l auf. Dabei werden »Artefakt«-Dateien wie Build-IDs weggelassen, die normalerweise nicht von Interesse sind.

rpm -q --qf "[%{filenames} %{filedigests}\n]" openssh-server

Listet die Dateinamen und die zugehörigen Prüfsummen des installierten Pakets openssh-server auf.

rpm -qp --scripts --triggers --filetriggers meinserver-1.0-1.x86_64.rpm

Zeigt alle Scriptlets und Trigger aus der Paketdatei meinserver-1.0-1.x86_64.rpm anzeigen. Bevor Sie unbekannte Pakete installieren, tun Sie zumindest dies!

rpm --target ppc64le --eval "%optflags"

Gibt die Expansion des %optflags-Makros für die ppc64le-Architektur aus.

DATEIEN

Siehe rpm-common(8), rpm-config(5) und rpm-rpmrc(5).

SIEHE AUCH

rpm-common(8), popt(3), rpm2cpio(1), rpmbuild(1), rpmdb(8), rpmkeys(8), rpmsign(1), rpmspec(1), rpm-queryformat(7), rpm-manifest(5), rpm-version(7)

rpm --help - da rpm benutzerdefinierte Optionen über Popt-Aliase unterstützt, kann unmöglich garantiert werden, dass die Beschreibungen in diesem Handbuch exakt dem entsprechen, was verfügbar ist.

http://www.rpm.org/

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Christoph Brinkhaus <c.brinkhaus@t-online.de>, Helge Kreutzmann <debian@helgefjell.de> und Mario Blättermann <mario.blaettermann@gmail.com> 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.

7. November 2025 RPM 6.0.0