GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il comando RPM (con esempi)

RPM sta per "Redhat Package Manager" è uno strumento di gestione dei pacchetti da riga di comando per il sistema operativo basato su RHEL/CentOS. È possibile installare, disinstallare, aggiornare, interrogare e verificare il pacchetto utilizzando il comando RPM. Questo strumento funziona solo con i pacchetti costruiti in formato .rpm. Il comando RPM può installare solo il pacchetto specificato, non può installare le dipendenze richieste per quel pacchetto.

In questo tutorial, ti mostreremo come utilizzare il gestore di pacchetti RPM con alcuni esempi. Se stai cercando una guida sul nuovo gestore di pacchetti RedHat DNF, dai un'occhiata qui: CentOS 8 Package Management con DNF sulla riga di comando

Prerequisiti

  • Un server che esegue CentOS, RHEL o Fedora.
  • Sul tuo server è configurata una password di root.

Sintassi di base

La sintassi di base del comando RPM è mostrata di seguito:

rpm [OPTION] [PACKAGENAME]

Puoi elencare tutte le opzioni disponibili con il comando RPM usando il seguente comando:

rpm --help

Dovresti vedere la seguente schermata:

Installazione, aggiornamento e rimozione del pacchetto con RPM

Prima di installare qualsiasi pacchetto RPM, puoi elencare le dipendenze per quel pacchetto con il seguente comando:

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

Uscita:

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

Puoi anche ottenere le informazioni di quel pacchetto con il seguente comando:

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

Uscita:

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.

Puoi installare questo pacchetto usando il seguente comando:

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

Uscita:

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%]

Puoi installare qualsiasi pacchetto RPM senza dipendenze utilizzando il comando seguente:

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

Per aggiornare il pacchetto RPM installato, eseguire il comando seguente:

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

Uscita:

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

Per rimuovere il pacchetto RPM installato, eseguire il comando seguente:

rpm -ev epel-release

Uscita:

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

Visualizza informazioni pacchetto con RPM

Per visualizzare le informazioni dettagliate di qualsiasi pacchetto, eseguire il comando seguente:

rpm -ql epel-release

Uscita:

/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

Puoi trovare i file di configurazione di qualsiasi pacchetto con il seguente comando:

rpm -qc httpd

Uscita:

/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

Puoi visualizzare maggiori informazioni su qualsiasi pacchetto con il seguente comando:

rpm -qi httpd

Uscita:

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.

Per trovare il pacchetto dalla directory o dal file con il seguente comando:

rpm -qf /etc/NetworkManager/

Uscita:

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

Verifica pacchetto con RPM

Per verificare qualsiasi pacchetto prima di installarlo, utilizzare il seguente comando:

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

Uscita:

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

Per verificare tutti i pacchetti rpm installati, eseguire il comando seguente:

rpm -Va

Uscita:

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

Controlla le informazioni sul pacchetto installato con RPM

Per verificare qualsiasi pacchetto sia installato o meno con il seguente comando:

Per verificare il pacchetto installato, esegui il seguente comando:

rpm -q epel-release

Se il pacchetto specificato è installato, dovresti vedere il seguente output:

epel-release-8-7.el8.noarch

Per verificare il pacchetto che non è installato, eseguire il comando seguente:

rpm -q mysql-server

Dovresti ottenere il seguente output:

package mysql-server is not installed

Per elencare tutti i pacchetti installati nel tuo sistema, esegui il comando seguente:

rpm -qa

Uscita:

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

Per elencare tutti i pacchetti installati per nome e dimensione, esegui il comando seguente:

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

Uscita:

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

Trova la pagina manuale di qualsiasi pacchetto con RPM

Puoi eseguire quanto segue per conoscere l'elenco della documentazione per un pacchetto che possiede un file o una cartella.

rpm -qdf /etc/NetworkManager/

Uscita:

/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

Conclusione

Nel tutorial sopra, abbiamo imparato come gestire i pacchetti con RPM sul sistema operativo CentOS 8. Spero che questo ti aiuterà a svolgere le attività quotidiane.


Linux
  1. Come utilizzare il comando touch di Linux + esempi

  2. Come utilizzare il comando ethtool con esempi

  3. Come utilizzare il comando Hexdump di Linux con esempi pratici

  4. Comando SCP in Linux:come usarlo, con esempi

  5. Come utilizzare il comando Rmmod su Linux con esempi

Come utilizzare il comando who in Linux con esempi

Comando alias Linux:come usarlo con esempi

Come utilizzare il comando gunzip di Linux con esempi

Come utilizzare il comando Linux rm con esempi

Come usare il comando di spegnimento con esempi

Come utilizzare il comando RPM in Linux