GNU/Linux >> Linux Esercitazione >  >> Linux

Comandi RPM in Linux con esempi

RPM (Redhat Package Manager) è un'utilità di gestione dei pacchetti da riga di comando utilizzata per installare, disinstallare, aggiornare, interrogare e verificare i pacchetti software.

In questo tutorial, spiegherò alcuni dei comandi rpm Linux più comuni per un amministratore di sistema. Alcune delle distribuzioni Linux basate su RPM sono Redhat, Centos, Fedora e OpenSuse. Yum e DNF sono frontend per la gestione degli RPM che hanno più funzionalità e potrebbero superare i limiti che ha.

Come ottenere pacchetti RPM

Sono disponibili diversi metodi per ottenere i pacchetti RPM, come mostrato di seguito.

  1. CD/DVD del software
  2. Mirror CentOS
  3. RedHat (necessario account)
  4. Qualsiasi sito Web di repository aperto

Modalità di base per il comando RPM

  • Installa:viene utilizzato per installare qualsiasi pacchetto RPM.
  • Rimuovi:viene utilizzato per cancellare, rimuovere o disinstallare qualsiasi pacchetto RPM.
  • Aggiorna:viene utilizzato per aggiornare il pacchetto RPM esistente.
  • Query:viene utilizzato per interrogare qualsiasi pacchetto RPM.
  • Verifica:viene utilizzato per verificare i pacchetti RPM.

Esempi per il pacchetto RPM

Applicazione GeoIP GeoIP-1.5.0-11.el7.x86_64.rpm è una libreria di pacchetti RPM per la mappatura del paese/città/organizzazione all'indirizzo IP o del nome host. GeoIP è il nome del pacchetto, la versione è 1.5.0-11.el7 , la versione è 7 e architettura .x86_64 .

Installa

1. Come conoscere le informazioni del pacchetto RPM senza installare

Dopo aver scaricato un pacchetto e vogliamo conoscere le informazioni di un pacchetto prima dell'installazione. Possiamo usare -qip opzione (interroga il pacchetto di informazioni) per elencare le informazioni di un pacchetto.

$ sudo rpm -qip GeoIP-1.5.0-11.el7.x86_64.rpm
output
Name        : GeoIP
Version     : 1.5.0
Release     : 11.el7
Architecture: x86_64
Install Date: (not installed)
Group       : Development/Libraries
Size        : 2905020
License     : LGPLv2+ and GPLv2+ and CC-BY-SA
Signature   : RSA/SHA256, Sun 20 Nov 2016 05:49:19 PM UTC, Key ID 24c6a8a7f4a80eb5
Source RPM  : GeoIP-1.5.0-11.el7.src.rpm
Build Date  : Sat 05 Nov 2016 08:29:17 PM UTC
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem 
Vendor      : CentOS
URL         : http://www.maxmind.com/app/c
Summary     : Library for country/city/organization to IP address or hostname mapping
Description :
GeoIP is a C library that enables the user to find the country that any IP
address or hostname originates from. It uses a file based database that is
accurate as of June 2007 and can optionally be updated on a weekly
basis by installing the GeoIP-update package. This database simply contains IP
blocks as keys, and countries as values. This database should be more complete
and accurate than using reverse DNS lookups.

This package includes GeoLite data created by MaxMind, available from
http://www.maxmind.com/

2. Come installare il pacchetto RPM

Possiamo usare -ivh parametri per installare un pacchetto particolare come mostrato di seguito.

$ sudo rpm -ivh GeoIP-1.5.0-11.el7.x86_64.rpm
    Output
    Preparing...                          ################################# [100%]
        package GeoIP-1.5.0-11.el7.x86_64 is already installed

3. Come controllare un pacchetto RPM installato

Possiamo usare -q opzione con il nome del pacchetto, mostrerà se un pacchetto rpm è installato o meno.

$ sudo rpm -q GeoIP
output
GeoIP-1.5.0-11.el7.x86_64

4. Come elencare tutti i file per un particolare pacchetto RPM installato

Possiamo elencare tutti i file di un pacchetto rpm installato, usando il -ql opzione con comando rpm.

$ sudo rpm -ql GeoIP
output
/etc/GeoIP.conf
/etc/GeoIP.conf.default
/usr/bin/geoiplookup
/usr/bin/geoiplookup6
/usr/bin/geoipupdate
/usr/lib64/libGeoIP.so.1
/usr/lib64/libGeoIP.so.1.5.0
/usr/lib64/libGeoIPUpdate.so.0
/usr/lib64/libGeoIPUpdate.so.0.0.0
/usr/share/GeoIP
/usr/share/GeoIP/GeoIP-initial.dat
/usr/share/GeoIP/GeoIP.dat
/usr/share/GeoIP/GeoIPASNum.dat
/usr/share/GeoIP/GeoIPASNumv6.dat
/usr/share/GeoIP/GeoIPCity.dat
/usr/share/GeoIP/GeoIPCityv6.dat
/usr/share/GeoIP/GeoIPCountry.dat
/usr/share/GeoIP/GeoIPCountryv6.dat
/usr/share/GeoIP/GeoIPv6-initial.dat
...

