Der RPM-Befehl wird zum Installieren, Deinstallieren, Aktualisieren, Abfragen, Auflisten und Überprüfen von RPM-Paketen auf Ihrem Linux-System verwendet .
RPM steht für R ed Hut P Paket M ärger.
Mit Root-Rechten können Sie den RPM-Befehl mit entsprechenden Optionen verwenden, um die RPM-Softwarepakete zu verwalten.
In diesem Artikel sehen wir uns 15 praktische Beispiele für den RPM-Befehl an.
Lassen Sie uns ein RPM von Mysql Client nehmen und alle unsere Beispiele durchgehen.
1. RPM-Paket installieren Mit rpm -ivh
Der RPM-Dateiname besteht aus Paketname, Version, Release und Architekturname.
Beispiel:In der Datei MySQL-client-3.23.57-1.i386.rpm:
- MySQL-Client – Paketname
- 3.23.57 – Version
- 1 – Freigabe
- i386 – Architektur
Wenn Sie ein RPM installieren, prüft es, ob Ihr System für die im RPM-Paket enthaltene Software geeignet ist, findet heraus, wo die Dateien im RPM-Paket installiert werden müssen, installiert sie auf Ihrem System und fügt diese Software zu seiner Datenbank hinzu installierte RPM-Pakete.
Der folgende RPM-Befehl installiert das Mysql-Client-Paket.
# rpm -ivh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%]
rpm-Befehl und -Optionen
- -i :Paket installieren
- -v :ausführlich
- -h :Gibt beim Entpacken des Paketarchivs Rautenzeichen aus.
Sie können auch dpkg unter Debian, pkgadd unter Solaris und depot unter HP-UX verwenden, um Pakete zu installieren.
2. Fragen Sie alle RPM-Pakete mit rpm -qa
abSie können den Befehl rpm verwenden, um alle auf Ihrem System installierten Pakete abzufragen.
# rpm -qa cdrecord-2.01-10.7.el5 bluez-libs-3.7-1.1 setarch-2.0-1.1 . .
- -q Abfrageoperation
- -a fragt alle installierten Pakete ab
Um festzustellen, ob ein bestimmtes RPM-Paket auf Ihrem System installiert ist, kombinieren Sie den Befehl rpm und grep wie unten gezeigt. Der folgende Befehl prüft, ob das cdrecord-Paket auf Ihrem System installiert ist.
# rpm -qa | grep 'cdrecord'
3. Fragen Sie ein bestimmtes RPM-Paket mit rpm -q
abDas obige Beispiel listet alle derzeit installierten Pakete auf. Nach der Installation eines Pakets, um die Installation zu überprüfen, können Sie ein bestimmtes Paket abfragen und wie unten gezeigt überprüfen.
# rpm -q MySQL-client MySQL-client-3.23.57-1 # rpm -q MySQL package MySQL is not installed
Hinweis:Um ein Paket abzufragen, sollten Sie den genauen Paketnamen angeben. Wenn der Paketname falsch ist, meldet der Befehl rpm, dass das Paket nicht installiert ist.
4. Fragen Sie RPM-Pakete in verschiedenen Formaten mit rpm –queryformat
abDer Rpm-Befehl bietet eine Option –queryformat, mit der Sie den Header-Tag-Namen geben können, um die Pakete aufzulisten. Schließen Sie das Header-Tag mit in {}.
ein# rpm -qa --queryformat '%{name}-%{version}-%{release} %{size}\n' cdrecord-2.01-10.7 12324 bluez-libs-3.7-1.1 5634 setarch-2.0-1.1 235563 . . #
5. Zu welchem RPM-Paket gehört eine Datei? – Verwenden Sie rpm -qf
Nehmen wir an, Sie haben eine Liste von Dateien und möchten wissen, welches Paket alle diese Dateien besitzt. Der Befehl rpm hat Optionen, um dies zu erreichen.
Das folgende Beispiel zeigt, dass die Datei /usr/bin/mysqlaccess Teil von MySQL-client-3.23.57-1 rpm ist.
# rpm -qf /usr/bin/mysqlaccess MySQL-client-3.23.57-1
- -f :Dateiname
6. Lokalisieren Sie die Dokumentation eines Pakets, das eine Datei besitzt, indem Sie rpm -qdf
verwendenVerwenden Sie Folgendes, um die Liste der Dokumentationen für ein Paket zu kennen, das eine Datei besitzt. Der folgende Befehl gibt den Speicherort aller Handbuchseiten an, die sich auf das mysql-Paket beziehen.
# rpm -qdf /usr/bin/mysqlaccess /usr/share/man/man1/mysql.1.gz /usr/share/man/man1/mysqlaccess.1.gz /usr/share/man/man1/mysqladmin.1.gz /usr/share/man/man1/mysqldump.1.gz /usr/share/man/man1/mysqlshow.1.gz
- -d :verweist auf die Dokumentation.
7. Informationen zum installierten RPM-Paket mit rpm -qi
Der Befehl rpm liefert viele Informationen über ein installiertes Paket, indem er rpm -qi verwendet, wie unten gezeigt:
# rpm -qi MySQL-client Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: Mon 06 Feb 2010 03:19:16 AM PST Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
Wenn Sie eine RPM-Datei haben, die Sie installieren möchten, aber vor der Installation weitere Informationen darüber wissen möchten, können Sie Folgendes tun:
# rpm -qip MySQL-client-3.23.57-1.i386.rpm Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: (not installed) Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
- -i :Informationen über eine Drehzahl anzeigen
- -p :Geben Sie einen Paketnamen an
8. Alle Dateien in einem Paket mit rpm -qlp
auflistenUm den Inhalt eines RPM-Pakets aufzulisten, verwenden Sie den folgenden Befehl, der die Dateien auflistet, ohne sie in den lokalen Verzeichnisordner zu extrahieren.
$ rpm -qlp ovpc-2.1.10.rpm /usr/bin/mysqlaccess /usr/bin/mysqldata /usr/bin/mysqlperm . . /usr/bin/mysqladmin
- q :RPM-Datei abfragen
- l :listet die Dateien im Paket auf
- p :Geben Sie den Paketnamen an
Sie können auch Dateien aus dem RPM-Paket mit rpm2cpio extrahieren, wie wir bereits besprochen haben.
9. Listen Sie die Abhängigkeitspakete mit rpm -qRP
aufUm die Liste der Pakete anzuzeigen, von denen dieses Paket abhängt,
# rpm -qRp MySQL-client-3.23.57-1.i386.rpm /bin/sh /usr/bin/perl
10. Ermitteln Sie den Status von Dateien in einem Paket mit rpm -qsp
Der folgende Befehl dient dazu, den Status (installiert, ersetzt oder normal) für alle Dateien in einem RPM-Paket zu finden.
# rpm -qsp MySQL-client-3.23.57-1.i386.rpm normal /usr/bin/msql2mysql normal /usr/bin/mysql normal /usr/bin/mysql_find_rows normal /usr/bin/mysqlaccess normal /usr/bin/mysqladmin normal /usr/bin/mysqlbinlog normal /usr/bin/mysqlcheck normal /usr/bin/mysqldump normal /usr/bin/mysqlimport normal /usr/bin/mysqlshow normal /usr/share/man/man1/mysql.1.gz normal /usr/share/man/man1/mysqlaccess.1.gz normal /usr/share/man/man1/mysqladmin.1.gz normal /usr/share/man/man1/mysqldump.1.gz normal /usr/share/man/man1/mysqlshow.1.gz
11. Verifizieren Sie ein bestimmtes RPM-Paket mit rpm -Vp
Beim Verifizieren eines Pakets werden Informationen über die installierten Dateien im Paket mit Informationen über die Dateien aus den in der RPM-Datenbank gespeicherten Paketmetadaten verglichen. Im folgenden Befehl dient -V zur Überprüfung und die Option -p wird verwendet, um einen zu überprüfenden Paketnamen anzugeben.
# rpm -Vp MySQL-client-3.23.57-1.i386.rpm S.5....T c /usr/bin/msql2mysql S.5....T c /usr/bin/mysql S.5....T c /usr/bin/mysql_find_rows S.5....T c /usr/bin/mysqlaccess
Das Zeichen in der obigen Ausgabe bedeutet Folgendes:
- Größe der S-Datei unterschiedlich
- M-Modus unterscheidet sich (einschließlich Berechtigungen und Dateityp)
- 5 MD5-Summe unterschiedlich
- D Geräte-Major/Minor-Nummer stimmt nicht überein
- L readlink(2)-Pfad stimmt nicht überein
- U Nutzerbesitz ist unterschiedlich
- Die Eigentumsverhältnisse der G-Gruppe unterscheiden sich
- T mTime unterscheidet sich
12. Verifizieren Sie eine Paketbesitzdatei mit rpm -Vf
Der folgende Befehl überprüft das Paket, das den angegebenen Dateinamen besitzt.
# rpm -Vf /usr/bin/mysqlaccess S.5....T c /usr/bin/mysql #
13. Aktualisieren eines RPM-Pakets mit rpm -Uvh
Das Aktualisieren eines Pakets ähnelt dem Installieren eines Pakets, aber RPM deinstalliert automatisch vorhandene Versionen des Pakets, bevor das neue installiert wird. Wenn keine alte Version des Pakets gefunden wird, installiert die Upgrade-Option sie dennoch.
# rpm -Uvh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ###########################################
14. Deinstallieren eines RPM-Pakets mit rpm -e
Um ein installiertes RPM-Paket zu entfernen, verwenden Sie -e wie unten gezeigt. Nach der Deinstallation können Sie mit rpm -qa abfragen und die Deinstallation überprüfen.
# rpm -ev MySQL-client
15. Überprüfen aller RPM-Pakete mit rpm -Va
Der folgende Befehl überprüft alle installierten Pakete.
# rpm -Va S.5....T c /etc/issue S.5....T c /etc/issue.net S.5....T c /var/service/imap/ssl/seed S.5....T c /home/httpd/html/horde/ingo/config/backends.php . . S.5....T c /home/httpd/html/horde/ingo/config/prefs.php S.5....T c /etc/printcap