GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwendung des RPM-Befehls (mit Beispielen)

RPM steht für „Redhat Package Manager“ und ist ein Befehlszeilen-Paketverwaltungstool für RHEL/CentOS-basierte Betriebssysteme. Sie können das Paket mit dem RPM-Befehl installieren, deinstallieren, aktualisieren, abfragen und überprüfen. Dieses Tool funktioniert nur mit Paketen, die im RPM-Format erstellt wurden. Der RPM-Befehl kann nur das angegebene Paket installieren, er kann nicht die für dieses Paket erforderlichen Abhängigkeiten installieren.

In diesem Tutorial zeigen wir Ihnen anhand einiger Beispiele, wie Sie den RPM-Paketmanager verwenden. Wenn Sie nach einer Anleitung zum neuen RedHat-Paketmanager DNF suchen, sehen Sie hier nach: CentOS 8-Paketverwaltung mit DNF in der Befehlszeile

Voraussetzungen

  • Ein Server, auf dem CentOS, RHEL oder Fedora ausgeführt wird.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Grundlegende Syntax

Die grundlegende Syntax des RPM-Befehls ist unten dargestellt:

rpm [OPTION] [PACKAGENAME]

Mit dem folgenden Befehl können Sie alle verfügbaren Optionen mit dem RPM-Befehl auflisten:

rpm --help

Sie sollten den folgenden Bildschirm sehen:

Paket mit RPM installieren, aktualisieren und entfernen

Bevor Sie ein RPM-Paket installieren, können Sie die Abhängigkeiten für dieses Paket mit dem folgenden Befehl auflisten:

rpm -qpR epel-release-latest-8.noarch.rpm

Ausgabe:

warning: epel-release-latest-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
config(epel-release) = 8-7.el8
redhat-release >= 8
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

Sie können die Informationen dieses Pakets auch mit dem folgenden Befehl abrufen:

rpm -qip epel-release-latest-8.noarch.rpm

Ausgabe:

warning: epel-release-latest-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Name        : epel-release
Version     : 8
Release     : 7.el8
Architecture: noarch
Install Date: (not installed)
Group       : System Environment/Base
Size        : 30269
License     : GPLv2
Signature   : RSA/SHA256, Thursday 10 October 2019 12:19:30 PM EDT, Key ID 21ea45ab2f86d6a1
Source RPM  : epel-release-8-7.el8.src.rpm
Build Date  : Thursday 10 October 2019 12:16:18 PM EDT
Build Host  : buildvm-04.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://download.fedoraproject.org/pub/epel
Bug URL     : https://bugz.fedoraproject.org/epel-release
Summary     : Extra Packages for Enterprise Linux repository configuration
Description :
This package contains the Extra Packages for Enterprise Linux (EPEL) repository
GPG key as well as configuration for yum.

Sie können dieses Paket mit dem folgenden Befehl installieren:

rpm -ivh epel-release-latest-8.noarch.rpm

Ausgabe:

warning: epel-release-latest-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:epel-release-8-7.el8             ################################# [100%]

Sie können jedes RPM-Paket ohne Abhängigkeiten mit dem folgenden Befehl installieren:

rpm -ivh --nodeps epel-release-latest-8.noarch.rpm

Führen Sie den folgenden Befehl aus, um das installierte RPM-Paket zu aktualisieren:

rpm -Uvh epel-release-latest-8.noarch.rpm

Ausgabe:

warning: epel-release-latest-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
	package epel-release-8-7.el8.noarch is already installed

Um das installierte RPM-Paket zu entfernen, führen Sie den folgenden Befehl aus:

rpm -ev epel-release

Ausgabe:

Preparing packages...
epel-release-8-7.el8.noarch

Paketinformationen mit RPM anzeigen

Führen Sie den folgenden Befehl aus, um die Detailinformationen eines beliebigen Pakets anzuzeigen:

rpm -ql epel-release

Ausgabe:

/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
/etc/yum.repos.d/epel-playground.repo
/etc/yum.repos.d/epel-testing.repo
/etc/yum.repos.d/epel.repo
/usr/lib/systemd/system-preset/90-epel.preset
/usr/share/doc/epel-release
/usr/share/doc/epel-release/GPL
/usr/share/doc/epel-release/README-epel-8-packaging.md

Sie können die Konfigurationsdateien jedes Pakets mit dem folgenden Befehl finden:

rpm -qc httpd

Ausgabe:

/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
/etc/httpd/conf.modules.d/00-lua.conf
/etc/httpd/conf.modules.d/00-mpm.conf
/etc/httpd/conf.modules.d/00-optional.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean

Mit dem folgenden Befehl können Sie weitere Informationen zu jedem Paket anzeigen:

rpm -qi httpd

Ausgabe:

Name        : httpd
Version     : 2.4.37
Release     : 16.module_el8.1.0+256+ae790463
Architecture: x86_64
Install Date: Thursday 23 January 2020 11:48:36 PM EST
Group       : System Environment/Daemons
Size        : 5611291
License     : ASL 2.0
Signature   : RSA/SHA256, Monday 23 December 2019 05:22:02 PM EST, Key ID 05b555b38483c65d
Source RPM  : httpd-2.4.37-16.module_el8.1.0+256+ae790463.src.rpm
Build Date  : Monday 23 December 2019 03:46:30 PM EST
Build Host  : x86-02.mbox.centos.org
Relocations : (not relocatable)
Packager    : CentOS Buildsys <[email protected]>
Vendor      : CentOS
URL         : https://httpd.apache.org/
Summary     : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.

Um das Paket aus dem Verzeichnis oder der Datei zu finden, verwenden Sie den folgenden Befehl:

