RPM (Red Hat Package Manager) è un’utilità di gestione dei pacchetti predefinita open-source e ampiamente utilizzata per i sistemi basati su Red Hat come CentOS Fedora, Rocky e Alma Linux.
Lo strumento di gestione dei pacchetti rpm consente agli amministratori di sistema e agli utenti di installare, aggiornare, disinstallare, interrogare, verificare e gestire pacchetti software sui sistemi operativi Unix/Linux, che in precedenza erano conosciuti come file .rpm
, contenenti programmi software compilati e librerie necessarie dai pacchetti.
Questo articolo fornisce 20 utili esempi di comandi RPM che potrebbero esserti utili. Con l’aiuto di questi comandi RPM, puoi gestire l’installazione, l’aggiornamento e la rimozione dei pacchetti sui tuoi sistemi Linux.
Fatti su RPM
Ecco alcuni fatti su RPM (Red Hat Package Manager):
- RPM è liberamente disponibile e rilasciato sotto la Licenza Pubblica Generale (GPL).
- RPM mantiene un database di tutti i pacchetti installati, memorizzando queste informazioni nella directory
/var/lib/rpm
. - RPM funge da metodo principale per l’installazione dei pacchetti sui sistemi Linux. Se i pacchetti sono stati installati utilizzando il codice sorgente, RPM non li gestisce.
- RPM opera con file
.rpm
, contenenti informazioni vitali sul pacchetto come la sua identità, origine, dipendenze, dettagli sulla versione e altro ancora.
Modalità di base per il comando RPM
Ecco le modalità principali per il comando RPM:
- Install – Il comando
rpm -i
installa un nuovo pacchetto nel sistema. - Aggiornamento – Il comando
rpm -U
aggiorna un pacchetto esistente a una versione più recente. - Rimuovi – Il comando
rpm -e
disinstalla o rimuove un pacchetto dal sistema. - Interroga – Il comando
rpm -q
interroga il database RPM per informazioni sui pacchetti installati. - Verifica – Il comando
rpm -V
verifica l’integrità dei file del pacchetto installati. - Fresco – Il comando
rpm -F
aggiorna o installa un pacchetto solo se è già installato. - Ricostruisci il Database – Il comando
rpm --rebuilddb
ricostruisce il database RPM, risolvendo problemi di corruzione del database. - Importa chiave GPG – Il comando
rpm --import
importa una chiave GPG utilizzata per la verifica della firma del pacchetto. - Interroga Tutto – Il comando
rpm -qa
elenca tutti i pacchetti installati nel sistema. - Interroga File – Il comando
rpm -ql
elenca tutti i file installati da un pacchetto specifico. - Interroga Documentazione – Il comando
rpm -qd
elenca i file di documentazione forniti da un pacchetto. - Interroga Dipendenze – Il comando
rpm -qR
elenca le dipendenze in fase di esecuzione per un pacchetto. - Query Provides – Il comando
rpm -q --provides
elenca le capacità fornite da un pacchetto. - Query Requires – Il comando
rpm -q --requires
elenca le dipendenze richieste da un pacchetto.
Dove trovare i pacchetti RPM
Puoi trovare i pacchetti RPM in diversi posti, a seconda della tua distribuzione Linux. Ecco alcune posizioni comuni in cui puoi trovare e scaricare tutti i pacchetti RPM.
Ricorda che devi essere un utente root quando installi pacchetti in Linux, con i privilegi di root puoi gestire i comandi rpm con le loro opzioni appropriate.
1. Come Controllare la Firma del Pacchetto RPM
Controlla sempre la firma PGP dei pacchetti prima di installarli sui tuoi sistemi Linux e assicurati che la loro integrità e origine siano OK.
Usa il seguente comando con l’opzione --checksig
(controlla la firma) per controllare la firma di un pacchetto chiamato hardinfo.
rpm --checksig hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm: digests OK
2. Come Installare un Pacchetto RPM
Per installare un pacchetto software RPM, usa il seguente comando con l’opzione -ivh
, che installerà il pacchetto rpm chiamato hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm su un sistema Linux.
rpm -ivh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:hardinfo-2.0.11-1 ################################# [100%]
Spieghiamo i componenti del comando sopra:
-i
: installa un pacchetto-v
: verbose per una visualizzazione più gradevole-h : stampa segni di hash (#) per mostrare il progresso dell’installazione.
3. Come Controllare le Dipendenze del Pacchetto RPM Prima dell’Installazione
Supponiamo che tu voglia fare un controllo delle dipendenze prima di installare o aggiornare un pacchetto. Ad esempio, utilizza il seguente comando per controllare le dipendenze del pacchetto hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm.
Il comando interroga e visualizza le dipendenze di runtime richieste dal pacchetto “hardinfo“, il che aiuta a identificare e assicurarsi che tutte le dipendenze necessarie siano soddisfatte prima di installare il pacchetto.
rpm -qpR hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm libX11.so.6()(64bit) libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.38)(64bit) libc.so.6(GLIBC_2.7)(64bit) libcairo-gobject.so.2()(64bit) libcairo.so.2()(64bit) ...
Spariamo a pezzi i componenti del comando sopra:
-q : Interroga un pacchetto.-p : Elenca le capacità che questo pacchetto fornisce.-R : Elenca le capacità su cui questo pacchetto dipende.
4. Come Installare il Pacchetto RPM Senza Dipendenze
Per installare un pacchetto rpm senza dipendenze, puoi utilizzare l’opzione
rpm -ivh --nodeps hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
Il comando sopra installa forzatamente il pacchetto rpm ignorando gli errori delle dipendenze, ma se quegli file di dipendenza mancano, il programma non funzionerà affatto fino a quando non li installerai.
5. Come Controllare il Pacchetto RPM Installato
Per controllare un pacchetto rpm installato, puoi utilizzare l’opzione
rpm -q hardinfo hardinfo-2.0.11-1.x86_64
6. Come Trovare Dove i File RPM Sono Installati
Per visualizzare tutti i file di un pacchetto rpm installato, utilizzare il -ql
(query list) con il comando rpm.
rpm -ql hardinfo /usr/bin/hardinfo2 /usr/lib/.build-id /usr/lib/.build-id/3a /usr/lib/.build-id/53 /usr/lib/.build-id/7c /usr/lib/.build-id/ba /usr/lib/.build-id/e0 /usr/lib64/hardinfo2 /usr/lib64/hardinfo2/modules /usr/lib64/hardinfo2/modules/benchmark.so /usr/lib64/hardinfo2/modules/computer.so /usr/lib64/hardinfo2/modules/devices.so /usr/lib64/hardinfo2/modules/network.so ...
7. Come elencare i pacchetti RPM appena installati
Utilizzare il seguente comando rpm con -qa
(query all) opzione, elencherà tutti i pacchetti rpm appena installati.
rpm -qa --last hardinfo-2.0.11-1.x86_64 Mon 04 Mar 2024 01:32:14 PM IST pipewire-pulseaudio-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST pipewire-jack-audio-connection-kit-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST pipewire-alsa-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST libsoup-devel-2.74.3-3.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST json-glib-devel-1.8.0-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST gtk3-devel-3.24.41-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST xdg-desktop-portal-gtk-1.15.1-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST xdg-desktop-portal-1.18.2-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST libcanberra-gtk3-0.30-32.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST gtk3-3.24.41-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST ...
8. Come elencare tutti i pacchetti RPM installati
Digitare il seguente comando per stampare tutti i nomi dei pacchetti installati nel sistema Linux.
rpm -qa fonts-filesystem-2.0.5-12.fc39.noarch libreport-filesystem-2.17.11-3.fc39.noarch hunspell-filesystem-1.7.2-5.fc39.x86_64 abattis-cantarell-vf-fonts-0.301-10.fc39.noarch fedora-gpg-keys-39-1.noarch fedora-repos-39-1.noarch setup-2.14.4-1.fc39.noarch filesystem-3.18-6.fc39.x86_64 basesystem-11-18.fc39.noarch default-fonts-core-sans-4.0-9.fc39.noarch langpacks-fonts-en-4.0-9.fc39.noarch ...
9. Come aggiornare un pacchetto RPM
Se vogliamo aggiornare qualsiasi pacchetto RPM, l’opzione “–U
” (upgrade) verrà utilizzata. Uno dei vantaggi principali di utilizzare questa opzione è che non solo aggiorna la versione più recente di qualsiasi pacchetto, ma mantiene anche il backup del pacchetto precedente in modo che, nel caso in cui il pacchetto aggiornato non funzioni, il pacchetto installato in precedenza possa essere utilizzato di nuovo.
rpm -Uvh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
10. Come rimuovere un pacchetto RPM
Per disinstallare un pacchetto RPM, ad esempio, utilizziamo il nome del pacchetto hardinfo, non il nome originale del pacchetto hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm. L’opzione -e (erase)
viene utilizzata per rimuovere il pacchetto.
rpm -evv hardinfo
11. Come rimuovere un pacchetto RPM senza considerare le dipendenze
L’opzione --nodeps
(non controllare le dipendenze) rimuove forzatamente il pacchetto rpm dal sistema. Ma tieni presente che la rimozione di un pacchetto specifico potrebbe interrompere altri applicativi funzionanti.
rpm -ev --nodeps hardinfo
12. Come trovare il pacchetto RPM di un file specifico
Hai una lista di file e vorresti scoprire a quale pacchetto appartengono questi file. Ad esempio, il seguente comando con l’opzione -qf
(query file) ti mostrerà un file /usr/bin/htpasswd che appartiene al pacchetto httpd-tools-2.4.58-1.fc39.x86_64.
rpm -qf /usr/bin/htpasswd httpd-tools-2.4.58-1.fc39.x86_64
13. Come interrogare le informazioni del pacchetto RPM installato
Immaginiamo tu abbia installato un pacchetto rpm e voglia conoscere le informazioni su di esso. La seguente opzione -qi
(query info) stamperà le informazioni disponibili del pacchetto installato.
rpm -qi hardinfo Name : hardinfo Version : 2.0.11 Release : 1 Architecture: x86_64 Install Date: Mon 04 Mar 2024 01:32:14 PM IST Group : unknown Size : 5174404 License : GPL2+ Signature : (none) Source RPM : hardinfo-2.0.11-1.src.rpm Build Date : Sat 02 Mar 2024 06:37:42 AM IST Build Host : fedora.bigbear.dk Relocations : /usr Vendor : Humanity URL : https://www.hardinfo2.org Summary : hardinfo2 built using CMake Description : Hardinfo2 is a small application that displays information about your hardware and operating system. It has online benchmarking to check your machine performance against other machines.
14. Ottenere le informazioni del pacchetto RPM prima dell’installazione
Hai scaricato un pacchetto da Internet e desideri conoscere le informazioni di un pacchetto prima di installarlo. Ad esempio, l’opzione seguente -qip
(query info package) stamperà le informazioni di un pacchetto sqlbuddy.
rpm -qip sqlbuddy 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. Come interrogare la documentazione del pacchetto RPM installato
Per ottenere l’elenco della documentazione disponibile di un pacchetto installato, utilizza il seguente comando con l’opzione -qdf
(query document file) che visualizzerà le pagine manuali relative al pacchetto vmstat.
rpm -qdf /usr/bin/vmstat /usr/share/doc/procps-ng/AUTHORS /usr/share/doc/procps-ng/FAQ /usr/share/doc/procps-ng/NEWS /usr/share/doc/procps-ng/README.md /usr/share/doc/procps-ng/bugs.md /usr/share/man/man1/free.1.gz /usr/share/man/man1/pgrep.1.gz ...
16. Come verificare un pacchetto RPM
Verificare un pacchetto confronta le informazioni dei file installati del pacchetto con il database rpm. Il -Vp
(verifica pacchetto) viene utilizzato per verificare un pacchetto.
rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. Come Verificare tutti i Pacchetti RPM
Digita il seguente comando per verificare tutti i pacchetti rpm installati.
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. Come Importare una Chiave GPG RPM
Per verificare i pacchetti RHEL/CentOS/Fedora, è necessario importare la chiave GPG. Per farlo, esegui il seguente comando. Importerà la chiave GPG di CentOS 8.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
19. Come Elenare tutte le Chiavi GPG RPM Importate
Per stampare tutte le chiavi GPG importate nel tuo sistema, utilizza il seguente comando.
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. Come Ricostruire un Database RPM Corrotto
A volte il database rpm si corrompe e interrompe tutte le funzionalità di rpm e altre applicazioni sul sistema. Quindi, in questo momento è necessario ricostruire il database rpm e ripristinarlo con l’aiuto del seguente comando.
cd /var/lib rm __db* rpm --rebuilddb rpmdb_verify Packages
In conclusione, i comandi rpm presentati forniscono una guida completa per gestire efficientemente i pacchetti software su distribuzioni Linux basate su RHEL.
Source:
https://www.tecmint.com/20-practical-examples-of-rpm-commands-in-linux/