Oct 082011
 

Come molti di voi sanno i tipi di pacchetti più utilizzati sono deb e rpm.

deb è l’estensione del formato dei pacchetti software Debian ed il nome usato per i pacchetti binari di questo tipo.
I pacchetti Debian sono archivi standard Unix ar che includono due archivi tar compressi con gzip, bzip o lzmaed; uno che contiene le informazioni di controllo e un altro che contiene i dati.
Il programma più utilizzato per la gestione di questi pacchetti è dpkg, comunemente utilizzato attraverso altri programmi come apt/aptitude o Gdebi.

RPM Package Manager (RPM) è un sistema di gestione dei pacchetti. Il nome RPM si riferisce in vario modo al formato dei file .rpm, i file confezionati in questo formato, il software in questi file, e il gestore dei pacchetti stesso. RPM è destinato principalmente per GNU/Linux, il formato dei file è il formato base dei pacchetti per la Linux Standard Base.

Originariamente sviluppato da Ethan “E$” Cohen a Red Hat per Red Hat Linux, RPM è ora utilizzato da molte distribuzioni GNU/Linux. E’ stato portato su altri sistemi operativi, come Novell NetWare e IBM AIX.

I pacchetti Debian possono essere convertiti in altri pacchetti e viceversa utilizzandoalien


Alien è un programma che converte tra i rpm, dpkg, Stampede slp, Slackware e formati di file tgz. Se si vuole usare un pacchetto proveniente da un’altra distribuzione da quella che avete installato sul vostro sistema, potete utilizzare alien per convertirlo nel formato preferito e installarlo.

Nonostante il gran numero di versioni, alien è ancora (e probabilmente sempre lo sarà) un software piuttosto sperimentale. E’ stato usato da molte persone per molti anni, ma ci sono ancora molti bug e limitazioni.

Alien non deve essere usato per sostituire pacchetti di sistema importanti, come sysvinit, le librerie condivise, o altre cose che sono essenziali per il funzionamento del sistema. Molti di questi pacchetti sono impostati in modo diverso tra Debian e Red Hat, e pacchetti di diverse distribuzioni non possono essere usati in modo intercambiabile. In generale, se non è possibile disinstallare il pacchetto senza rompere il vostro sistema, non cercate di sostituirlo con una versione aliena.

Vediamo qualche esempio.

Da RPM a DEB

Come prima cosa installate alien sulla vostra Debian o Ubuntu con il comando:

# sudo aptitude install alien

Ora diciamo che avete nella directory /tmp il pacchetto mioprogramma.rpm, che non è presente su Debian o Ubuntu e lo volete convertire, semplicemente date il comando

sudo alien /tmp/myprogram-1.10-2.i386.rpm
myprogram-1.10-3.i386.deb generated

Ora troverete in /tmp il file miprogramma.deb che potete installare con dpkg:

dpkg -i /tmp/miprogramma.deb

È possibile saltare la fase di installazione, dicendo con alien di installare direttamente con l’opzione -i

 sudo alien -i /tmp/myprogram.rpm

Da DEB a RPM

Basta usare alient -r per convertire un file deb in un file rpm, ad esempio:

sudo alien -r pytube_0.0.8.1-1_all.deb
pytube-0.0.8.1-2.noarch.rpm generated

Una volta che il file rpm è generato, è possibile installarlo su Red Hat, Fedora o qualunque distribuzione basata su rpm.
packageconverter

Frontend per Alien

Package Converter, È il front-end grafico per Alien è intuitivo e facile da usare

Package Converter è scritto con Realbasic ed ha pacchetti scaricabili in BIN, RPM e DEB. E naturalmente richiede Alien per funzionare.


Popular Posts:

Flattr this!

  2 Responses to “Come convertire da .deb a .rpm e viceversa”

  1. Hi,
    while converting from deb to rpm, sometimes it becomes useful (or unavoidable) to convert pre and post install scripts, as well, with -c (–scripts) option. As stated in man pages it’s quite a dangerous option, therefore I think IMVHO a good practice should be to inspect the install scripts content, before converting/installing the deb package(s). (e.g: It happened that some binaries into a file.deb had wrong file permissions, along with directory trees: the install scripts were fixing the issue, but if one missed them during the conversion…).
    It should be interesting to know what your opinion about the aforementioned option.

    Thanks and of course a big thanks for the very nice article, as usual!

  2. Richiede i pacchetti gcc e make e tutto il Perl.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*