IntroduzioneChi usa Linux si rende presto conto che manca uno standard per quel che riguarda l'installazione di pacchetti e che può quindi capitare di dover installare un software che non è disponibile per la propria distribuzione.Per risolvere questo tipo di problema ci viene in soccorso Alien, un tool di conversione tra pacchetti da e nei seguenti formati: Red Hat (.rpm), Debian (.deb), Stampede (.slp), Slackware (.tgz), e .tar.gz.
Se Alien è già installato, troverete quanto potete leggere in questa guida, digitando da terminale:
$ man alien
Ho pensato di tradurlo quasi tutto e pubblicarlo perchè trovo sia comodo averlo a portata di mano e in italiano.
Installazione Alien
Prima di vedere come installarlo e come usarlo è bene sapere che Alien non tiene conto delle differenze tra le configurazioni delle diverse distribuzioni linux, quindi non conviene usarlo per sostituire qualcosa di essenziale come ad esempio init, libc, perchè potrebbe altrimenti danneggiare gravemente il sistema. In generale, se non si può disinstallare un pacchetto senza fermare il sistema, non conviene provare a sostituirlo con una versione alien.
Se alien è fatto partire senza i permessi di root, il pacchetto generato potrebbe avere proprietari e permessi sbagliati.
Per convertire in (ma non dal) formato .deb devono essere installati i pacchetti gcc, make, debmake, dpkg-dev, e dpkg.
Si noti che per il formato .tar.gz, alien semplicemente genera un pacchetto .deb o .rpm che contiene gli stessi file che sono nel file tar. Questi pacchetti funzionano correttamente solo se sono stati compilati seguendo l'organizzazione standard dell'albero delle directory linux. Si eviti di usare alien con i file tar che contengono anche il codice sorgente, a meno che non si voglia installare anch'esso insieme al pacchetto.
Quando alien elabora un file tar, assume che tutti i file in /etc siano file di configurazione.
sudo apt-get install alien
Esempi
Consiglio di leggere le varie opzioni e di trattare questi esempi come indicazioni.
Convertire .rpm in .deb
alien --to-deb package.rpm
sudo alien – d pacchetto.rpm
Installazione pacchetto.deb
sudo dpkg -i pacchetto.deb
Converte il pacchetto .rpm in .deb (la conversione in .deb è di default) e installa il pacchetto generato.
Rimozione pacchetto.deb
sudo dpkg -r nome_pacchetto
OPZIONI
Alien converte o pacchetti nel tipo desiderato, se questo non viene specificato, per default il pacchetto sarà convertito in .deb.
-d, --to-deb
Converte file in formato debian (default)
-r, --to-rpm
Converte in formato rpm
-t, --to-tgz
Converte in formato tgz
--to-slp
Converte in formato slp
-p, --to-pkg
Converte in formato pkg
-i, --install
Installa automaticamente ogni pacchetto generato, e rimuove il pacchetto dopo l'installazione.
-g, --generate
Genera una directory temporanea per i file che verranno inseriti nel pacchetto, ma non genera il pacchetto. Può essere utile quando si vogliano realizzare modifiche sui file prima di costruire il pacchetto. Il pacchetto può essere costruito da questa directory temporanea "debian/rules binary" per i .deb o "rpmbuild -bb
.spec" per i .rpm.
-s, --single
Ha la stessa funzione di -g, ma non genera la directory pacchetto.orig. E' utile soltanto nel caso in cui si abbia poco spazio su disco e si desideri realizzare un pacchetto deb.
--patch=patch
Specifica la patch da utilizzare al posto della ricerca automatica in /var/lib/alien.
--anypatch
Forza la compatibilità delle patch con versioni diverse del pacchetto.
--nopatch
Non usa nessun file patch.
--description=desc
Specifica una descrizione per il pacchetto; funziona soltanto quando si converte dal formato tgz.
-c, --scripts
Tenta di convertire gli script che partiranno durante l'installazione e rimozione del pacchetto. Questa funzione è da usare con cautela perchè questi script potrebbero essere scritti per sistemi diversi da quello in cui si tenta di installare il pacchetto convertito.
-T, --test
Testa il pacchetto generato ed è supportato solo per pacchetti debian.
-k, --keep-version
Per default, alien incrementa di uno la versione di ogni pacchetto convertito. Con questa opzione alien non lo fa.
--fixperms
Ripulisce i permessi e le autorizzazioni di tutti i pacchetti. Questa funzione può essere utile se il pacchetto originale non è perfetto. E' utilizzabile soltanto per i pacchetti .deb.
-v, --verbose
Mostra ogni comando che alien esegue durante la conversione del pacchetto.
--veryverbose
Mostra ogni comando che alien esegue durante la conversione del pacchetto unito al rispettivo output.
ENVIRONMENT Alien riconosce le seguenti variabili d'ambiente:
RPMBUILDOPTS
Opzione per passare a rpm quando si sta costruendo un pacchetto.
RPMINSTALLOPT
Opzione per passare a rpm quando si sta installando un pacchetto.
EMAIL
Se impostata, alien la assume come vostro indirizzo di posta elettronica. Gli indirizzi e-mail sono inclusi nei pacchetti .deb generati.