20 praktische Beispiele für RPM-Befehle unter Linux
RPM (Red Hat Package Manager) ist ein Standard-Open-Source- und beliebtestes Paketverwaltungsprogramm für Red Hat-basierte Systeme wie (RHEL , CentOS und Fedora). Mit dem Tool können Systemadministratoren und Benutzer installieren, aktualisieren, deinstallieren, abfragen und verifizieren. und verwaltet Systemsoftwarepakete in Unix/Linux-Betriebssystemen. Die RPM-Datei, früher bekannt als .rpm-Datei, die kompilierte Softwareprogramme und Bibliotheken enthält, die von den Paketen benötigt werden. Dieses Dienstprogramm funktioniert nur mit Paketen, die auf dem .rpm-Format basieren.
Dieser Artikel enthält einige nützliche 20 RPM-Befehlsbeispiele, die für Sie hilfreich sein könnten. Mit Hilfe dieses rpm-Befehls können Sie Pakete in Ihren Linux-Systemen installieren, aktualisieren und entfernen.
Einige Fakten über RPM (RedHat Package Manager)
- RPM ist kostenlos und steht unter der GPL (General Public License).
- RPM speichert die Informationen aller installierten Pakete in der Datenbank /var/lib/rpm.
- RPM ist die einzige Möglichkeit, Pakete unter Linux-Systemen zu installieren. Wenn Sie Pakete mithilfe des Quellcodes installiert haben, kann RPM dies nicht verwalten.
- RPM verarbeitet .rpm-Dateien, die die eigentlichen Informationen über die Pakete enthalten, wie zum Beispiel: was es ist, woher es kommt, >Abhängigkeitsinformationen, Versionsinformationen usw.
Es gibt fünf Grundmodi für den RPM-Befehl
- Installieren: Wird zum Installieren eines beliebigen RPM-Pakets verwendet.
- Entfernen: Wird verwendet, um RPM-Pakete zu löschen, zu entfernen oder zu deinstallieren.
- Upgrade: Wird verwendet, um das vorhandene RPM-Paket zu aktualisieren.
- Verifizieren: Wird zur Überprüfung eines RPM-Pakets verwendet.
- Abfrage: Wird zur Abfrage jedes RPM-Pakets verwendet.
Wo finde ich RPM-Pakete?
Nachfolgend finden Sie eine Liste der RPM-Sites, auf denen Sie alle RPM-Pakete finden und herunterladen können.
- http://rpmfind.net
- http://www.redhat.com
- http://freshrpms.net/
- http://rpm.pbone.net/
Lesen Sie auch:
- 20 YUM-Befehlsbeispiele unter Linux
- 10 Wget-Befehlsbeispiele unter Linux
- 30 nützlichste Linux-Befehle für Systemadministratoren
Bitte denken Sie daran, dass Sie bei der Installation von Paketen unter Linux Root-Benutzer sein müssen. Mit den Root-Rechten können Sie RPM-Befehle mit den entsprechenden Optionen verwalten.
1. So überprüfen Sie ein RPM-Signaturpaket
Ü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 Option –checksig (Signatur prüfen), um die Signatur eines Pakets namens pidgin zu überprüfen.
[root@tecmint]# rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm
pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK
2. So installieren Sie ein RPM-Paket
Um ein RPM-Softwarepaket zu installieren, verwenden Sie den folgenden Befehl mit der Option -i. Zum Beispiel, um ein RPM-Paket mit dem Namen pidgin-2.7.9-5.el6.2.i686.rpm zu installieren.
[root@tecmint]# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm
Preparing... ########################################### [100%]
1:pidgin ########################################### [100%]
RPM-Befehl und -Optionen
- -i: Paket installieren
- -v: Ausführlich für eine schönere Anzeige
- -h: Hash-Markierungen ausgeben, während das Paketarchiv entpackt wird.
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 BitTorrent-5.2.2-1-Python2.4.noarch.rpm zu überprüfen. Es wird die Liste der Abhängigkeiten des Pakets angezeigt.
[root@tecmint]# rpm -qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm
/usr/bin/python2.4
python >= 2.3
python(abi) = 2.4
python-crypto >= 2.0
python-psyco
python-twisted >= 2.0
python-zopeinterface
rpmlib(CompressedFileNames) = 2.6
RPM-Befehl und -Optionen
- -q: Ein Paket abfragen
- -p: Listen Sie die Funktionen auf, die dieses Paket bietet.
- -R: Funktionen auflisten, von denen dieses Paket abhängt.
4. So installieren Sie ein RPM-Paket ohne Abhängigkeiten
Wenn Sie wissen, dass alle benötigten Pakete bereits installiert sind und RPM einfach nur dumm ist, können Sie diese Abhängigkeiten ignorieren, indem Sie vor der Installation die Option –nodeps (keine Abhängigkeitsprüfung) verwenden Paket.
[root@tecmint]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm
Preparing... ########################################### [100%]
1:BitTorrent ########################################### [100%]
Der obige Befehl erzwingt die Installation des RPM-Pakets durch Ignorieren von Abhängigkeitsfehlern. Wenn diese Abhängigkeitsdateien jedoch fehlen, funktioniert das Programm überhaupt nicht, bis Sie sie installieren.
5. So überprüfen Sie ein installiertes RPM-Paket
Wenn Sie die Option -q mit dem Paketnamen verwenden, wird angezeigt, ob ein RPM installiert ist oder nicht.
[root@tecmint]# rpm -q BitTorrent
BitTorrent-5.2.2-1.noarch
6. So listen Sie alle Dateien eines installierten RPM-Pakets auf
Um alle Dateien eines installierten RPM-Pakets anzuzeigen, verwenden Sie den Befehl -ql (Abfrageliste) mit RPM.
[root@tecmint]# rpm -ql BitTorrent
/usr/bin/bittorrent
/usr/bin/bittorrent-console
/usr/bin/bittorrent-curses
/usr/bin/bittorrent-tracker
/usr/bin/changetracker-console
/usr/bin/launchmany-console
/usr/bin/launchmany-curses
/usr/bin/maketorrent
/usr/bin/maketorrent-console
/usr/bin/torrentinfo-console
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.
[root@tecmint]# rpm -qa --last
BitTorrent-5.2.2-1.noarch Tue 04 Dec 2012 05:14:06 PM BDT
pidgin-2.7.9-5.el6.2.i686 Tue 04 Dec 2012 05:13:51 PM BDT
cyrus-sasl-devel-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:06 PM BDT
cyrus-sasl-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:05 PM BDT
cyrus-sasl-md5-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:04 PM BDT
cyrus-sasl-plain-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:03 PM BDT
8. So listen Sie alle installierten RPM-Pakete auf
Geben Sie den folgenden Befehl ein, um alle Namen aller auf Ihrem Linux-System installierten Pakete auszugeben.
[root@tecmint]# rpm -qa
initscripts-9.03.31-2.el6.centos.i686
polkit-desktop-policy-0.96-2.el6_0.1.noarch
thunderbird-17.0-1.el6.remi.i686
9. So aktualisieren Sie ein RPM-Paket
Wenn wir ein RPM-Paket aktualisieren möchten, wird die Option „–U“ (upgrade) verwendet. Einer der Hauptvorteile dieser Option besteht darin, dass nicht nur die neueste Version eines Pakets aktualisiert wird, sondern auch die Sicherung des älteren Pakets beibehalten wird, sodass für den Fall, dass das neuere aktualisierte Paket das zuvor installierte Paket nicht ausführt, nicht ausgeführt wird kann wieder verwendet werden.
[root@tecmint]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm
Preparing... ########################################### [100%]
1:nx ########################################### [100%]
10. So entfernen Sie ein RPM-Paket
Um beispielsweise ein RPM-Paket zu deinstallieren, verwenden wir den Paketnamen nx, nicht den ursprünglichen Paketnamen nx-3.5.0-2.el6.centos.i686.rpm . Die Option -e (erase) wird zum Entfernen des Pakets verwendet.
[root@tecmint]# rpm -evv nx
11. So entfernen Sie ein RPM-Paket ohne Abhängigkeiten
Die Option –nodeps (Abhängigkeiten nicht prüfen) entfernt das RPM-Paket zwangsweise aus dem System. Beachten Sie jedoch, dass das Entfernen eines bestimmten Pakets dazu führen kann, dass andere funktionierende Anwendungen beschädigt werden.
[root@tecmint]# rpm -ev --nodeps vsftpd
12. So fragen Sie eine Datei ab, die zu welchem RPM-Paket gehört
Nehmen wir an, Sie haben eine Liste mit Dateien und möchten herausfinden, zu welchem Paket diese Dateien gehören. Der folgende Befehl mit der Option -qf (Abfragedatei) zeigt Ihnen beispielsweise, dass die Datei /usr/bin/htpasswd dem Paket gehört httpd-tools-2.2.15-15.el6.centos.1.i686.
[root@tecmint]# rpm -qf /usr/bin/htpasswd
httpd-tools-2.2.15-15.el6.centos.1.i686
13. So fragen Sie Informationen zum installierten RPM-Paket ab
Nehmen wir an, Sie haben ein RPM-Paket installiert und möchten die Informationen über das Paket wissen. Die folgende Option -qi (Abfrageinformationen) gibt die verfügbaren Informationen des installierten Pakets aus.
[root@tecmint]# rpm -qi vsftpd
Name : vsftpd Relocations: (not relocatable)
Version : 2.2.2 Vendor: CentOS
Release : 11.el6 Build Date: Fri 22 Jun 2012 01:54:24 PM BDT
Install Date: Mon 17 Sep 2012 07:55:28 PM BDT Build Host: c6b8.bsys.dev.centos.org
Group : System Environment/Daemons Source RPM: vsftpd-2.2.2-11.el6.src.rpm
Size : 351932 License: GPLv2 with exceptions
Signature : RSA/SHA1, Mon 25 Jun 2012 04:07:34 AM BDT, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://vsftpd.beasts.org/
Summary : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
14. Informieren Sie sich vor der Installation über das RPM-Paket
Sie haben ein Paket aus dem Internet heruntergeladen und möchten vor der Installation die Informationen zu einem Paket wissen. Beispielsweise gibt die folgende Option -qip (Query Info Package) die Informationen eines Pakets sqlbuddy aus.
[root@tecmint]# rpm -qip sqlbuddy-1.3.3-1.noarch.rpm
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 abzurufen, verwenden Sie den folgenden Befehl mit der Option -qdf (Dokumentdatei abfragen). Dadurch werden die Handbuchseiten zum vmstat-Paket angezeigt.
[root@tecmint]# rpm -qdf /usr/bin/vmstat
/usr/share/doc/procps-3.2.8/BUGS
/usr/share/doc/procps-3.2.8/COPYING
/usr/share/doc/procps-3.2.8/COPYING.LIB
/usr/share/doc/procps-3.2.8/FAQ
/usr/share/doc/procps-3.2.8/NEWS
/usr/share/doc/procps-3.2.8/TODO
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 (Paket verifizieren) wird zum Verifizieren eines Pakets verwendet.
[root@tecmint downloads]# 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.
[root@tecmint]# 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 6-GPG-Schlüssel importiert.
[root@tecmint]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
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.
[root@tecmint]# 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 neu
Manchmal wird die RPM-Datenbank beschädigt und stoppt die gesamte Funktionalität von RPM und anderen Anwendungen auf dem System. Zu diesem Zeitpunkt müssen wir also die RPM-Datenbank neu erstellen und mit Hilfe des folgenden Befehls wiederherstellen.
[root@tecmint]# cd /var/lib
[root@tecmint]# rm __db*
[root@tecmint]# rpm --rebuilddb
[root@tecmint]# rpmdb_verify Packages