Der RPM Package Manager (RPM) ist ein leistungsstarkes Paketverwaltungssystem, das von Red Hat Linux und seinen Derivaten wie CentOS und Fedora verwendet wird. RPM bezieht sich auch auf die rpm
Befehl und .rpm
Datei Format. Ein RPM-Paket besteht aus einem Archiv von Dateien und Metadaten, einschließlich Informationen wie Abhängigkeiten und Installationsort.
In diesem Tutorial werden wir darüber sprechen, wie man rpm
verwendet Befehl zum Installieren, Aktualisieren, Entfernen, Überprüfen, Abfragen und anderweitigen Verwalten von RPM-Paketen.
Installieren, Aktualisieren und Entfernen von RPM-Paketen #
Normalerweise verwenden Sie zum Installieren eines neuen Pakets auf Red Hat-basierten Distributionen entweder yum
oder dnf
Befehle, die alle Paketabhängigkeiten auflösen und installieren können.
Sie sollten immer yum
bevorzugen oder dnf
über rpm
beim Installieren, Aktualisieren und Entfernen von Paketen.
Bevor Sie ein RPM-Paket installieren, müssen Sie das Paket zunächst mit einem Browser oder Befehlszeilentools wie curl
auf Ihr System herunterladen oder wget
.
Stellen Sie bei der Installation von RPM-Paketen sicher, dass sie für Ihre Systemarchitektur und Ihre CentOS-Version erstellt wurden. Seien Sie besonders vorsichtig, wenn Sie wichtige Systempakete wie glibc, systemd oder andere Dienste und Bibliotheken ersetzen oder aktualisieren, die für das ordnungsgemäße Funktionieren Ihres Systems unerlässlich sind.
Nur root oder Benutzer mit sudo-Berechtigungen können RPM-Pakete installieren oder entfernen.
Um ein RPM-Paket mit dem rpm
zu installieren verwenden Sie das -i
Option, gefolgt vom Paketnamen:
sudo rpm -ivh package.rpm
Das -v
Option sagt rpm
um eine ausführliche Ausgabe und den -h
anzuzeigen Option zum Anzeigen des mit Hash markierten Fortschrittsbalkens.
Sie können den Download-Teil überspringen und die URL zum RPM-Paket für rpm
bereitstellen Befehl:
sudo rpm -ivh https://example.com/package.rpm
Um ein RPM-Paket zu aktualisieren, verwenden Sie -U
Möglichkeit. Wenn das Paket nicht installiert ist, wird es installiert:
sudo rpm -Uvh package.rpm
Wenn das Paket, das Sie installieren oder aktualisieren, von anderen Paketen abhängt, die derzeit nicht installiert sind, rpm
zeigt eine Liste aller fehlenden Abhängigkeiten an. Sie müssen alle Abhängigkeiten manuell herunterladen und installieren.
Um ein RPM-Paket zu installieren, ohne dass alle erforderlichen Abhängigkeiten auf dem System installiert sind, verwenden Sie --nodeps
Möglichkeit:
sudo rpm -Uvh --nodeps package.rpm
Verwenden Sie zum Entfernen (Löschen) eines RPM-Pakets das -e
Möglichkeit:
sudo rpm -e package.rpm
Die --nodeps
Die Option ist auch nützlich, wenn Sie ein Paket entfernen möchten, ohne seine Abhängigkeiten zu entfernen:
sudo rpm -evh --nodeps package.rpm
Der --test
Option sagt rpm
um einen Installations- oder Entfernungsbefehl auszuführen, ohne tatsächlich etwas zu tun. Es zeigt nur, ob der Befehl funktionieren würde oder nicht:
sudo rpm -Uvh --test package.rpm
Abfrage von RPM-Paketen #
Das -q
Option sagt die rpm
Befehl zum Ausführen einer Abfrage.
Um abzufragen (zu suchen), ob ein bestimmtes Paket installiert ist, übergeben Sie den Paketnamen an rpm -q
Befehl. Der folgende Befehl zeigt Ihnen, ob das OpenJDK 11-Paket auf dem System installiert ist:
sudo rpm -q java-11-openjdk-devel
Wenn das Paket installiert ist, sehen Sie etwa Folgendes:
java-11-openjdk-devel-11.0.4.11-0.el8_0.x86_64
Übergeben Sie -i
um weitere Informationen über das abgefragte Paket zu erhalten:
sudo rpm -qi java-11-openjdk-devel
So erhalten Sie eine Liste aller Dateien in einem installierten RPM-Paket:
sudo rpm -ql package
Wenn Sie herausfinden möchten, zu welchem installierten Paket eine bestimmte Datei gehört, geben Sie Folgendes ein:
sudo rpm -qf /path/to/file
Um eine Liste aller installierten Pakete auf Ihrem System zu erhalten, verwenden Sie den -a
Möglichkeit:
sudo rpm -qa
RPM-Pakete werden überprüft #
Beim Verifizieren eines Pakets wird die rpm
überprüft, ob jede von einem Paket installierte Datei auf dem System existiert, den Digest der Datei, den Besitz, die Berechtigungen usw.
Um ein installiertes Paket zu überprüfen, verwenden Sie -V
Möglichkeit. Um beispielsweise das openldap-Paket zu überprüfen, würden Sie Folgendes ausführen:
sudo rpm -V openldap-2.4.46-9.el8.x86_64
Wenn die Überprüfung bestanden wird, druckt der Befehl keine Ausgabe. Andernfalls, wenn einige der Prüfungen fehlschlagen, wird ein Zeichen angezeigt, das auf den fehlgeschlagenen Test hinweist.
Die folgende Ausgabe zeigt beispielsweise, dass die mTime der Datei geändert wurde („T“):
.......T. c /etc/openldap/ldap.conf
Informationen zur Bedeutung der einzelnen Zeichen finden Sie in der RMP-Manpage.
Führen Sie den folgenden Befehl aus, um alle installierten RPM-Pakete zu überprüfen:
sudo rpm -Va