Distrobox come integrare facilmente più distribuzioni Linux

Utilizzare contemporaneamente più distribuzioni può diventare complicato, soprattutto quando si ha bisogno di ambienti diversi per motivi di sviluppo, compatibilità o semplicemente per sperimentare. È qui che entra in gioco Distrobox, uno strumento che permette di eseguire container Linux in modo fluido e integrato all’interno della propria sessione, come se fossero parte del sistema operativo principale.

Distrobox si basa su tecnologie come Podman o Docker, ma l’obiettivo non è semplicemente eseguire container, quanto piuttosto offrire un’esperienza coesa e naturale. Quando si avvia un contenitore con Distrobox, non ci si trova in un ambiente isolato e limitato: si può accedere ai file della home, usare l’accelerazione grafica, lanciare applicazioni GUI, installare pacchetti come se si fosse in una sessione nativa, e persino integrare i comandi nella shell principale.

Un esempio pratico: si utilizza Arch Linux, ma si ha bisogno di testare un’applicazione in Fedora o Debian. Con Distrobox, basta creare un nuovo contenitore con l’immagine desiderata, accedervi con un semplice comando, e si ha a disposizione un ambiente completo e perfettamente funzionante, pronto all’uso. Il tutto senza dover installare una macchina virtuale o riavviare il sistema.

Una delle caratteristiche più interessanti è la possibilità di installare pacchetti all’interno del contenitore e renderli disponibili all’esterno tramite alias automatici. In questo modo, si può ad esempio installare una versione aggiornata di un compilatore in una distribuzione contenuta, e richiamarlo direttamente dalla shell del sistema host come se fosse installato lì.

L’integrazione è così ben fatta che è possibile eseguire applicazioni grafiche con un semplice firefox all’interno di un container Fedora, anche se si è su Ubuntu, senza percepire alcuna differenza in termini di reattività o supporto grafico.

Installazione di Distrobox

Per utilizzare Distrobox, è necessario prima installare Podman o Docker. Podman è generalmente consigliato per la sua natura senza demone (daemonless) e maggiore sicurezza.

Su distribuzioni basate su Debian/Ubuntu, Podman si installa con

sudo apt install podman

su Fedora digitiamo:

sudo dnf install podman

Chi preferisce Docker può seguire la nostra guida dedicata.

Una volta configurato Podman o Docker, si procede con il download di Distrobox tramite il comando:

bash curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local

Per rendere lo strumento disponibile globalmente, aggiungere il percorso al file ~/.bashrc o ~/.zshrc con export PATH="$HOME/.local/bin:$PATH".

Creazione e Gestione dei Container

Per avviare un container, ad esempio Ubuntu su una distribuzione host come Fedora, si utilizza

distrobox create --name ubuntu_dev --image ubuntu:24.04

seguito da distrobox enter ubuntu_dev per accedervi. All’interno del container, è possibile utilizzare i gestori di pacchetti nativi (come apt o dnf) e installare applicazioni come se si operasse su una macchina fisica.

I comandi principali includono distrobox list per visualizzare i container attivi, distrobox rm nome_container per eliminarli, e distrobox upgrade --all per aggiornarli tutti in una singola operazione.

Integrazione con il Sistema Host

Distrobox brilla nell’integrazione trasparente tra container e host. Le applicazioni GUI avviate da un container, come Firefox o IDE complessi, vengono visualizzate direttamente sul desktop principale, senza necessità di configurazioni aggiuntive. I file dell’utente sono accessibili sia dall’host che dai container grazie al mount automatico della directory home in /home/$USER. Anche le variabili d’ambiente, come quelle legate a SSH, GPG o strumenti di sviluppo (Node.js, Python), vengono condivise, garantendo un’esperienza coerente.

Use Case Pratici

Uno scenario comune è lo sviluppo multi-piattaforma: immagina di lavorare su un progetto Python che richiede versioni diverse dell’interprete. Con Distrobox, è possibile creare un container Ubuntu per Python 3.7 e uno Fedora per Python 3.11, evitando conflitti tra pacchetti.

Un altro esempio è il testing di software: verificare la compatibilità di un pacchetto .deb su Debian e un .rpm su openSUSE diventa immediato, senza dover riavviare la macchina o utilizzare VM lente. Infine, per applicazioni non supportate nella propria distribuzione, come alcuni giochi o tool proprietari, un container dedicato può risolvere dipendenze mancanti o incompatibilità librarie.

Per massimizzare l’efficienza, è consigliabile assegnare nomi descrittivi ai container (es. py_env o testing_deb) e mantenere separati gli ambienti critici. Sebbene i container siano isolati, è buona norma evitare di eseguire servizi sensibili al loro interno, preferendo l’host per operazioni critiche.

Distrobox non è solo uno strumento per power user: la sua semplicità lo rende accessibile anche a chi si avvicina al mondo Linux, offrendo un ponte verso la scoperta di nuove distribuzioni senza rischi. Che tu sia uno sviluppatore, un tester o un appassionato, Distrobox trasforma il tuo sistema in un laboratorio versatile, dove ogni distro trova il suo spazio.

Home Distrobox

Potrebbe interessarti