Uno dei nostri articoli precedenti ha già coperto l’uso di base di alien per convertire i formati .deb in rpm. Sebbene Alien sia un ottimo strumento che offre agli utenti della distribuzione RPM l’accesso a pacchetti DEB molto più estesi, i suoi usi non si limitano alle conversioni da deb a rpm.

Lo strumento stesso è in grado di fare molto di più. Oltre alle sue funzionalità più avanzate a livello di base, alien può convertire uno qualsiasi dei seguenti formati di packaging:

  • DEB – il noto formato dei pacchetti Debian utilizzato da tutti i derivati ​​Debian, quindi dall’intera famiglia Ubuntu. Forse il sistema di pacchettizzazione più utilizzato su Linux
  • RPM: l’approccio di DedHat al packaging, utilizzato da RHL, Fedora, CentOS, Mageia, OpenSUSE e molti altri
  • SLP: il formato Stampede Linux Packaging. Questa è un’aggiunta interessante, poiché Stampede Linux è stato attivo solo tra il 1997 e il 2002, senza mai guadagnare popolarità mainstream o diventare una “distro di base” come altre, nonostante il suo approccio di sviluppo davvero lungimirante nel 1997
  • LSB – Tentativo di creare un pacchetto RPM completamente conforme a LSB, anche se, come afferma la pagina man alien, “Non viene fornita alcuna garanzia che i pacchetti lsb generati saranno completamente conformi a LSB, ed è piuttosto improbabile che lo facciano a meno che non li si compili in lsbdev ambiente.”
  • TGZ – archivi tar o tar.gz. La conversione da questi archivi funzionerà solo se contiene file binari. (In altre parole, non funzionerà sugli archivi del codice sorgente.)

Da 32 a 64 bit

Quando lavori su un sistema a 64 bit, potresti imbatterti in pacchetti RPM a 32 bit che vorresti convertire in DEB (o viceversa). In tali casi, molto probabilmente alien genererà un errore.

Il tentativo di convertire il file RPM a 32 bit su un sistema Debian a 64 bit risulterà nell’errore “.rpm is for architecture i386; il pacchetto non può essere costruito su questo sistema.

La soluzione è una piccola soluzione alternativa. Puoi utilizzare la capacità di Alien di convertire in semplici archivi TGZ, come intermediario.

Per questo dovresti usare l’opzione -t (o –to-tgz). Uso

sudo alieno -ct qualchepacchetto.rpm

o

sudo alieno -c –to-tgz qualchepacchetto.rpm

quindi convertire da tgz a DEB. Non è necessario alcun passaggio aggiuntivo, poiché la conversione in DEB è il comportamento standard.

sudo alieno -c unpacchetto.tgz

Conclusione

Alien ha la capacità di convertire agevolmente tra diversi formati di packaging. Sebbene le conversioni di pacchetti a 32 bit su sistemi a 64 bit possano sembrare impossibili, con una piccola soluzione alternativa, diventa semplicemente un processo in due fasi. Un po’ più scomodo, ma comunque diretto e facile, questo semplice trucco ti permetterà di convertire i pacchetti RPM a 32 bit in DEB, anche su sistemi a 64 bit.