20 RPM-Befehle für die Linux-Paketverwaltung
RPM (Red Hat Package Manager) ist ein standardmäßiges Open-Source-Paketverwaltungsprogramm für Red Hat-basierte Systeme wie CentOS Fedora, Rocky und Alma Linux.
Das rpm-Paketverwaltungstool ermöglicht Systemadministratoren und Benutzern das Installieren, Aktualisieren, Deinstallieren, Abfragen, Überprüfen und Verwalten von Softwarepaketen auf Unix/Linux-Betriebssystemen, die früher als .rpm-Datei bezeichnet wurden und kompilierte Softwareprogramme und Bibliotheken enthalten, die für die Pakete erforderlich sind.
Dieser Artikel enthält 20 nützliche Beispiele für RPM-Befehle, die für Sie hilfreich sein könnten. 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 zu RPM (Red Hat Package Manager):
- RPM ist frei verfügbar und wird unter der General Public License (GPL) veröffentlicht.
- RPM unterhält eine Datenbank aller installierten Pakete und speichert diese Informationen im Verzeichnis
/var/lib/rpm. - RPM dient als primäre Methode für die Installation von Paketen auf Linux-Systemen. Wenn Pakete mit Quellcode installiert wurden, werden sie von RPM nicht verwaltet.
- 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 -iinstalliert ein neues Paket auf dem System. - Upgrade – Der Befehl
rpm -Uaktualisiert ein vorhandenes Paket auf eine neuere Version. - Remove – Der Befehl
rpm -edeinstalliert oder entfernt ein Paket vom System. - Query – Der Befehl
rpm -q fragt die RPM-Datenbanknach Informationen über installierte Pakete ab. - Verify – Der Befehl
rpm -Vüberprüft die Integrität der installierten Paketdateien. - Freshen – Der Befehl
rpm -Faktualisiert oder installiert ein Paket nur, wenn es bereits installiert ist. - Datenbank neu erstellen – Der Befehl
rpm --rebuilddberstellt die RPM-Datenbank neu und behebt Probleme mit Datenbankbeschädigungen. - Import GPG Key – Der Befehl
rpm --importimportiert einen GPG-Schlüssel, der für die Überprüfung der Paketsignatur verwendet wird. - Query All – Der Befehl
rpm -qalistet alle installierten Pakete auf dem System auf. - Query Files – Der Befehl
rpm -qllistet alle Dateien auf, die von einem bestimmten Paket installiert wurden. - Dokumentation abfragen – Der Befehl
rpm -qdlistet Dokumentationsdateien auf, die von einem Paket bereitgestellt werden. - Query Dependencies – Der Befehl
rpm -qRlistet die Laufzeitabhängigkeiten für ein Paket auf. - Query Provides – Der Befehl
rpm -q --provideslistet die von einem Paket bereitgestellten Funktionen auf. - Abfrage erforderlich – Der Befehl
rpm -q --requireslistet Abhängigkeiten auf, die für ein Paket erforderlich sind.
Wo finde ich RPM-Pakete?
Sie können RPM-Pakete an verschiedenen Orten finden, abhängig von Ihrer Linux-Distribution. Hier sind gängige Speicherorte, an denen Sie alle RPM-Pakete finden und herunterladen können.
- http://rpmfind.net
- http://www.redhat.com
- https://pkgs.org/
- http://rpm.pbone.net/
Bitte denken Sie daran, dass Sie ein Root-Benutzer sein müssen, wenn Sie Pakete unter Linux installieren, mit den Root-Rechten können Sie rpm-Befehle mit den entsprechenden Optionen verwalten.
1. So überprüfen Sie die Signatur des 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 in Ordnung sind.
Verwenden Sie den folgenden Befehl mit der Option --checksig (check signature), 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 OK2. So installieren Sie das RPM-Paket
Um ein RPM-Softwarepaket zu installieren, verwenden Sie den folgenden Befehl mit der Option -ivh, wodurch das RPM-Paket mit dem Namen hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm auf einem Linux-System installiert wird.
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 Komponenten des obigen Befehls aufschlüsseln:
-i: Installieren eines Pakets-v: ausführlich für eine schönere Darstellung-h: Drucken Sie Rauten (#), um den Fortschritt der Installation anzuzeigen.
3. So überprüfen Sie die Abhängigkeiten des RPM-Pakets vor der Installation
Nehmen wir an, Sie möchten eine Abhängigkeitsprüfung durchführen, bevor Sie ein Paket installieren oder aktualisieren. Verwenden Sie beispielsweise den folgenden Befehl, um die Abhängigkeiten des Pakets hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm zu überprüfen.
Der Befehl fragt die Laufzeitabhängigkeiten ab und zeigt sie an, die für das Paket "hardinfo" erforderlich sind, was dazu beiträgt, alle erforderlichen Abhängigkeiten zu identifizieren und sicherzustellen, 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 Komponenten des obigen Befehls aufschlüsseln:
-q: Abfrage eines Pakets.-p: Listet die Fähigkeiten auf, die dieses Paket bereitstellt.-R: Listet die Fähigkeiten auf, von denen dieses Paket abhängt.
4. So installieren Sie das RPM-Paket ohne Abhängigkeiten
Um ein RPM-Paket ohne Abhängigkeiten zu installieren, können Sie die Option --nodeps verwenden, die die Installation eines RPM-Pakets erzwingt, ohne Abhängigkeiten zu überprüfen oder aufzulösen.
rpm -ivh --nodeps hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
Der obige Befehl installiert das rpm-Paket zwangsweise, indem er Abhängigkeitsfehler ignoriert, aber wenn diese Abhängigkeitsdateien fehlen, funktioniert das Programm überhaupt nicht, bis Sie sie installieren.
5. So überprüfen Sie das installierte RPM-Paket
Um ein installiertes RPM-Paket zu überprüfen, können Sie die Option -q verwenden, die Informationen über die installierte Version des Pakets abfragt und anzeigt.
rpm -q hardinfo
hardinfo-2.0.11-1.x86_646. So finden Sie heraus, wo RPM-Dateien installiert sind
Um alle Dateien eines installierten RPM-Pakets anzuzeigen, verwenden Sie den Befehl -ql (Abfrageliste) mit rpm.
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 Option -qa (query all), 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 der installierten Pakete 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 Option "–U" (Upgrade) verwendet. Einer der Hauptvorteile dieser Option besteht darin, dass sie nicht nur die neueste Version eines Pakets aktualisiert, sondern auch die Sicherung des älteren Pakets beibehält, so dass im Falle, dass das neuere 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 beispielsweise ein RPM-Paket zu deinstallieren, verwenden wir den Paketnamen hardinfo, nicht den ursprünglichen Paketnamen hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm. Die Option -e (Löschen) wird verwendet, um das Paket zu entfernen.
rpm -evv hardinfo
11. So entfernen Sie ein RPM-Paket ohne Abhängigkeiten
Die Option --nodeps (Abhängigkeiten nicht prüfen) entfernt das RPM-Paket zwangsweise vom System. Denken Sie jedoch daran, dass das Entfernen eines bestimmten Pakets andere funktionierende Anwendungen beschädigen kann.
rpm -ev --nodeps hardinfo
12. So finden Sie das RPM-Paket einer bestimmten Datei
Nehmen wir an, Sie haben eine Liste von Dateien und möchten herausfinden, welches Paket zu diesen Dateien gehört. Zum Beispiel zeigt Ihnen der folgende Befehl mit der Option -qf (Abfragedatei) eine Datei /usr/bin/htpasswd, die dem 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 des installierten RPM-Pakets abfragt
Nehmen wir an, Sie haben ein RPM-Paket installiert und möchten die Informationen über das Paket wissen. Die folgende Option -qi (Abfrage von Informationen) 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. Holen Sie sich die Informationen des RPM-Pakets, bevor Sie es installieren
Sie haben ein Paket aus dem Internet heruntergeladen und möchten vor der Installation die Informationen eines Pakets wissen. Zum Beispiel gibt die folgende Option -qip (query info package) 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. So fragen Sie die Dokumentation des installierten RPM-Pakets ab
Um die Liste der verfügbaren Dokumentation eines installierten Pakets zu erhalten, verwenden Sie den folgenden Befehl mit der Option -qdf (query document file) zeigt die Handbuchseiten an, die sich auf das vmstat-Paket beziehen.
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. So überprüfen Sie ein RPM-Paket
Bei der Überprüfung eines Pakets werden die Informationen der installierten Dateien des Pakets mit der RPM-Datenbank verglichen. Das -Vp (verify package) wird verwendet, um ein Paket zu verifizieren.
rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm
S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. So überprüfen Sie alle RPM-Pakete
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.repo18. So importieren Sie einen RPM GPG-Schlüssel
Um RHEL/CentOS/Fedora-Pakete zu überprüfen, müssen Sie den GPG-Schlüssel importieren. Führen Sie dazu den folgenden Befehl aus. Es wird der CentOS 8 GPG-Schlüssel importiert.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
19. So listen Sie alle importierten RPM GPG-Schlüssel auf
Um alle importierten GPG-Schlüssel in Ihrem System zu drucken, 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-4cb9df3020. So erstellen Sie eine beschädigte RPM-Datenbank wieder
Manchmal wird die rpm-Datenbank beschädigt und stoppt alle Funktionen von rpm und anderen Anwendungen auf dem System. Zu diesem Zeitpunkt müssen wir also die rpm-Datenbank neu erstellen und sie mit Hilfe des folgenden Befehls wiederherstellen.
cd /var/lib
rm __db*
rpm --rebuilddb
rpmdb_verify Packages
Zusammenfassend lässt sich sagen, dass die vorgestellten rpm-Befehle eine umfassende Anleitung für die effiziente Verwaltung von Softwarepaketen auf RHEL-basierten Linux-Distributionen bieten.