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.

  Veraltete Kompatibilitäts-Aliase
Dies sind veraltete popt(3)-Aliase, die nur aus Gründen der Abwärtskompatibilität vorhanden sind. Ihre Verwendung wird nicht empfohlen.

--initdb, --rebuilddb, --verifydb
    Siehe rpmdb(8).

--addsign, --delsign, --resign
    Siehe rpmsign(1).

-K, --checksig, --import
    Siehe rpmkeys(8).

--specfile
    Siehe rpmspec(1).

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-plugins(8)

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 (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).