Convertire pacchetti rpm e deb

Package

Com’è risaputo Ubuntu è una distribuzione basata su Debian e come tale impiega pacchetti con estensione deb, quelli che apt e synaptic scaricano dai repository ufficiali. Altre distribuzioni invece utilizzano pacchetti in formato rpm e può capitare talvolta che alcuni software vengano pubblicati solo in formato rpm anziché deb. Vediamo come convertire i pacchetti da deb a rpm.

Installazione di alienLavorando esclusivamente da un terminale installiamo il pacchetto alien e tutti i pacchetti da cui dipende, digitando:

sudo apt-get install alien

Al termine dell’installazione per convertire da formato rpm a formato deb è sufficiente il comando:

sudo alien -d nome_del_file.rpm

Ad esempio:

sudo alien -d iSeriesAccess-5.4.0-1.4.i386.rpm

Conversione di un rpm in deb

Convertirà il pacchetto iSeriesAccess-5.4.0-1.4.i386.rpm posto nella cartella corrente, nel formato deb. Il file originale non verrà modificato ma verrà generato un nuovo archivio.

Possiamo notare che il numero minore di versione sarà incrementato di 1, quindi il file generato sarà iseriesaccess-5.4.0-2.4_i386 anziché 1.4. Per evitare questo comportamento predefinito basterà aggiungere il parametro -k nella conversione:

sudo alien -d -k iSeriesAccess-5.4.0-1.4.i386.rpm

Gli avvisi generati indicano che non saranno convertiti gli script di pre-installazione, post-installazione e pre-rimozione. Si tratta del comportamento predefinito poiché il pacchetto, studiato per una distribuzione diversa, potrebbe eliminare o modificare files utilizzati differentemente su Ubuntu. Potrebbe quindi capitare che un pacchetto dopo essere installato manchi di qualche configurazione e ciò andrebbe effettuata a mano.

In maniera analoga sarà possibile convertire un pacchetto da rpm a deb con:

sudo alien -r nome_del_file.deb

Generando quindi un nuovo file rpm.

Sebbene sia possibile installare files rpm anche senza convertirli si raccomanda comunque di convertirli, ciò consentirà l’installazione e la disinstallazione come tutti gli altri pacchetti e apt si occuperà di non sovrascrivere o eliminare files usati da altri pacchetti.

15 Risposte a “Convertire pacchetti rpm e deb”

  1. Pierino Dice:

    PS dimenticavo:
    BELLA GUIDA GRAZIE

  2. Muflone Dice:

    dovrebbe crearlo nella directory in cui ti trovi quando esegui il comando
    altrimenti fai una ricerca del file con Risorse -> Cerca file

    ciao

  3. Danilo Cattaneo Dice:

    Ciao a tutti.
    Sono alle prese con la mia odissea personale: la Canon Pixma iP1600 …
    Con Ubuntu 8.04 funziona seguendo le guide del forum e del wiki, poi non funziona più; stesso con Ubuntu 8.10.
    Vi posto le risposte del terminale, secondo me non genero adeguatamente i file .deb.

    danilo@danilo-desktop:~$ tar -zvxf iP2200_Linux_260.tar.gz
    cnijfilter-common-2.60-1.i386.rpm
    cnijfilter-common-2.60-1.src.rpm
    cnijfilter-ip2200-2.60-1.i386.rpm
    cnijfilter-ip2200-lprng-2.60-1.i386.rpm
    danilo@danilo-desktop:~$ sudo alien –to-deb cnijfilter-common-*.i386.rpm
    cnijfilter-common_2.60-2_i386.deb generated
    danilo@danilo-desktop:~$ sudo alien –to-deb cnijfilter-ip2200-*.i386.rpm
    Warning: Skipping conversion of scripts in package cnijfilter-ip2200: postinst postrm
    Warning: Use the –scripts parameter to include the scripts.
    cnijfilter-ip2200_2.60-2_i386.deb generated
    Warning: Skipping conversion of scripts in package cnijfilter-ip2200-lprng: postrm
    Warning: Use the –scripts parameter to include the scripts.
    cnijfilter-ip2200-lprng_2.60-2_i386.deb generated
    danilo@danilo-desktop:~$

    Che ne dite?

  4. Muflone Dice:

    ti sta dicendo non sta generando gli scripts post-installazione e in genere e` un bene perche` non sai che danni potrebbero fare

    tuttavia se non funziona puoi provare a far generare gli scripts aggiungendo –scripts ad alien oppure leggerti gli script di installazione dentro l’rpm e eseguire i comandi che farebbe dopo l’installazione

Lascia un commento