Capitolo 16. Gestione dei pacchetti con RPM

RPM Package Manager (RPM) è un sistema di packaging aperto, disponibile per tutti, che gira su Red Hat Enterprise Linux e su altri sistemi Linux e UNIX. Red Hat, Inc. incoraggia altri distributori a usare RPM per i propri prodotti. RPM è distribuito secondo i termini della GPL.

Per l'utente finale, RPM crea aggiornamenti di sistema semplici. L'installazione, la disinstallazione e l'aggiornamento dei pacchetti RPM si possono effettuare con comandi brevi. RPM contiene un database dei pacchetti installati e dei loro file, in modo che l'utente possa effettuare ricerche e verifiche sul sistema. Se preferite un'interfaccia grafica, potete usare Strumento di gestione dei pacchetti per eseguire molti comandi RPM. Per ulteriori informazioni, consultate il Capitolo 17.

Durante gli aggiornamenti, RPM gestisce i file di configurazione con molta cautela, in modo che l'utente non perda mai le sue personalizzazioni — cosa impossibile con i file .tar.gz normali.

Per lo sviluppatore, RPM vi permette di prendere il codice sorgente e di racchiuderlo in pacchetti sorgente binari per l'utente finale. Il processo è abbastanza semplice ed è eseguito da un file singolo e da patch facoltative creati dall'utente. Questo processo chiaro tra le sorgenti pristine e le vostre patch insieme con le istruzioni, semplifica la gestione del pacchetto ogni qualvolta vengono create nuove versioni del software.

NotaNota Bene
 

Poiché RPM apporta delle modifiche al sistema, dovete essere collegati come root per installare, rimuovere o aggiornare un pacchetto RPM.

16.1. Concetti di base relativi a RPM

Per comprendere il funzionamento di RPM, può essere utile capirne i concetti di base:

Aggiornabilità

Usando RPM potete aggiornare singoli componenti del sistema senza reinstallarli completamente. Quando installate una nuova versione di un sistema operativo basato su RPM (come Red Hat Enterprise Linux), non dovete reinstallare tutto il sistema (come avviene con i sistemi operativi basati su altri sistemi). RPM permette di aggiornare il sistema in modo intelligente e completamente automatico. I file di configurazione contenuti nei pacchetti sono protetti tramite gli aggiornamenti perché le personalizzazioni dell'utente non vengano perse. L'aggiornamento di un pacchetto non necessita di particolari file di aggiornamento poiché lo stesso file RPM viene utilizzato per l'installazione e l'aggiornamento del pacchetto sul vostro sistema.

Opzioni di interrogazione

RPM fornisce potenti opzioni di interrogazione del sistema. Nel vostro database potete effettuare ricerche di pacchetti o di semplici file, nonché sapere a quale pacchetto appartiene un certo file e risalire alle origini del pacchetto. I file contenuti in un pacchetto RPM sono in un archivio compresso, con un header binario personalizzato che racchiude informazioni utili sul pacchetto e sul suo contenuto. Questo vi permette di interrogare singoli pacchetti in modo semplice e veloce.

Verifica del sistema

Un'altra funzione molto utile è la capacità di verificare i pacchetti. Se avete cancellato un file importante per alcuni pacchetti, verificate il pacchetto stesso. Durante la verifica vi viene indicata qualsiasi anomalia. A questo punto, potete reinstallare il pacchetto, se necessario. Tutti i file di configurazione che avete modificato vengono conservati durante la reinstallazione.

Sorgenti inalterate

Uno degli obiettivi principali era quello di permettere l'utilizzo delle sorgenti inalterate del software, come distribuite dall'autore stesso. In RPM sono contenuti i sorgenti originali e tutte le modifiche che sono state apportate, nonché tutte le istruzioni per la ricompilazione. Questo è un vantaggio importante per vari motivi. Per esempio, se esce una nuova versione di un programma, non bisogna partire da zero per ricompilarlo. Potete guardare il patch per vedere cosa potreste dover fare. Tutti i parametri di default e tutte le modifiche apportate al software sono facilmente identificabili con questa tecnica.

La conservazione delle sorgenti originali inalterate può sembrare importante solo per gli sviluppatori, ma lo è anche per la qualità del software finale. Ringraziamo l'équipe di BOGUS per avere creato il concetto delle fonti di origine.