MAGIE DI RPM

Precedente
Programma
Seguente
Bastard Operator From Hell!
rpm -ihv pacchetto.rpm
  Installa abilitando le opzioni verbose ed hash che stampa 50 cancelletti (#) per indicare lo stato di avanzamento dell'installazione
rpm -qil pacchetto.rpm
  Fornisce informazioni complete sul pacchetto compreso l'elenco dei file di cui era composto il package
rpm -i --nodeps pacchetto.rpm
  Installa il pacchetto senza verificare le dependencies
rpm --rebuilddb
  .Ricostruisce il db utilizzato da RPM per rilevare i pacchetti e relative informazioni installate su un sistema
rpm -qa | grep tcpdump
  .Cerca, nell'elenco di tutti gli RPM installati, se è presente il programma (o meglio, il nome di RPM) tcpdump.
rpm -qf /bin/ls
  Visualizza l'RPM che ha fornito il file indicato (in questo caso il comando ls)
Tips & Tricks
Attenzione molte volte per poter instalare, disinstallare o upgradare un pacchetto bisogna soddisfare molte dipendenze, per forzare l'azione evitando le dipendenze del pacchetto utilizzare l'opzione --forcedep
 
Quando si forniscono opzioni al comando RPM, qualunque sia l'azione, tutte le opzioni identificate da una lettera sola possono essere inglobate in un unico blocco come nell'esempio sottostante
rpm -i -h -v nmap-2.2.2-13.i386.rpm
rpm -ihv nmap-2.2.2-13.i386.rpm
 
Attenzione quando si vuole disinstallare un pacchetto bisogna, affiancato dal flag -e, utilizzare il nome del pacchetto e non il nome del file che è stato utilizzato per installare il pacchetto stesso.
Per esempio :
rpm -e dosemu
e non
rpm -e dosemu-0.99.10-2.386.rpm
Definizioni

RPM, Red Hat Package Manager. Utility per installare, disinstallare, aggiornare, interrogare, verificare e costruire pacchetti software.
Un package costruito con RPM è un archivio di file e informazioni che potranno essere richiamate una volta che il package è stato installato.
RPM permette di installare programmi, già compilati, con una facilità e rapidità estrema sul proprio sistema Linux (è l'equivalente di un setup.exe su Windows). RPM è usato da RedHat e da altre distribuzioni, è importante utilizzare gli RPM adatti per il proprio sistema: un RPM realizzato per RedHat 6.2, per esempio, difficilmente funzionerà su RedHat 7.2.
RPM gestisce automaticamente le "dependencies": se si prova ad installare un RPM che richiede librerie o programmi non presenti o non abbastanza aggiornati sul sistema, l'installazione fallisce e viene indicato quali file mancano.
Analogamente, se si prova a rimuovere un package che contiene file utilizzati da altri programmi, viene dato un messaggio di errore.
Gli RPM automaticamente distribuiscono i file di un pacchetto nelle directory giuste (logs in /var/log, file di configurazione in /etc/, binari in /usr/bin o /usr/sbin, script di startup in /etc/rc.d/init.d/ ecc.) e verificano la presenza di conflitti o installazioni più recenti.
Un RPM non cancella mai nulla che non abbia installato. Se deve sostituire o cancellare un file di configurazione, per esempio, mantiene il file esistente aggiungendo il suffisso .rpmsave.

I potenziali svantaggi o controindicazioni di RPM sono:
- I file sono già compilati, se si intende customizzare alcuni flag di compilazione si deve farlo a mano da un tar.gz;
- Non sempre nuovi RPM vengono resi disponibili in tempi brevi quando esce una nuova versione di un programma.


Comandi
rpm -i [opzioni] [pacchetti] Installazione pacchetti RPM
rpm -U [opzioni] [pacchetti] Aggiornamento di pacchetti RPM
rpm -e [opzioni] [pacchetti] Disinstallazione di pacchetti RPM
rpm -q [opzioni] [pacchetti] Interrogazione di pacchetti RPM
rpm -V [pacchetto] Verifica pacchetto RPM

RPM Standard

Esiste una convenzione standard che identifica il nome di un package RPM, si consideri l'esempio:
efax-0.8a-11.i386.rpm corrisponde a nome-versione-release.arch.rpm
nome è il nome del pacchetto, versione è la versione del pacchetto, release è la release del pacchetto, arch è l'architettura hardware per la quale il pacchetto è stato previsto ed rpm è l'estensione predefinita.

Esistono programmi di supporto all'uso degli RPM, i più interessanti sono:

rpm2html Genera comode pagine HTML sulla base degli RPM installati
GUI varie Esistono vari programmi che presentano interfacce a finestre per la gestione degli RPM
Updaters Tool che permettono l'aggiornamento più o meno automatico degli RPM
rpmfind Comodo tool per trovare su Internet RPM ed eventualmente procedere all'upgrade automatico.
WEB RESOURCES
www.rpmfind.net Repository di RPM
www.rpm.org Sito ufficiale
http://www.linux.org/docs/ldp/howto/RPM-HOWTO/index.html RPM How-To
http://www-106.ibm.com/developerworks/library/l-rpm1/ Packaging software with RPM - Come creare un pacchetto RPM.
http://www.debian.org/distrib/packages I pacchetti .deb Debian - L'alternativa a RPM