
Il alien il programma converte i pacchetti di installazione da una distribuzione Linux per l’uso su un’altra. Ma Snap e Flatpak non lo rendono superfluo ora? Un po’, ma non è così semplice.
Sistemi di confezionamento Linux
Per consentire ai propri utenti di installare software, le distribuzioni Linux necessitano di un sistema di pacchettizzazione del software. Se la distribuzione è un fork di un’altra distribuzione consolidata, di solito si attiene al sistema di confezionamento della distribuzione precedente.
Ecco perché Fedora usa i pacchetti RPM (che un tempo stava per RedHat Package Manager) e Ubuntu ei suoi numerosi figli usano i pacchetti DEB. DEB è semplicemente l’abbreviazione di “Debian”. Altre distribuzioni scelgono di scrivere il proprio sistema di gestione dei pacchetti. I file di installazione inclusi in un pacchetto per un gestore di pacchetti non sono intercambiabili con altri gestori di pacchetti.
Tradizionalmente, gli sviluppatori di applicazioni dovevano o imballare la loro applicazione in ogni formato che sceglievano di supportare o lavorare con i manutentori delle diverse distribuzioni Linux e passare loro le fasi di confezionamento. Quest’ultimo introduce ritardi nel portare le nuove versioni nelle mani degli utenti, il primo offre agli sviluppatori molto lavoro extra.
I progetti Snap e Flatpak cercano di fornire il Santo Graal della distribuzione dei pacchetti: impacchetta la tua applicazione una volta e installala su qualsiasi distribuzione Linux. Naturalmente, potrebbe esserci o meno uno Snap o un Flatpak per l’applicazione che stai cercando.
Puoi rimuovere completamente i sistemi di packaging dall’equazione, purché tu sia a tuo agio con la clonazione di un repository Git e la creazione di un’applicazione dal codice sorgente. Ma non tutti lo sono. E non tutte le applicazioni, anche su Linux, sono open source, quindi non puoi comunque creare tutto dal sorgente.
I manutentori di alcune distribuzioni sono ottimi per ottenere pacchetti per altre piattaforme e riconfezionarli per il proprio sistema di gestione dei pacchetti, comprese le applicazioni closed-source. Ma ci saranno sempre casi in cui un’applicazione offre un DEB o un RPM, i due grandi formati, e tutti gli altri devono capirlo da soli.
Programmi come alien esiste per risolvere il problema della conversione di un file di pacchetto da un’altra distribuzione nella versione che ti serve sul tuo computer Linux. In teoria va bene, ma quanto hanno successo?
L’esperimento alieno
La prova del budino è nel mangiarlo.
Abbiamo preso tre diversi RPM e li abbiamo usati alien per convertirli in DEB. Abbiamo quindi provato a installare i DEB appena creati su Ubuntu.
In tutti i nostri casi di test, c’era anche un DEB disponibile per il download, quindi quello che stavamo facendo era effettivamente ridondante. Ma abbiamo pensato che le applicazioni di test, browser Microsoft Edge, editor Atom e Slack, sarebbero state un buon test di alien‘s quindi abbiamo ignorato i DEB standard.
Installazione aliena
L’installazione di alien è stata semplice su Ubuntu, Fedora e Manjaro.
Su Ubuntu puoi usare questo comando:
sudo apt install alien

Su Fedora, devi digitare:
sudo dnf install alien

Su Manjaro, il pacchetto alieno si trova nell’Arch User Repository. Questo significa pacman non sarà in grado di vederlo, quindi dobbiamo usare un programma di supporto AUR come yay. Anche il nome del pacchetto è leggermente diverso.
yay -S alien_package_converter

