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/