LINUX

Come elencare i pacchetti RPM installati su Linux

I comandi rpm sono utilizzati da distribuzioni basate su rpm come CentOS, Fedora, Opensuse e RHEL. Le moderne distribuzioni Linux usano yum e il gestore di pacchetti DNF, che ha più funzionalità.

Questo tutorial spiega le opzioni che possono essere aggiunte al comando rpm (Redhat Package Manager) per elencare i pacchetti in Linux.

1) Elenca tutti i pacchetti installati

Per interrogare l’intero database RPM, useremo -qa opzione (query all) per elencare tutti i pacchetti installati in Linux.

# sudo rpm -qa
Output
grub2-tools-extra-2.02-0.65.el7.centos.2.x86_64
ncurses-base-5.9-14.20130511.el7_4.noarch
libpipeline-1.2.3-3.el7.x86_64
kbd-misc-1.15.5-13.el7.noarch
tuned-2.9.0-1.el7.noarch
bash-4.2.46-30.el7.x86_64
info-5.1-5.el7.x86_64
...

2) Elenca il pacchetto specifico installato

Puoi filtrare rpm -qa risultati utilizzando il comando grep per elencare il pacchetto specifico.

Il seguente comando elencherà i pacchetti specifici relativi a “ssh”.

# rpm -qa | grep ssh
sample output
openssh-clients-7.4p1-16.el7.x86_64
openssh-7.4p1-16.el7.x86_64
openssh-server-7.4p1-16.el7.x86_64
libssh2-1.4.3-10.el7_2.1.x86_64

Utilizzare il seguente comando per trovare la data di installazione per un pacchetto specifico

# rpm -q --last openssh
openssh-5.3p1-118.1.el6_8.x86_64              Wed 01 Mar 2017 08:30:12 PM UTC

3) Elenca informazioni dettagliate su un pacchetto

Per elencare informazioni dettagliate sul pacchetto, come versione, rilascio, dimensioni, data di installazione e firma, utilizzare l’opzione qi. Ad esempio, controlliamo le informazioni dettagliate del pacchetto “openssh”.

# rpm -qi openssh
dettagli del pacchetto dell'elenco rpm

4) Elenca il pacchetto installato interrogando un file

Abbiamo installato ssh da openssh-server-5.3p1-84.1.el6.x86_64 lotto. Possiamo usare -qf (query file) con il comando rpm su un file di configurazione.

L’esempio seguente elencherà il nome del pacchetto collegato al file (‘/etc/ssh/sshd_config’) menzionato nel comando:

# rpm -qf /etc/ssh/sshd_config
output
openssh-server-7.4p1-16.el7.x86_64

5) Mostra tutti i file installati da un pacchetto

Noi useremo -ql opzione con il comando rpm per elencare tutti i file di questo pacchetto installati sul sistema.

# rpm -ql openssh-server-7.4p1-16.el7.x86_64
output
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd
/usr/lib/systemd/system/sshd-keygen.service
/usr/lib/systemd/system/sshd.service
/usr/lib/systemd/system/sshd.socket
/usr/lib/systemd/system/sshd@.service
/usr/lib64/fipscheck/sshd.hmac
/usr/libexec/openssh/sftp-server
/usr/sbin/sshd
/usr/sbin/sshd-keygen
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
/var/empty/sshd

6) Elenca solo i file di configurazione del pacchetto

Noi useremo -qc opzione con rpm comando per visualizzare il file di configurazione relativo al pacchetto.

# rpm -qc openssh-server-7.4p1-16.el7.x86_64
output
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd

7) Elenca solo i file di documentazione del pacchetto

Noi useremo -qd opzione (interroga documentazione) con rpm comando per elencare solo i file di documentazione.

# rpm -qd openssh-server-7.4p1-16.el7.x86_64
output
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz

8) Contare il numero totale di pacchetti installati

In Linux, possiamo usare il comando wc per contare, quindi possiamo distribuire il comando rpm query per ottenere il numero totale di pacchetti installati.

# rpm -qa | wc -l
222

Se stai usando il gestore di pacchetti yum o dnf, usa il seguente comando:

# yum list installed | wc -l
# dnf list installed | wc -l
# repoquery -a --installed | wc -l

9) Elenca tutti i pacchetti installati usando il comando repoquery

Nella nuova versione di CentOS, RHEL e Fedora, supporta l’utilizzo del comando repoquery per elencare tutti i pacchetti installati. Se stai usando il gestore di pacchetti dnf, installa “dnf-utils” e per il gestore di pacchetti yum installa “yum-utils” per usare repoquery.

# dnf install dnf-utils
# yum install yum-utils

Eseguire il seguente comando per elencare tutti i pacchetti installati utilizzando il comando repoquery:

# repoquery -a --installed

10) Elenca i pacchetti installati da un determinato repository

Puoi elencare i pacchetti installati da un repository specifico, come il repository EPEL su distribuzioni RHEL o CentOS 7 o CentOS 8.

Il seguente comando elenca tutti i pacchetti installati dal repository “EPEL”:

# yum list installed | grep @epel

Yumdb è un altro comando disponibile per elencare i pacchetti installati da un particolare repository. Yumdb viene fornito con il pacchetto “yum-utils”, quindi assicurati di installarlo.

Il seguente comando yumdb elencherà tutti i pacchetti installati dal repository “EPEL”:

# yumdb search from_repo epel

11) Come ripristinare il file di configurazione dal pacchetto RPM

Se per qualche motivo un file è stato danneggiato o eliminato dal sistema, possiamo iniziare con rpm -qf opzione query per scoprire da quale pacchetto proviene il file. Prossimo utilizzo rpm2cpio | cpio -idmv per estrarre i file dal pacchetto. Considera l’esempio ssh:

Supponendo che /etc/ssh/sshd_config il file è stato eliminato e potremmo non voler reinstallare ssh, quindi ripristineremo il file seguendo i passaggi seguenti.

  1. Il comando seguente mostra che il file proviene dal pacchetto openssh-server-7.4p1-16.el7.x86_64.
    # rpm -qf /etc/init.d/sshd
  2. Scarica Openssh rpm dalla sua fonte
  3. copia openssh-server-7.4p1-16.el7.x86_64 file del pacchetto in /tmp directory o qualsiasi altra directory di tua scelta.
  4. Uso rpm2cpio | cpio -idmv per estrarre il pacchetto.

I comandi che abbiamo utilizzato nei passaggi precedenti hanno creato alcune sottodirectory nel file /tmp. Ora possiamo copiarlo nella sua posizione originale.

Conclusione

In questo tutorial abbiamo imparato diversi modi per elencare i pacchetti rpm installati in Linux. Spero che ti sia piaciuto leggere e per favore lascia i tuoi suggerimenti nella sezione commenti qui sotto.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close