Usando l’alieno
Usare alien si specifica il file che si desidera convertire e il formato in cui si desidera convertire. Crea un file con lo stesso nome file, di solito, e con l’estensione del formato richiesto.
Usando alien per creare un pacchetto cause alien per incrementare il numero di versione del pacchetto. Se il numero del pacchetto è nel nome del file, anche il nome del file verrà modificato.
Questi sono i formati alien può convertire da e in.
- -D: Converti in un file DEB, per Debian, Ubuntu e tutti i derivati.
- -R: Converti in un file RPM, per RedHat, CentOS e Fedora.
- -T: Converti in un file di archivio TAR.GZ, per sistemi basati su Arch e Arch come EndeavourOS e Manjaro.
- -l: Converti in un file LSB, un file Linux Standard Base. Questa è stata un’altra iniziativa per sviluppare un formato di pacchetto di distribuzione incrociata.
- -P: Converti in un file PKG, un formato utilizzato tra gli altri da Solaris.
- –to-slp: Converti in un pacchetto SLP, un formato utilizzato dalla distribuzione Stampede Linux fuori produzione.
L’opzione di formato che useremo è -d (DEB) mentre stiamo convertendo in un file DEB. Useremo anche il -c (script) opzione per convertire tutti gli script contenuti nel pacchetto.
Microsoft Edge
Abbiamo scaricato un RPM per il browser Edge di Microsoft ed eseguito il seguente comando su di esso:
sudo alien -d -c microsoft-edge-beta-97.0.1072.54-1.x86_64.rpm

Senza il -c (script) non ha creato il file DEB, ha segnalato un errore. Con il -c opzione, ha creato il DEB.

Nota che il nome del file DEB contiene 54-2, non 54-1.
È improbabile che la conversione degli script finisca bene. Potrebbero essere scritti per una particolare situazione o configurazione unica per la piattaforma di destinazione genuina del file del pacchetto originale. Per questo motivo, non avevamo grandi speranze. Tuttavia, abbiamo provato a installare il DEB con il dpkg programma e il -i opzione (installa).
sudo dpkg -i microsoft-edge-beta_97.0.1072.54-2_amd64.deb

Non ha funzionato.
Abbiamo anche provato a fare doppio clic sul file DEB e a utilizzare l’applicazione software Ubuntu per installare DEB. È interessante notare che l’applicazione software sapeva che il DEB era stato creato da alien.

Neanche quello ha funzionato. Solo per assicurarci che il browser Edge si installasse effettivamente su Ubuntu, abbiamo installato il file DEB ufficiale di Microsoft Edge.
sudo dpkg -i microsoft-edge-beta_97.0.1072.54-1_amd64.deb

Ha funzionato senza problemi. Puoi vedere di seguito Microsoft Edge in esecuzione su Ubuntu.

L’editore dell’atomo
Abbiamo scaricato il pacchetto di installazione RPM per il popolare editor Atom. Abbiamo usato lo stesso alien comando per convertirlo in un DEB.
sudo alien -d -c atom.x86_64.rpm

Ciò ha creato un file DEB senza avvisi o errori. L’abbiamo installato utilizzando il dpkg comando con il -i opzione (installa).
sudo dpkg -i atom_1.58.0-1.1_amd64.deb
![]()
Ha funzionato perfettamente.

App di messaggistica aziendale Slack
Infine, abbiamo provato a convertire lo Slack RPM in un DEB.
sudo alien -d -c slack-4.23.0-0.1.fc21.x86_64.rpm

Ancora una volta, questo ha creato un DEB senza avvisi e senza errori. Abbiamo usato questo comando di installazione:
sudo dpkg -i slack_4.23.0-1.1_amd64.deb

L’installazione ha funzionato perfettamente. Slack era attivo e funzionante senza problemi.

Risultati misti
Un’utilità come alien sta inevitabilmente combattendo una battaglia in salita. Le probabilità sono alte contro la sua capacità di funzionare in ogni caso, e questo è stato confermato dalla nostra piccola quantità di test. Detto questo, quando ha funzionato è stato fantastico.
Se ti trovi in una situazione in cui non c’è nient’altro, dai alien un tentativo. Ma se hai altri metodi a tua disposizione, Snap, Flatpak o build from source, provali prima. Anche gli autori di alien conoscere i suoi limiti e inserire questo avviso nel file man pagina:
alien non dovrebbe essere usato per sostituire pacchetti di sistema importanti, come init, libc o altre cose che sono essenziali per il funzionamento del tuo sistema. Molti di questi pacchetti sono impostati in modo diverso dalle diverse distribuzioni e i pacchetti delle diverse distribuzioni non possono essere utilizzati in modo intercambiabile. In generale, se non riesci a rimuovere un pacchetto senza rompere il tuo sistema, non provare a sostituirlo con una versione aliena.
Anche se potrebbe tirarti fuori da un buco, assicurati di aver esaurito tutte le altre possibilità prima di rivolgerti a alien.
Ma, quando non c’è nient’altro, alien potrebbe semplicemente sorprenderti.
IMPARENTATO: Come usare il comando man di Linux: segreti nascosti e nozioni di base
