20 Praktische Beispiele für RPM-Befehle in Linux

RPM (Red Hat Package Manager) ist ein Standard open-source und weit verbreitetes Paketverwaltungsprogramm für Red Hat-basierte Systeme wie CentOS, Fedora, Rocky und Alma Linux.

Das RPM-Paketverwaltungstool ermöglicht es Systemadministratoren und Benutzern, Softwarepakete auf Unix/Linux-Betriebssystemen zu installieren, zu aktualisieren, zu deinstallieren, abzufragen, zu überprüfen und zu verwalten, die früher als .rpm-Datei bekannt waren, und kompilierte Softwareprogramme und Bibliotheken enthalten, die von den Paketen benötigt werden.

Dieser Artikel bietet 20 nützliche Beispiele für RPM-Befehle, die Ihnen möglicherweise hilfreich sind. Mit Hilfe dieser RPM-Befehle können Sie die Installation, Aktualisierung und Entfernung von Paketen auf Ihren Linux-Systemen verwalten.

RPM Fakten

Hier sind einige Fakten über RPM (Red Hat Package Manager):

  • RPM ist frei verfügbar und wird unter der General Public License (GPL) veröffentlicht.
  • RPM verwaltet eine Datenbank aller installierten Pakete, speichert diese Informationen im Verzeichnis /var/lib/rpm.
  • RPM dient als primäre Methode zur Installation von Paketen auf Linux-Systemen. Wenn Pakete mit Quellcode installiert wurden, verwaltet RPM sie nicht.
  • RPM arbeitet mit .rpm-Dateien, die wichtige Paketinformationen wie Identität, Quelle, Abhängigkeiten, Versionsdetails und mehr enthalten.

Grundlegende Modi für den RPM-Befehl

Hier sind die primären Modi für den RPM-Befehl:

  • Install – Der Befehl rpm -i installiert ein neues Paket im System.
  • Upgrade – Der Befehl rpm -U aktualisiert ein vorhandenes Paket auf eine neuere Version.
  • Remove – Der Befehl rpm -e deinstalliert oder entfernt ein Paket aus dem System.
  • Query – Der Befehl rpm -q durchsucht die RPM-Datenbank nach Informationen zu installierten Paketen.
  • Verify – Der Befehl rpm -V überprüft die Integrität von installierten Paketdateien.
  • Freshen – Der Befehl rpm -F aktualisiert oder installiert ein Paket nur, wenn es bereits installiert ist.
  • Rebuild Database – Der Befehl rpm --rebuilddb erstellt die RPM-Datenbank neu und behebt Probleme mit der Datenbankkorruption.
  • Import GPG Key – Der Befehl rpm --import importiert einen GPG-Schlüssel, der zur Überprüfung von Paketsignaturen verwendet wird.
  • Query All – Der Befehl rpm -qa listet alle installierten Pakete im System auf.
  • Query Files – Der Befehl rpm -ql listet alle von einem bestimmten Paket installierten Dateien auf.
  • Query Documentation – Der Befehl rpm -qd listet die von einem Paket bereitgestellten Dokumentationsdateien auf.
  • Query Dependencies – Der Befehl rpm -qR listet Laufzeitabhängigkeiten für ein Paket auf.
  • Abfrage liefert – Der Befehl rpm -q --provides listet die von einer Paket bereitgestellten Funktionen auf.
  • Abfrage benötigt – Der Befehl rpm -q --requires listet die von einem Paket benötigten Abhängigkeiten auf.

Wo RPM-Pakete zu finden sind

Sie können RPM-Pakete an verschiedenen Orten finden, abhängig von Ihrer Linux-Distribution. Hier sind die häufigen Orte, an denen Sie alle RPM-Pakete finden und herunterladen können.

Denken Sie daran, dass Sie ein root-Benutzer sein müssen, wenn Sie Pakete unter Linux installieren. Mit den root-Berechtigungen können Sie rpm-Befehle mit ihren entsprechenden Optionen verwalten.

1. So überprüfen Sie die Signatur eines RPM-Pakets

Überprüfen Sie immer die PGP-Signatur von Paketen, bevor Sie sie auf Ihren Linux-Systemen installieren, und stellen Sie sicher, dass ihre Integrität und Herkunft OK sind.

Verwenden Sie den folgenden Befehl mit der --checksig (Signatur überprüfen) Option, um die Signatur eines Pakets namens hardinfo zu überprüfen.

