Website-Suche

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 -i installiert ein neues Paket auf dem System.
  • Upgrade – Der Befehl rpm -U aktualisiert ein vorhandenes Paket auf eine neuere Version.
  • Remove – Der Befehl rpm -e deinstalliert oder entfernt ein Paket vom System.
  • Query – Der Befehl rpm -q fragt die RPM-Datenbank nach Informationen über installierte Pakete ab.
  • Verify – Der Befehl rpm -V überprüft die Integrität der installierten Paketdateien.
  • Freshen – Der Befehl rpm -F aktualisiert oder installiert ein Paket nur, wenn es bereits installiert ist.
  • Datenbank neu erstellen – Der Befehl rpm --rebuilddb erstellt die RPM-Datenbank neu und behebt Probleme mit Datenbankbeschädigungen.
  • Import GPG Key – Der Befehl rpm --import importiert einen GPG-Schlüssel, der für die Überprüfung der Paketsignatur verwendet wird.
  • Query All – Der Befehl rpm -qa listet alle installierten Pakete auf dem System auf.
  • Query Files – Der Befehl rpm -ql listet alle Dateien auf, die von einem bestimmten Paket installiert wurden.
  • Dokumentation abfragen – Der Befehl rpm -qd listet Dokumentationsdateien auf, die von einem Paket bereitgestellt werden.
  • Query Dependencies – Der Befehl rpm -qR listet die Laufzeitabhängigkeiten für ein Paket auf.
  • Query Provides – Der Befehl rpm -q --provides listet die von einem Paket bereitgestellten Funktionen auf.
  • Abfrage erforderlich – Der Befehl rpm -q --requires listet 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 OK

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

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

18. 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-4cb9df30

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

Verwandte Artikel: