DistroBox: executeu qualsevol distribució de Linux dins del terminal Linux


Distrobox és una eina enginyosa que us permet crear i gestionar contenidors a la vostra distribució preferida de Linux mitjançant Docker o Podman. El contenidor llançat s'integra altament amb el sistema amfitrió i això permet compartir el directori HOME de l'usuari juntament amb emmagatzematge extern, dispositius USB i aplicacions gràfiques.

Distrobox es basa en una imatge OCI i implementa conceptes similars als de ToolBox, que es basa sobre les tecnologies de contenidor estàndard podman i OCI.

En aquesta guia, demostrarem com instal·lar DistroBox per executar qualsevol distribució de Linux dins del vostre terminal Linux. Per a aquesta guia, estem executant Fedora 34.

Abans de continuar, assegureu-vos que teniu el següent:

  • Versió mínima de podman: 2.1.0 o versió de Docker: 18.06.1.

Pas 1: instal·leu DistroBox al sistema Linux

Instal·lar DistroBox és senzill. Només heu d'executar la següent comanda curl que baixa i executa l'script d'instal·lació.

$ curl https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh

A Fedora, DistroBox està disponible al repositori Copr. Per tant, activeu el dipòsit Copr a Fedora.

$ sudo dnf copr enable alciregi/distrobox

Un cop afegit el dipòsit Copr, utilitzeu el gestor de paquets DNF per instal·lar Distrobox.

$ sudo dnf install distrobox

Pas 2: creeu un contenidor a partir d'una imatge

Amb Distrobox instal·lat, ara podem començar a crear i executar contenidors. Per extreure una imatge i executar un contenidor des de la imatge, utilitzeu l'ordre distrobox-create de la següent manera.

$ distrobox-create --name container-name --image os-image:version

En aquest exemple, estem creant un contenidor anomenat debian10-distrobox a partir de la imatge de Debian 10.

$ distrobox-create --name debian10-distrobox --image debian:10

L'ordre extreu la imatge de Debian 10 del Docker Hub i crea un contenidor anomenat debian10-distrobox.

Per obtenir una llista completa de sistemes operatius i versions compatibles amb els contenidors de Distrobox, visiteu la pàgina del projecte Distrobox.

Per llistar els contenidors creats amb Distrobox, executeu:

$ distrobox-list

Pas 3: Accés a un contenidor de Distrobox

Per accedir a l'intèrpret d'ordres del contenidor Linux recentment creat, utilitzeu l'ordre distrobox-enter de la següent manera:

$ distrobox-enter --name container-name

Per exemple, per accedir al nostre contenidor, executarem l'ordre:

$ distrobox-enter --name debian10-distrobox

Des d'aquí, podeu executar ordres dins del contenidor. Per exemple, l'ordre següent comprova la versió del sistema operatiu.

$ cat /etc/os-release

També podeu instal·lar aplicacions. Aquí, estem instal·lant l'eina d'utilitat Neofetch.

$ sudo apt install neofetch

Un cop instal·lat Neofetch, inicieu-lo de la següent manera.

Pas 4: executeu les ordres al contenidor Distrobox

Podeu executar directament les ordres en un contenidor de Distrobox en lloc d'accedir a l'intèrpret d'ordres mitjançant la sintaxi que es mostra.

$ distrobox-enter --name container-name  -- command

A les ordres següents, mostrem el temps d'activitat del contenidor i actualitzem les llistes de paquets respectivament.

$ distrobox-enter --name debian10-distrobox -- uptime
$ distrobox-enter --name debian10-distrobox -- sudo apt update

Pas 5: exportació d'aplicacions del contenidor a l'amfitrió

En cas que tingueu una aplicació dins del contenidor Distrobox que voleu portar al sistema amfitrió, podeu fer-ho mitjançant l'ordre distrobox-export. Primer, accediu a la closca del contenidor.

$ distrobox-enter --name container-name

Aquí, instal·larem Flameshot, que és una eina multiplataforma gratuïta i de codi obert per fer captures de pantalla.

$ sudo apt install flameshot

Per exportar l'aplicació a Fedora, executarem l'ordre:

$ distrobox-export --app flameshot

Per sortir del contenidor, executeu:

$ logout

Ara tornem al sistema amfitrió de Fedora. Per confirmar l'existència de l'aplicació, executarem la cerca de l'aplicació mitjançant el menú Aplicació de la següent manera.

Pas 6: clonar un contenidor de Distrobox

De vegades, és possible que hàgiu de crear un duplicat o un clon d'una imatge de contenidor. Per aconseguir-ho, primer, atureu el contenidor en execució mitjançant l'ordre podman

$ podman stop container_ID

Per obtenir l'ID del contenidor, executeu l'ordre podman ps per llistar els contenidors que s'executen actualment.

$ podman ps

Un cop el contenidor estigui aturat, podeu crear un duplicat de la següent manera. En aquest exemple, estem duplicant la caixa de distribució debian10-distrobox en un clon anomenat debian-10-clone.

$ distrobox-create --name debian-10-clone --clone debian10-distrobox

Per confirmar que s'ha creat el clon, torneu a enumerar els contenidors de Distrobox tal com es mostra.

$ distrobox-list

Pas 7: Gestionar les caixes de distribució a Fedora

En aquesta darrera secció, explicarem breument com gestionar els contenidors amb podman.

Per llistar tots els contenidors actius, executeu:

$ podman ps

Per llistar tots els contenidors en execució, tant els actius com els que han sortit, executeu:

$ podman ps -a

Per aturar un contenidor, executeu l'ordre:

$ podman stop container_ID

Per treure un recipient, assegureu-vos d'aturar-lo primer i després treure'l.

$ podman stop container_ID
$ podman rm  container_ID

Distrobox és una utilitat útil que permet la compatibilitat cap endavant i cap enrere amb aplicacions de programari i també us permet provar diverses distribucions de Linux en forma de contenidors sense necessitat de privilegis sudo.