5. Come elencare i pacchetti RPM installati di recente

Possiamo usare -qa opzione con --last , Elencherà tutti i pacchetti rpm installati di recente.

$ sudo rpm -qa --last
output
GeoIP-1.5.0-11.el7.x86_64                     Sat 01 Sep 2018 11:34:09 AM UTC
wget-1.14-15.el7_4.1.x86_64                   Sun 26 Aug 2018 03:21:02 PM UTC
iwl7265-firmware-22.0.7.0-62.2.el7_5.noarch   Thu 16 Aug 2018 02:10:18 PM UTC
libgomp-4.8.5-28.el7_5.1.x86_64               Thu 16 Aug 2018 02:10:15 PM UTC
iwl2030-firmware-18.168.6.1-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:15 PM UTC
iptables-1.4.21-24.1.el7_5.x86_64             Thu 16 Aug 2018 02:10:15 PM UTC
yum-plugin-fastestmirror-1.1.31-46.el7_5.noarch Thu 16 Aug 2018 02:10:14 PM UTC
iwl6000-firmware-9.221.4.1-62.2.el7_5.noarch  Thu 16 Aug 2018 02:10:14 PM UTC
iwl4965-firmware-228.61.2.24-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:14 PM UTC
iwl105-firmware-18.168.6.1-62.2.el7_5.noarch  Thu 16 Aug 2018 02:10:14 PM UTC
iwl100-firmware-39.31.5.1-62.2.el7_5.noarch   Thu 16 Aug 2018 02:10:13 PM UTC
iwl1000-firmware-39.31.5.1-62.2.el7_5.noarch  Thu 16 Aug 2018 02:10:13 PM UTC
ca-certificates-2018.2.22-70.0.el7_5.noarch   Thu 16 Aug 2018 02:10:13 PM UTC
iwl6000g2b-firmware-17.168.5.2-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:12 PM UTC
...

6. Come installare il pacchetto RPM senza dipendenze

Possiamo usare -ivh parametri con --nodeps sta per nessun controllo delle dipendenze, Per installare un pacchetto particolare senza dipendenze, Come mostrato di seguito.

$ sudo rpm -ivh --nodeps GeoIP-1.5.0-11.el7.x86_64.rpm
    Output
    Preparing...                          ################################# [100%]
        package GeoIP-1.5.0-11.el7.x86_64 is already installed

7. Come sostituire il pacchetto RPM installato

Possiamo usare -ivh --replacepkgs parametri per sostituire un particolare pacchetto installato come mostrato di seguito.

$ sudo rpm -ivh --replacepkgs GeoIP-1.5.0-11.el7.x86_64.rpm
    Output
    Preparing...                          ################################# [100%]
    Updating / installing...
      1:GeoIP-1.5.0-11.el7               ################################# [100%]

Rimuovi

8. Come disinstallare il pacchetto RPM

Possiamo usare -e parametri per disinstallare un particolare pacchetto installato senza dipendenze (non controllare le dipendenze) come mostrato di seguito.

$ sudo  rpm -e --nodeps GeoIP

Ora digita il comando di seguito per assicurarti che GeoIP non sia installato.

$ sudo rpm -q GeoIP
    Output
    package GeoIP is not installed

Aggiorna

9. Come aggiornare il pacchetto RPM installato

Possiamo usare -Uvh parametri per aggiornare un particolare pacchetto installato come mostrato di seguito.

$ sudo rpm -Uvh GeoIP-1.5.0-11.el7.x86_64.rpm
    Output
    Preparing...                          ################################# [100%]
        package GeoIP-1.5.0-11.el7.x86_64 is already installed

Interrogazione

10. Come interrogare tutti i pacchetti installati

Possiamo usare -a parametri insieme a q per interrogare tutti i pacchetti installati sul server come mostrato di seguito.