rpm --checksig hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm: digests OK

2. So installieren Sie ein RPM-Paket

Um ein RPM-Softwarepaket zu installieren, verwenden Sie den folgenden Befehl mit der -ivh Option, die das rpm-Paket namens hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm auf einem Linux-System installiert.

rpm -ivh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:hardinfo-2.0.11-1                ################################# [100%]

Lassen Sie uns die Bestandteile des obigen Befehls aufteilen:

  • -i : Installieren eines Pakets
  • -v : Verbose für ein hübscheres Display
  • -h: Drucken Sie Hash-Zeichen (#) zur Anzeige des Fortschritts der Installation.

3. Wie man die Abhängigkeiten eines RPM-Pakets vor der Installation überprüft

Angenommen, Sie möchten eine Abhängigkeitsüberprüfung durchführen, bevor Sie ein Paket installieren oder aktualisieren. Verwenden Sie beispielsweise den folgenden Befehl, um die Abhängigkeiten des hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm Pakets zu überprüfen.

Der Befehl fragt nach und zeigt die Laufzeitabhängigkeiten an, die vom „hardinfo“-Paket benötigt werden, was dazu beiträgt, sicherzustellen, dass alle erforderlichen Abhängigkeiten erfüllt sind, bevor das Paket installiert wird.

rpm -qpR hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
 
libX11.so.6()(64bit)
libatk-1.0.so.0()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.33)(64bit)
libc.so.6(GLIBC_2.34)(64bit)
libc.so.6(GLIBC_2.38)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libcairo-gobject.so.2()(64bit)
libcairo.so.2()(64bit)
...

Lassen Sie uns die Bestandteile des obigen Befehls aufteilen:

  • -q : Fragen Sie ein Paket.
  • -p : Listen Sie die Fähigkeiten auf, die dieses Paket bereitstellt.
  • -R : Listen Sie die Fähigkeiten auf, von denen dieses Paket abhängt.

4. Wie man ein RPM-Paket ohne Abhängigkeiten installiert

Um ein rpm-Paket ohne Abhängigkeiten zu installieren, können Sie die --nodeps-Option verwenden, die das erzwungene Installieren eines RPM-Pakets ohne Prüfung oder Auflösung von Abhängigkeiten ermöglicht.

rpm -ivh --nodeps hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

Der obige Befehl installiert das rpm-Paket erzwingend, indem Abhängigkeitsfehler ignoriert werden, aber wenn diese Abhängigkeitsdateien fehlen, wird das Programm überhaupt nicht funktionieren, bis Sie sie installieren.

5. Wie man ein installiertes RPM-Paket überprüft

Um ein installiertes rpm-Paket zu überprüfen, können Sie die -q-Option verwenden, die Informationen über die installierte Version des Pakets abfragt und anzeigt.

rpm -q hardinfo

hardinfo-2.0.11-1.x86_64

6. Wie man herausfindet, wo RPM-Dateien installiert sind

Um alle Dateien eines installierten rpm-Pakets anzuzeigen, verwenden Sie den -ql (Abfrage Liste) mit dem rpm-Befehl.

rpm -ql hardinfo

/usr/bin/hardinfo2
/usr/lib/.build-id
/usr/lib/.build-id/3a
/usr/lib/.build-id/53
/usr/lib/.build-id/7c
/usr/lib/.build-id/ba
/usr/lib/.build-id/e0
/usr/lib64/hardinfo2
/usr/lib64/hardinfo2/modules
/usr/lib64/hardinfo2/modules/benchmark.so
/usr/lib64/hardinfo2/modules/computer.so
/usr/lib64/hardinfo2/modules/devices.so
/usr/lib64/hardinfo2/modules/network.so
...

7. So Listen Sie kürzlich installierte RPM-Pakete auf

Verwenden Sie den folgenden rpm-Befehl mit der -qa (Abfrage alle) Option, um alle kürzlich installierten rpm-Pakete aufzulisten.

rpm -qa --last