rpm -qf /etc/NetworkManager/

Ausgabe:

NetworkManager-1.14.0-14.el8.x86_64
dhcp-client-4.3.6-30.el8.x86_64

Paket mit RPM verifizieren

Um ein Paket vor der Installation zu überprüfen, verwenden Sie den folgenden Befehl:

rpm -Vp epel-release-latest-8.noarch.rpm

Ausgabe:

warning: epel-release-latest-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY

Führen Sie den folgenden Befehl aus, um alle installierten RPM-Pakete zu überprüfen:

rpm -Va

Ausgabe:

.......T.  c /etc/kdump.conf
.M.......  g /var/lib/plymouth/boot-duration
.M.......  g /var/cache/dnf/packages.db
.....UG..  g /var/lib/sss/mc/group
.....UG..  g /var/lib/sss/mc/initgroups
.....UG..  g /var/lib/sss/mc/passwd
.M.......  c /etc/rc.d/rc.local
.M.......  c /etc/machine-id

Informationen zum installierten Paket mit RPM prüfen

Überprüfen Sie mit dem folgenden Befehl, ob ein Paket installiert ist oder nicht:

Führen Sie den folgenden Befehl aus, um das installierte Paket zu überprüfen:

rpm -q epel-release

Wenn das angegebene Paket installiert ist, sollten Sie die folgende Ausgabe sehen:

epel-release-8-7.el8.noarch

Führen Sie den folgenden Befehl aus, um das nicht installierte Paket zu überprüfen:

rpm -q mysql-server

Sie sollten die folgende Ausgabe erhalten:

package mysql-server is not installed

Führen Sie den folgenden Befehl aus, um alle auf Ihrem System installierten Pakete aufzulisten:

rpm -qa

Ausgabe:

dos2unix-7.4.0-3.el8.x86_64
platform-python-pip-9.0.3-13.el8.noarch
geolite2-country-20180605-1.el8.noarch
symlinks-1.4-19.el8.x86_64
python3-six-1.11.0-8.el8.noarch
fontpackages-filesystem-1.44-22.el8.noarch
rootfiles-8.1-22.el8.noarch
polkit-0.115-6.el8.x86_64
xkeyboard-config-2.24-3.el8.noarch
iwl6050-firmware-41.28.5.1-92.el8.1.noarch
libmodulemd1-1.8.0-5.el8.x86_64
pkgconf-m4-1.4.2-1.el8.noarch
iwl5000-firmware-8.83.5.1_1-92.el8.1.noarch
samba-common-4.9.1-8.el8.noarch
kbd-misc-2.0.4-8.el8.noarch

Führen Sie den folgenden Befehl aus, um alle installierten Pakete nach Name und Größe aufzulisten:

rpm -qa --queryformat '%{name} %{size}\n'

Ausgabe:

dos2unix 682042
platform-python-pip 7746190
geolite2-country 3424334
symlinks 19682
python3-six 100282
fontpackages-filesystem 0
rootfiles 599

Manuelle Seite eines beliebigen Pakets mit RPM finden

Sie können Folgendes ausführen, um die Liste der Dokumentation für ein Paket anzuzeigen, das eine Datei oder einen Ordner besitzt.

rpm -qdf /etc/NetworkManager/

Ausgabe:

/usr/share/doc/NetworkManager/AUTHORS
/usr/share/doc/NetworkManager/CONTRIBUTING
/usr/share/doc/NetworkManager/NEWS
/usr/share/doc/NetworkManager/README
/usr/share/doc/NetworkManager/TODO
/usr/share/doc/NetworkManager/examples/server.conf
/usr/share/man/man1/nm-online.1.gz
/usr/share/man/man1/nmcli.1.gz
/usr/share/man/man5/NetworkManager.conf.5.gz
/usr/share/man/man5/nm-settings-ifcfg-rh.5.gz
/usr/share/man/man5/nm-settings-keyfile.5.gz
/usr/share/man/man5/nm-settings.5.gz
/usr/share/man/man5/nm-system-settings.conf.5.gz
/usr/share/man/man7/nmcli-examples.7.gz
/usr/share/man/man8/NetworkManager.8.gz
/usr/share/doc/dhcp-client/README.dhclient.d
/usr/share/doc/dhcp-client/dhclient-enter-hooks
/usr/share/doc/dhcp-client/dhclient.conf.example
/usr/share/doc/dhcp-client/dhclient6.conf.example
/usr/share/man/man5/dhclient.conf.5.gz
/usr/share/man/man5/dhclient.leases.5.gz
/usr/share/man/man8/dhclient-script.8.gz
/usr/share/man/man8/dhclient.8.gz

Schlussfolgerung

Im obigen Tutorial haben wir gelernt, wie Pakete mit RPM auf dem Betriebssystem CentOS 8 verwaltet werden. Ich hoffe, dies hilft Ihnen bei der Durchführung alltäglicher Aufgaben.


Linux
  1. Verwendung des Linux-Touch-Befehls + Beispiele

  2. Verwendung des ethtool-Befehls mit Beispielen

  3. Verwendung des Linux-Hexdump-Befehls mit praktischen Beispielen

  4. SCP-Befehl in Linux:Verwendung mit Beispielen

  5. So verwenden Sie den Rmmod-Befehl unter Linux mit Beispielen

So verwenden Sie den who-Befehl in Linux mit Beispielen

Linux-Alias-Befehl:Verwendung mit Beispielen

So verwenden Sie den Gunzip-Befehl unter Linux mit Beispielen

So verwenden Sie den Linux-rm-Befehl mit Beispielen

Verwendung des Shutdown-Befehls mit Beispielen

So verwenden Sie den RPM-Befehl unter Linux