RPM Package Manager (RPM) è un potente sistema di gestione dei pacchetti utilizzato da Red Hat Linux e dai suoi derivati come CentOS e Fedora. RPM si riferisce anche a rpm
comando e .rpm
formato del file. Un pacchetto RPM è costituito da un archivio di file e metadati che include informazioni come dipendenze e posizione di installazione.
In questo tutorial parleremo di come usare il rpm
comando per installare, aggiornare, rimuovere, verificare, interrogare e gestire in altro modo i pacchetti RPM.
Installazione, aggiornamento e rimozione dei pacchetti RPM #
Di solito, per installare un nuovo pacchetto su distribuzioni basate su Red Hat, utilizzerai yum
o dnf
comandi, che possono risolvere e installare tutte le dipendenze dei pacchetti.
Dovresti sempre preferire usare yum
o dnf
oltre rpm
durante l'installazione, l'aggiornamento e la rimozione di pacchetti.
Prima di installare un pacchetto RPM, devi prima scaricare il pacchetto sul tuo sistema utilizzando un browser o strumenti da riga di comando come curl
o wget
.
Quando installi i pacchetti RPM, assicurati che siano costruiti per l'architettura del tuo sistema e la tua versione di CentOS. Fai molta attenzione quando sostituisci o aggiorni pacchetti di sistema importanti, come glibc, systemd o altri servizi e librerie essenziali per il corretto funzionamento del tuo sistema.
Solo gli utenti root o con privilegi sudo possono installare o rimuovere i pacchetti RPM.
Per installare un pacchetto RPM con rpm
, usa -i
opzione, seguito dal nome del pacchetto:
sudo rpm -ivh package.rpm
Il -v
l'opzione dice rpm
per mostrare un output dettagliato e il -h
opzione per mostrare la barra di avanzamento contrassegnata da hash.
Puoi saltare la parte di download e fornire l'URL del pacchetto RPM a rpm
comando:
sudo rpm -ivh https://example.com/package.rpm
Per aggiornare un pacchetto RPM, usa -U
opzione. Se il pacchetto non è installato verrà installato:
sudo rpm -Uvh package.rpm
Se il pacchetto che stai installando o aggiornando dipende da altri pacchetti che non sono attualmente installati, rpm
visualizzerà un elenco di tutte le dipendenze mancanti. Dovrai scaricare e installare manualmente tutte le dipendenze.
Per installare un pacchetto RPM senza avere tutte le dipendenze richieste installate sul sistema, usa il --nodeps
opzione:
sudo rpm -Uvh --nodeps package.rpm
Per rimuovere (cancellare) un pacchetto RPM, utilizzare -e
opzione:
sudo rpm -e package.rpm
Il --nodeps
opzione è utile anche quando vuoi rimuovere un pacchetto senza rimuovere le sue dipendenze:
sudo rpm -evh --nodeps package.rpm
Il --test
l'opzione dice rpm
eseguire il comando di installazione o rimozione senza effettivamente fare nulla. Mostra solo se il comando funzionerebbe o meno:
sudo rpm -Uvh --test package.rpm
Interrogazione dei pacchetti RPM #
Il -q
l'opzione indica il rpm
comando per eseguire una query.
Per interrogare (cercare) se un determinato pacchetto è installato, passa il nome del pacchetto a rpm -q
comando. Il seguente comando ti mostrerà se il pacchetto OpenJDK 11 è installato sul sistema:
sudo rpm -q java-11-openjdk-devel
Se il pacchetto è installato vedrai qualcosa del genere:
java-11-openjdk-devel-11.0.4.11-0.el8_0.x86_64
Passa -i
per ottenere maggiori informazioni sul pacchetto richiesto:
sudo rpm -qi java-11-openjdk-devel
Per ottenere un elenco di tutti i file in un pacchetto RPM installato:
sudo rpm -ql package
Se vuoi scoprire a quale pacchetto installato appartiene un particolare file, digita:
sudo rpm -qf /path/to/file
Per ottenere un elenco di tutti i pacchetti installati sul tuo sistema usa il -a
opzione:
sudo rpm -qa
Verifica dei pacchetti RPM #
Quando si verifica un pacchetto, il rpm
il comando controlla se ogni file installato da un pacchetto esiste sul sistema, il digest del file, la proprietà, i permessi, ecc.
Per verificare un pacchetto installato, usa il -V
opzione. Ad esempio, per verificare il pacchetto openldap eseguiresti:
sudo rpm -V openldap-2.4.46-9.el8.x86_64
Se la verifica ha esito positivo, il comando non stamperà alcun output. In caso contrario, se alcuni dei controlli falliscono, verrà visualizzato un carattere che indica il test fallito.
Ad esempio, il seguente output mostra che l'mTime del file è stato modificato ("T"):
.......T. c /etc/openldap/ldap.conf
Fare riferimento alla pagina man di RMP sul significato di ciascun carattere.
Per verificare tutti i pacchetti rpm installati, eseguire il comando seguente:
sudo rpm -Va