$ sudo rpm -qa
    Output
    python-firewall-0.4.4.4-14.el7.noarch
    ncurses-base-5.9-14.20130511.el7_4.noarch
    plymouth-0.8.9-0.31.20140113.el7.centos.x86_64
    kbd-misc-1.15.5-13.el7.noarch
    vim-common-7.4.160-4.el7.x86_64
    bash-4.2.46-30.el7.x86_64
    dmidecode-3.0-5.el7.x86_64
    filesystem-3.2-25.el7.x86_64
    kbd-1.15.5-13.el7.x86_64
    vim-enhanced-7.4.160-4.el7.x86_64
    firewalld-0.4.4.4-14.el7.noarch
    ....

11. Come interrogare un particolare pacchetto

Possiamo usare grep comando per trovare un particolare pacchetto è installato o meno come mostrato di seguito.

$ sudo rpm -qa | grep GeoIP
    Output
    GeoIP-1.5.0-11.el7.x86_64

12. Come interrogare un file che appartiene a quale pacchetto RPM

Nell'esempio numero 9 digitiamo il comando per elencare tutti i file di un pacchetto RPM installato, ora vogliamo sapere /usr/lib64/libGeoIP.so.1.5.0 appartiene a quale pacchetto RPM.

$ sudo rpm -qf /usr/lib64/libGeoIP.so.1.5.0
output
GeoIP-1.5.0-11.el7.x86_64

Verifica

13. Come ottenere informazioni per un particolare pacchetto

Possiamo usare -i parametri insieme a q per ottenere informazioni su un particolare pacchetto come mostrato di seguito.

$ sudo rpm -qi GeoIP
Output
Name        : GeoIP
Version     : 1.5.0
Release     : 11.el7
Architecture: x86_64
Install Date: Thu 16 Aug 2018 02:04:09 PM UTC
Group       : Development/Libraries
Size        : 2905020
License     : LGPLv2+ and GPLv2+ and CC-BY-SA
Signature   : RSA/SHA256, Sun 20 Nov 2016 05:49:19 PM UTC, Key ID 24c6a8a7f4a80eb5
Source RPM  : GeoIP-1.5.0-11.el7.src.rpm
Build Date  : Sat 05 Nov 2016 08:29:17 PM UTC
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem
Vendor      : CentOS
URL         : http://www.maxmind.com/app/c
Summary     : Library for country/city/organization to IP address or hostname mapping
Description :
GeoIP is a C library that enables the user to find the country that any IP
address or hostname originates from. It uses a file based database that is
accurate as of June 2007 and can optionally be updated on a weekly
basis by installing the GeoIP-update package. This database simply contains IP
blocks as keys, and countries as values. This database should be more complete
and accurate than using reverse DNS lookups.

This package includes GeoLite data created by MaxMind, available from http://www.maxmind.com/

14. Come verificare un pacchetto RPM

Possiamo verificare un pacchetto confrontando le informazioni dei file installati del pacchetto con il database rpm, usando -Vp opzione (verifica pacchetto).

$ sudo rpm -Vp GeoIP-1.5.0-11.el7.x86_64.rpm

15. Come verificare tutti i pacchetti RPM

Possiamo verificare tutti i pacchetti rpm installati, utilizzando -Va opzione (verifica tutto).

$ sudo rpm -Va
output
S.5....T.  c /etc/sysconfig/authconfig
S.5....T.  c /etc/yum.repos.d/CentOS-Base.repo
.M.......  c /etc/machine-id
.M.......  g /etc/udev/hwdb.bin
.M.......  g /var/lib/systemd/random-seed
.M.......  c /etc/shadow
S.5....T.  c /etc/ssh/sshd_config
.M.......  c /etc/audit/rules.d/audit.rules
S.5....T.  c /etc/NetworkManager/NetworkManager.conf
....L....  c /etc/pam.d/fingerprint-auth
....L....  c /etc/pam.d/password-auth
....L....  c /etc/pam.d/postlogin
...

Leggi anche:

  • Come scaricare pacchetti senza installarli su distribuzioni RPM
  • 21 comandi DNF per gestire le distribuzioni Linux basate su RPM
  • Come eseguire query sui pacchetti utilizzando il comando RPM di Linux

Un pacchetto rpm è costituito da file di programma, file di configurazione e un elenco di programmi software compilati e librerie necessarie per i pacchetti (dipendenze). Questa utility rpm funziona solo con i pacchetti basati sul formato '.rpm'.


Linux
  1. Comandi Head and Tail in Linux spiegati con esempi

  2. Oltre 10 comandi VI Linux con esempi

  3. Comando RPM Linux con 10 esempi utili

  4. Comandi RPM

  5. Comandi Linux più semplici con 10 esempi

Come utilizzare il comando RPM (con esempi)

15 Comando Linux ps con esempi

Comandi Nmap con esempi

Comandi RPM in Linux con esempi

Comandi SSH in Linux con esempi di utilizzo

Gestione dei pacchetti Linux con YUM e RPM