hardinfo-2.0.11-1.x86_64                      Mon 04 Mar 2024 01:32:14 PM IST
pipewire-pulseaudio-1.0.3-1.fc39.x86_64       Mon 04 Mar 2024 01:32:02 PM IST
pipewire-jack-audio-connection-kit-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST
pipewire-alsa-1.0.3-1.fc39.x86_64             Mon 04 Mar 2024 01:32:02 PM IST
libsoup-devel-2.74.3-3.fc39.x86_64            Mon 04 Mar 2024 01:32:02 PM IST
json-glib-devel-1.8.0-1.fc39.x86_64           Mon 04 Mar 2024 01:32:02 PM IST
gtk3-devel-3.24.41-1.fc39.x86_64              Mon 04 Mar 2024 01:32:02 PM IST
xdg-desktop-portal-gtk-1.15.1-1.fc39.x86_64   Mon 04 Mar 2024 01:32:01 PM IST
xdg-desktop-portal-1.18.2-1.fc39.x86_64       Mon 04 Mar 2024 01:32:01 PM IST
libcanberra-gtk3-0.30-32.fc39.x86_64          Mon 04 Mar 2024 01:32:01 PM IST
gtk3-3.24.41-1.fc39.x86_64                    Mon 04 Mar 2024 01:32:01 PM IST
...

8. So Listen Sie alle installierten RPM-Pakete auf

Geben Sie den folgenden Befehl ein, um alle Namen von installierten Paketen auf Ihrem Linux-System auszugeben.

rpm -qa

fonts-filesystem-2.0.5-12.fc39.noarch
libreport-filesystem-2.17.11-3.fc39.noarch
hunspell-filesystem-1.7.2-5.fc39.x86_64
abattis-cantarell-vf-fonts-0.301-10.fc39.noarch
fedora-gpg-keys-39-1.noarch
fedora-repos-39-1.noarch
setup-2.14.4-1.fc39.noarch
filesystem-3.18-6.fc39.x86_64
basesystem-11-18.fc39.noarch
default-fonts-core-sans-4.0-9.fc39.noarch
langpacks-fonts-en-4.0-9.fc39.noarch
...

9. So aktualisieren Sie ein RPM-Paket

Wenn wir ein beliebiges RPM-Paket aktualisieren möchten, wird die –U (Upgrade) Option verwendet. Einer der Hauptvorteile bei der Verwendung dieser Option ist, dass sie nicht nur die neueste Version eines beliebigen Pakets aktualisiert, sondern auch eine Sicherung des älteren Pakets erhält, damit im Falle, dass das neu aktualisierte Paket nicht ausgeführt wird, das zuvor installierte Paket erneut verwendet werden kann.

rpm -Uvh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

10. So entfernen Sie ein RPM-Paket

Um ein RPM-Paket zu deinstallieren, verwenden wir beispielsweise den Paketnamen hardinfo, nicht den ursprünglichen Paketnamen hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm. Die -e (löschen) Option wird verwendet, um das Paket zu entfernen.

rpm -evv hardinfo

11. So entfernen Sie ein RPM-Paket ohne Abhängigkeiten

Die --nodeps (Abhängigkeiten nicht prüfen) Option entfernt das rpm-Paket gewaltsam aus dem System. Denken Sie jedoch daran, dass das Entfernen eines bestimmten Pakets andere funktionierende Anwendungen beeinträchtigen kann.

rpm -ev --nodeps hardinfo

12. So finden Sie das RPM-Paket eines bestimmten Datei

Lassen Sie uns sagen, Sie haben eine Liste von Dateien und möchten herausfinden, welches Paket zu diesen Dateien gehört. Zum Beispiel zeigt der folgende Befehl mit der Option -qf (Abfrage Datei) eine Datei /usr/bin/htpasswd an, die vom Paket httpd-tools-2.4.58-1.fc39.x86_64 gehört.

rpm -qf /usr/bin/htpasswd

httpd-tools-2.4.58-1.fc39.x86_64

13. Wie man Informationen über ein installiertes RPM-Paket abfragt

Angenommen, Sie haben ein RPM-Paket installiert und möchten Informationen über das Paket wissen. Die folgende Option -qi (Abfrage Info) gibt die verfügbaren Informationen des installierten Pakets aus.

rpm -qi hardinfo

Name        : hardinfo
Version     : 2.0.11
Release     : 1
Architecture: x86_64
Install Date: Mon 04 Mar 2024 01:32:14 PM IST
Group       : unknown
Size        : 5174404
License     : GPL2+
Signature   : (none)
Source RPM  : hardinfo-2.0.11-1.src.rpm
Build Date  : Sat 02 Mar 2024 06:37:42 AM IST
Build Host  : fedora.bigbear.dk
Relocations : /usr 
Vendor      : Humanity
URL         : https://www.hardinfo2.org
Summary     : hardinfo2 built using CMake
Description :
Hardinfo2 is a small application that displays information about your hardware and operating system.  It has online benchmarking to check your machine performance against other machines.

