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