DistroBox: esegui qualsiasi distribuzione Linux all'interno del terminale Linux
Distrobox è uno strumento ingegnoso che ti consente di creare e gestire contenitori sulla tua distribuzione Linux preferita utilizzando Docker o Podman. Il contenitore avviato diventa altamente integrato con il sistema host e ciò consente la condivisione della directory HOME dell'utente insieme a dispositivi di archiviazione esterni, dispositivi USB e applicazioni grafiche.
Distrobox si basa su un'immagine OCI e implementa concetti simili a quelli di ToolBox che è costruito sulle tecnologie dei contenitori standard Podman e OCI.
In questa guida dimostreremo come installare DistroBox per eseguire qualsiasi distribuzione Linux all'interno del tuo terminale Linux. Per questa guida utilizziamo Fedora 34.
Prerequisiti
Prima di procedere, assicurati di avere quanto segue:
- Versione minima del podman: 2.1.0 o versione docker: 18.06.1.
Passaggio 1: installa DistroBox sul sistema Linux
Installare DistroBox è un gioco da ragazzi. È sufficiente eseguire il seguente comando curl che scarica ed esegue lo script di installazione.
curl https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh
In Fedora, DistroBox è disponibile dal repository Copr. Quindi, abilita il repository Copr su Fedora.
sudo dnf copr enable alciregi/distrobox
Una volta aggiunto il repository Copr, utilizza il gestore pacchetti DNF per installare Distrobox.
sudo dnf install distrobox
Passaggio 2: crea un contenitore da un'immagine
Con Distrobox installato, ora possiamo iniziare con la creazione e l'esecuzione dei contenitori. Per estrarre un'immagine ed eseguire un contenitore dall'immagine, utilizza il comando distrobox-create come segue.
distrobox-create --name container-name --image os-image:version
In questo esempio, stiamo creando un contenitore chiamato debian10-distrobox dall'immagine Debian 10.
distrobox-create --name debian10-distrobox --image debian:10
Il comando estrae l'immagine Debian 10 da Docker Hub e crea un contenitore chiamato debian10-distrobox.
Per ottenere un elenco completo dei sistemi operativi e delle versioni supportati dai contenitori Distrobox, visitare la pagina del progetto Distrobox.
Per elencare i contenitori creati con Distrobox, esegui:
distrobox-list
Passaggio 3: accesso a un contenitore Distrobox
Per accedere alla shell del contenitore Linux appena creato, utilizzare il comando distrobox-enter come segue:
distrobox-enter --name container-name
Ad esempio, per accedere al nostro contenitore, eseguiremo il comando:
distrobox-enter --name debian10-distrobox
Da qui puoi eseguire comandi all'interno del contenitore. Ad esempio, il comando seguente controlla la versione del sistema operativo.
cat /etc/os-release
È inoltre possibile installare applicazioni. Qui stiamo installando lo strumento di utilità Neofetch.
sudo apt install neofetch
Una volta installato Neofetch, avvialo come segue.
Passaggio 4: esegui i comandi sul contenitore Distrobox
Puoi eseguire direttamente i comandi su un contenitore Distrobox invece di accedere alla shell utilizzando la sintassi mostrata.
distrobox-enter --name container-name -- command
Nei comandi seguenti, visualizziamo rispettivamente il tempo di attività del contenitore e aggiorniamo gli elenchi dei pacchetti.
distrobox-enter --name debian10-distrobox -- uptime
distrobox-enter --name debian10-distrobox -- sudo apt update
Passaggio 5: esportazione delle applicazioni dal contenitore all'host
Se hai un'applicazione all'interno del contenitore Distrobox che desideri trasferire sul sistema host, puoi farlo utilizzando il comando distrobox-export. Ma prima accedi alla shell del contenitore.
distrobox-enter --name container-name
Qui installeremo Flameshot, uno strumento multipiattaforma gratuito e open source per acquisire screenshot.
sudo apt install flameshot
Per esportare l'applicazione su Fedora, eseguiremo il comando:
distrobox-export --app flameshot
Per uscire dal contenitore, eseguire:
logout
Ora torniamo al sistema host Fedora. Per confermare l'esistenza dell'applicazione, eseguiremo la ricerca dell'applicazione utilizzando il menu Applicazione come segue.
Passaggio 6: clonazione di un contenitore Distrobox
A volte potrebbe essere necessario creare un duplicato o un clone di un'immagine del contenitore. Per raggiungere questo obiettivo, innanzitutto arresta il contenitore in esecuzione utilizzando il comando podman
podman stop container_ID
Per ottenere l'ID del contenitore, esegui il comando podman ps per elencare i contenitori attualmente in esecuzione.
podman ps
Una volta arrestato il contenitore, puoi creare un duplicato come segue. In questo esempio, stiamo duplicando la distribuzione debian10-distrobox in un clone chiamato debian-10-clone.
distrobox-create --name debian-10-clone --clone debian10-distrobox
Per confermare che il clone è stato creato, ancora una volta, elenca i contenitori Distrobox come mostrato.
distrobox-list
Passaggio 7: gestione dei Distrobox in Fedora
In quest'ultima sezione, esamineremo brevemente come gestire i contenitori utilizzando podman.
Per elencare tutti i contenitori attivi, esegui:
podman ps
Per elencare tutti i contenitori in esecuzione, sia quelli attivi che quelli usciti, eseguire:
podman ps -a
Per arrestare un contenitore, esegui il comando:
podman stop container_ID
Per rimuovere un contenitore, assicurati prima di fermarlo e poi di rimuoverlo.
podman stop container_ID
podman rm container_ID
Conclusione
Distrobox è una pratica utility che consente la compatibilità avanti e indietro con le applicazioni software e ti consente anche di provare varie distribuzioni Linux sotto forma di contenitori senza richiedere i privilegi sudo.