Rpm, Redhat Package Manager,
è
stato assieme a dpkg e Apt uno dei primi gestori di pacchetti in
ambiente Linux. Il suo nome richiama il fatto che è stato
introdotto inizialmente all'interno della distribuzione RedHat,
ma in realtà si è diffuso quasi subito anche tra
diverse altre distribuzioni. Tra le altre, sono sicuramente da
ricordare Fedora,
diretta discendente di RedHat,
anche se non
direttamente supportata dalla casa madre, e Mandriva
(ex
Mandrake).
L'utilizzo di RPM da riga di comando è relativamente
semplice e si può riassumere con un'unico comando:
rpm -Uvh nome-pacchetto
dove il flag -U indica a RPM di installare il pacchetto
indicato, o di
eseguirne l'aggiornamente se è già presente una
vecchia versione dello stesso, mentre i due flag -vh consentono di
ottenere
un output ben formattato. Per la rimozione dei pacchetti si utilizza
sempre rpm, ma con il flag -e.
Una pecca di Rpm è la mancata gestione delle
dipendenze, che
andrebbero quindi gestite a mano, cercando via via i pacchetti
necessari. Questa lacuna è colmata dai gestori di pacchetti
adottati dalle varie distribuzioni, che si appoggiano comunque al
formato Rpm.
In particolare, su Fedora troviamo il tool Yum
(Yellow dog Update, Modified), mentre su Mandriva troviamo urpmi,
entrambi strumenti che vengono utilizzati da riga di comando, con una
sintassi piuttosto semplice, ad esempio per l'installazione:
yum install nomepacchetto | urpmi nomepacchetto
mentre l'operazione contraria, ossia la rimozione di un
pacchetto:
yum remove nomepacchetto | urpme nomepacchetto
Entrambe le distribuzioni (Fedora e Mandriva) forniscono
comunque dei front-end
grafici per consentire anche agli utenti meno esperti di
installare e gestire facilmente il proprio software.
Chi ha scelto invece la distribuzione SuSE, può trarre
vantaggio dall'uso di YaST, che
è semplicemente una delle più complete interfacce
grafiche per la gestione del sistema, che consente in pochi click di
gestire al meglio il software, controllando le dipendenze e consentendo
diverse sorgenti di installazione (come al solito, directory locali,
siti HTTP o FTP, il cd-rom di installazione).
Questa doverosa introduzione ha messo in luce il fatto che,
sebbene i
pacchetti abbiano sempre lo stesso formato (rpm), le diverse
distribuzioni li gestiscono alla loro maniera. Un dettaglio da tenere a
mente è che, nel caso decidessimo di reperire i pacchetti da
fonti non ufficiali, è bene assicurarsi che il relativo
pacchetto sia stato preparato per la nostra specifica distribuzione, in
quanto possono esistere delle piccole differenze tra una distribuzione
e l'altra (soprattutto per quel che riguarda i nomi delle directory)
che andrebbero a causare dei problemi.
Tra le principali fonti di pacchetti Rpm, oltre alle fonti
ufficiali,
andiamo a citare:
http://rpmfind.net
http://freshrpms.net
http://www.rpmseek.com
Una volta chiara la procedura di installazione di un pacchetto, rimane
da decidere quali pacchetti installare. La scelta dei
pacchetti è vagamente simile, per quel che
riguarda la nomenclatura, a quanto già discusso per Debian,
se non leggermente più semplice.
Ad esempio, nel caso di Fedora, il web server Apache nella sua versione
2 viene chiamato semplicemente httpd,
mentre il database MySQL è mysql-server.
Per quel che riguarda PHP, anche qui troviamo un pacchetto di base che
si chiama php, oltre ad una serie di
pacchetti relativi alle singole estensioni, come ad esempio php-mysql,
per noi indispensabile, o php-gd.
L'installazione su Fedora, sfruttando le potenzialità di
Yum, è veramente semplice:
yum install httpd mysql php php-mysql php-gd
In base alle necessità, potremmo decidere di
installare
tutte le estensioni PHP, per cui tutti i pacchetti che iniziano con le
lettere "php". La procedura è ancora più breve:
yum install httpd mysql php*
dove abbiamo introdotto il carattere jolly "asterisco" (*),
che ha il
significato di "qualsiasi carattere".
L'analoga procedura su Mandriva/Mandrake è sempre piuttosto
elementare, basta ricordare di includere tutte i pezzi del nostro
puzzle: apache2 per il webserver
php5 è l'interprete PHP
(comprensivo dell'interprete CLI)
apache2-mod_php5 è il modulo
PHP5 per Apache 2
MySQL è il database server
MySQL-client è il client di
MySQL
php5-mysql è l'estensione per
MySQL di PHP
php5-gd è l'estensione per la
gestione delle immagini con le librerie GD per PHP.
Utilizzando urpmi, o il front-end grafico, il risultato sarà
pronto in pochi istanti.