Ciò proprio perché non è più possibile tenere traccia, in un modo univoco, della posizione dei file appartenenti a ogni pacchetto (senza contare le altre conseguenze).Fortunatamente vengono in aiuto i programmi di conversione che permettono di trasformare un archivio da un formato a un altro, anche se non sempre funzionano perfettamente.A questi si affiancano poi degli applicativi che permettono di ispezionare il contenuto di file impacchettati in vari formati e di estrarne quello che si desidera.Questi programmi utilizzano gli applicativi delle varie distribuzioni che si occupano di espandere i pacchetti e di generare gli stessi. Pertanto, di solito, per convertire da Debian a Red Hat e viceversa, o per ispezionare i loro contenuti, occorrono sia dpkg (assieme a dpkg-deb), sia rpm. L'utilizzo di pacchetti di altre distribuzioni (a seguito di conversione o meno) richiede un'ottima pratica nella gestione degli archivi relativi.Due pacchetti che dal nome sembrano uguali possono essere diversi nel contenuto, a seguito delle diverse strategie adottate dalle distribuzioni. Questo vale naturalmente anche per pacchetti che utilizzano la stessa tecnica di confezionamento (archiviazione), ma appartengono a distribuzioni differenti.
Alien.
Alien è un programma che consente di convertire un pacchetto archiviato in un altro formato di archiviazione. Precisamente, è in grado di generare archivi in formato Debian, RPM, SLP, TGZ (Slackware) e Solaris SLP, a partire da questi formati. Non è in grado di gestire i pacchetti sorgenti.L'eseguibile che compie tutto il lavoro è alien e la sintassi per il suo utilizzo è mostrata nello schema seguente:alien --to-deb [opzioni] file_da_convertire...
alien --to-rpm [opzioni] file_da_convertire...
alien --to-tgz [opzioni] file_da_convertire...
alien --to-slp [opzioni] file_da_convertire...
alien --to-pkg [opzioni] file_da_convertire...
Alien ha la necessità di conoscere soltanto in quale formato finale occorre produrre la conversione. Il tipo di archivio sorgente viene individuato automaticamente, probabilmente in base all'estensione usata nel nome del file. Se con le opzioni non si specifica in quale formato convertire, si ottiene un archivio Debian.La conversione di un archivio TGZ (tar+gzip) in uno più sofisticato come RPM o Debian, non è conveniente in generale, perché in questo modo mancano molte informazioni che sono importanti per questi formati.Alcuni pacchetti contengono degli script che devono essere eseguiti per sistemare ciò che è necessario (come l'aggiunta di un utente di sistema, o cose simili). La conversione in un altro formato tende a perdere questi script.
Alcune opzioni.
Opzione Descrizione |
-
#
alien --to-rpm dpkg_1.4.0.23.2-1.i386.deb
[Invio]Converte l'archiviodpkg_1.4.0.23.2-1.i386.deb
in formato RPM, generando il filei386/dpkg-1.4.0.23.2-2.i386.rpm
nella stessa directory. -
#
alien --to-deb pine-4.04-1.i386.rpm
[Invio]Converte l'archiviopine-4.04-1.i386.rpm
in formato Debian, generando il filepine_4.04-1_i386.deb
nella directory corrente.
RPM2targz.
La distribuzione Slackware prevede la possibilità di acquisire pacchetti RPM, attraverso uno script di conversione specifico: rpm2targz.Midnight Commander.
Midnight Commander (corrispondente all'eseguibile mc) è un applicativo integrato per la navigazione all'interno delle directory di file system reali o virtuali. In questo senso, permette anche di accedere ad archivi (normali o compressi), inclusi quelli delle applicazioni GNU/Linux, purché sia presente il rispettivo sistema di gestione.
Nel lato sinistro si vede il contenuto dell'archivio ash-0.2-17.i386.rpm
, mentre nel lato destro di vede il contenuto dell'archivio ash_0.3.4-6.deb
.
.<-/tmp/ash-0.2-17.i386.rpm#rpm------v>..<-/tmp/ash_0.3.4-6.deb#deb----------v>.
| Name | Size | MTime || Name | Size | MTime |
|/.. | 1024|Aug 13 13:49||/.. | 1024|Aug 13 13:47|
|/INFO | 0|Mar 21 00:00||/CONTENTS | 0|Aug 13 13:47|
|/bin | 0|Aug 13 13:47||/DEBIAN | 0|Aug 13 13:47|
|/usr | 0|Aug 13 13:47|| INFO | 806|Aug 13 13:47|
| HEADER | 890|Mar 21 00:00||*INSTALL | 424|Aug 13 13:47|
|*INSTALL | 39|Mar 21 00:00|| | | |
|*UPGRADE | 39|Mar 21 00:00|| | | |
| | | || | | |
| | | || | | |
| | | || | | |
| | | || | | |
| | | || | | |
| | | || | | |
| | | || | | |
| | | || | | |
| | | || | | |
| | | || | | |
| | | || | | |
|--------------------------------------||--------------------------------------|
|/.. |root root |drwxrwxrwt||/.. |root root |drwxrwxrwt|
`--------------------------------------'`--------------------------------------'
tizio@dinkel:/tmp$
1Help 2Menu 3View 4Edit 5Copy 6RenMov 7Mkdir 8Delete 9PullDn 10Quit
|
CONTENTS/
per raggiungere i file che compongono il pacchetto, mentre gli script e gli altri file di contorno sono contenuti nella directory DEBIAN/
. Nel caso del pacchetto RPM, la directory INFO/
contiene tutte le informazioni sul pacchetto, compresi gli script.- Ricerca personalizzata
Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog: