Rpm
Da LinuxPedia.
Molte distribuzioni tra cui Red Hat Linux (e di conseguenza Fedora), SuSE, Mandriva Linux e altre ancora, utilizzano RPM (Red Hat Package Manager), con i relativi programmi rpm e rpmbuild per l'amministrazione dei pacchetti software. Per poter gestire questa tipologia di pacchetti è necessario disporre del programma rpm , il quale può essere eventualmente scaricato da internet ricercando un pacchetto con un nome simile al seguente:
rpm- *.tar.gz
L'utilizzo di rpm consente all'amministratore del sistema di avere accesso ad un database contenente tutte le informazioni relative al software installato sulla macchina ed accessibile in qualsiasi momento. rpm agisce essenzialmente in cinque modalità:
- Installazione/disinstallazione e/o aggiornamento del software
- Ricreazione del database RPM
- Invio di richieste a tale database
- Controllo dell'integrità dei pacchetti RPM
- Firmare i pacchetti RPM
Contents |
I pacchetti Rpm
I pacchetti RPM sono pacchetti che hanno l'estensione .rpm. Questi pacchetti sono compressi in un formato binario speciale e sono composti dai file da installare e da informazioni utilizzate da rpm per portare a termine l'installazione del pacchetto e la sua configurazione e quindi inserirle all'interno del database RPM a scopo documentativo. La base dei pacchetti RPM, la possiamo definire in un certo senso l'anima del pacchetto stesso è il file spec, questo file infatti contiene tutte le informazioni per essere in grado di creare dal "nulla" il nostro RPM, per poi, magari, distribuirlo alla comunità! La quasi totalità dei pacchetti forniti dalle varie distribuzioni, ad esempio SuSE, sono firmati con GnuPG che garantisce la provenienza del pacchetto. Questa verifica andrebbe fatta ogni qualvolta vi trovate a scaricare dei pacchetti da internet.
- Esempio chiave GnuPG di SuSE 1024D/9C800ACA 2000- 10- 19 SuSE Package Signing Key <build@suse.de> Key fingerprint = 79C1 79B2 E1C8 20C1 890F 9994 A84E DAE8 9C80 0ACA
Per controllare la firma di un pacchetto RPM (nell'esempio utilizzeremo il pacchetto apache- 1.3.12.rpm), basta digitare il comando:
rpm –checksig apache- 1.3.12.rpm
Installazione dei pacchetti Rpm
L'installazione dei pacchetti RPM è facile e veloce e può essere effettuata tramite il comando:
rpm - i <nomepacchetto>
Tale comando verificherà che siano rispettate tutte le dipendenze e che l'installazione del pacchetto non crei dei conflitti all'interno del sistema. Soddisfatte queste condizioni il pacchetto verrà installato.
L'opzione - i del comando rpm può essere “arricchita” con dei parametri aggiuntivi che mostrano un output più completo ed esaustivo. Vediamo assieme alcuni esempi:
rpm - ivh <nomepacchetto>
Utilizzando l'opzione - i con le opzioni sopra riportate, il gestore rpm installerà il pacchetto contenuto nell'archivio specificato, mostrando alcune informazioni ed una barra di progressione.
rpm - i - - nodeps <nomepacchetto>
Procede con l'installazione del pacchetto RPM specificato senza verificare le dipendenze tra i file.
rpm - i - - ignorearch <nomepacchetto>
Installa il pacchetto RPM senza verificare l'architettura dell'elaboratore sul quale verrà installato.
Rimozione dei pacchetti Rpm
La rimozione di un pacchetto avviene digitando il comando:
rpm - e <nomepacchetto>
che provvederà a rimuovere il pacchetto desiderato. Il pacchetto RPM verrà rimosso solo quando non vi saranno più delle dipendenze (cioè quando esso non è più richiesto per garantire il corretto funzionamento di un altro programma).
Aggiornamento dei pacchetti Rpm
L'aggiornamento di un pacchetto RPM avviene utilizzando le opzioni -U oppure -upgrade ed -F oppure -freshen. Digitando il comando:
rpm -F <nomepacchetto>
verrà cancellata la versione precedente del pacchetto RPM già presente nel sistema ed installata la nuova versione.
|
NOTA! La differenza che intercorre tra l'opzione di aggiornamento -U e -F sta nel fatto che la prima, cioè -U installa anche i pacchetti che non sono presenti in versione precedente nel sistema, mentre -F verifica l'esistenza di una versione precedente del pacchetto sul sistema e se solo questa è presente allora installa il nuovo pacchetto. |
L'opzione - U altro non fa che automatizzare la seguente serie di operazioni:
rpm - e <vecchiopacchetto> rpm - i <nuovopacchetto>
Ovviamente tutti i controlli su dipendenze e conflitti sono fatti da rpm basandosi sui dati e le informazioni presenti all'interno del database RPM.
rpm - Uvh <nomepacchetto>
Aggiorna o eventualmente installa il pacchetto indicato, mostrando qualche informazione e una barra di progressione.
Ottenere Informazioni sui pacchetti
rpm mette a disposizione un opzione molto utile per l'interrogazione del database RPM e dei pacchetti, dai quali è possibili ottenere informazioni molto utili.
L'opzione presa in considerazione è -q (dall'inglese querry, cioè richiesta) ed a essa possono essere aggiunti ulteriori parametri per ottenere una ricerca più mirata e raffinata. La forma generica del comando rpm per l'interrogazione dei pacchetti è
rpm -q [opzioni_di_interrogazione]
Ora vediamo nel dettaglio alcune opzioni che ci possono tornare utili per ottenere le informazioni sui pacchetti RPM e di cui potremo aver bisogno per la gestione del nostro sistema:
rpm -qpi <nomearchiviorpm>
Mostra la descrizione del contenuto dell'archivio RPM
rpm -qpl <nomearchiviorpm>
Elenca i file contenuti all'interno dell'archivio RPM e dove andranno collocati se il pacchetto in questione verrà installato.
rpm- qa
Mostra un elenco di tutti i pacchetti RPM installati nel sistema e come sono registrati all'interno del database RPM
rpm -qf <nomefile>
Fornisce il nome del pacchetto da cui proviene il file passato come argomento.
Verifiche sui pacchetti
rpm dispone dell'opzione -V che introduce una richiesta di verifica su di un pacchetto installato.
rpm -V <nomepacchetto>
Esegue una verifica sul pacchetto specificato e controlla se lo stesso risulta essere correttamente installato nel sistema.
rpm -Va
Compie una verifica su tutti i pacchetti installati.
rpm - Vp <nomepacchetto>
Verifica l'effettiva corrispondenza tra l'archivio RPM specificato e quanto è stato effettivamente installato. Qui di seguito viene riportata la tabella dei codici di errore e le relative descrizioni che possono venir segnalate a seguito della verifica di installazione di un pacchetto RPM (opzione -V).
Autenticazione di pacchetti Rpm esterni
rpm mette a disposizione la possibilità di autenticare i pacchetti RPM esistenti, vediamo come questa operazione sia possibile:
rpm --resign <nomepacchetto>
Lanciando rpm con questa opzione è possibile generare e inserire nuove firme di autenticazione per il pacchetto (da notare che un eventuale firma esistente verrà rimossa).
rpm --addsign <nomepacchetto>
Questa opzione viene utilizzata per generare nuove firme di autenticazione per il pacchetto specificato (in questo caso le firme vengono aggiunte e NON sovrascritte a quelle esistenti).
Ricostruire il database Rpm
rpm come già detto in apertura di questo HOW-TO permette la ricreazione del database RPM. La forma generica per la ricostruzione del database RPM è la seguente
rpm --rebuilddb
Se vogliamo invece ricostruire un nuovo database basta eseguire il seguente comando:
rpm --initdb
Per maggiori informazioni vi rimando alla pagina di manuale di rpm, ottenibile digitando da shell il comando
man rpm
oppure se utilizzate KDE, potete aprire il browser konqueror e scrivere nella barra degli indirizzi il seguente URL:
man:rpm
Nicola Fioretti
Argomenti correlati
- Guida alla creazione di file rpm
- Deb - Altro formato di pacchettizzazione del mondo GNU/Linux
- Tgz - Altro formato di pacchettizzazione del mondo GNU/Linux