14. Informationen über ein RPM-Paket vor der Installation abrufen

Sie haben ein Paket aus dem Internet heruntergeladen und möchten die Informationen über ein Paket vor der Installation wissen. Zum Beispiel gibt die folgende Option -qip (Abfrage Info Paket) die Informationen eines Pakets sqlbuddy aus.

rpm -qip sqlbuddy

Name        : sqlbuddy                     Relocations: (not relocatable)
Version     : 1.3.3                        Vendor: (none)
Release     : 1                            Build Date: Wed 02 Nov 2011 11:01:21 PM BDT
Install Date: (not installed)              Build Host: rpm.bar.baz
Group       : Applications/Internet        Source RPM: sqlbuddy-1.3.3-1.src.rpm
Size        : 1155804                      License: MIT
Signature   : (none)
Packager    : Erik M Jacobs
URL         : http://www.sqlbuddy.com/
Summary     : SQL Buddy â Web based MySQL administration
Description : SQLBuddy is a PHP script that allows for web-based MySQL administration.

15. Wie man die Dokumentation eines installierten RPM-Pakets abfragt

Um die Liste der verfügbaren Dokumentationen eines installierten Pakets zu erhalten, verwenden Sie den folgenden Befehl mit der Option -qdf (Abfrage Dokumentdatei), um die Handbuchseiten des Pakets vmstat anzuzeigen.

rpm -qdf /usr/bin/vmstat

/usr/share/doc/procps-ng/AUTHORS
/usr/share/doc/procps-ng/FAQ
/usr/share/doc/procps-ng/NEWS
/usr/share/doc/procps-ng/README.md
/usr/share/doc/procps-ng/bugs.md
/usr/share/man/man1/free.1.gz
/usr/share/man/man1/pgrep.1.gz
...

16. Wie man ein RPM-Paket überprüft

Die Überprüfung eines Pakets vergleicht die Informationen der installierten Dateien des Pakets mit der RPM-Datenbank. Das -Vp (Paket überprüfen) wird verwendet, um ein Paket zu überprüfen.

rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm

S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

17. Wie man alle RPM-Pakete überprüft

Geben Sie den folgenden Befehl ein, um alle installierten RPM-Pakete zu überprüfen.

rpm -Va

S.5....T.  c /etc/rc.d/rc.local
.......T.  c /etc/dnsmasq.conf
.......T.    /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf
S.5....T.  c /etc/yum.conf
S.5....T.  c /etc/yum.repos.d/epel.repo

18. Wie man einen RPM-GPG-Schlüssel importiert

Um RHEL/CentOS/Fedora-Pakete zu überprüfen, müssen Sie den GPG-Schlüssel importieren. Führen Sie dazu den folgenden Befehl aus. Er wird den GPG-Schlüssel von CentOS 8 importieren.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8

19. Wie man alle importierten RPM-GPG-Schlüssel auflistet

Um alle importierten GPG-Schlüssel in Ihrem System auszudrucken, verwenden Sie den folgenden Befehl.

rpm -qa gpg-pubkey*

gpg-pubkey-0608b895-4bd22942
gpg-pubkey-7fac5991-4615767f
gpg-pubkey-0f2672c8-4cd950ee
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-00f97f56-467e318a
gpg-pubkey-6b8d79e6-3f49313d
gpg-pubkey-849c449f-4cb9df30

20. Wie man die beschädigte RPM-Datenbank wiederherstellt

Manchmal wird die RPM-Datenbank beschädigt und stoppt alle Funktionen von RPM und anderen Anwendungen im System. Daher müssen wir in diesem Fall die RPM-Datenbank neu erstellen und mit Hilfe des folgenden Befehls wiederherstellen.

cd /var/lib
rm __db*
rpm --rebuilddb
rpmdb_verify Packages

Zusammenfassend bieten die präsentierten RPM-Befehle eine umfassende Anleitung für das effiziente Verwalten von Softwarepaketen auf RHEL-basierten Linux-Distributionen.

Source:
https://www.tecmint.com/20-practical-examples-of-rpm-commands-in-linux/