#format wiki
#LANGUAGE it
<
>
<>
<>
<>
= Introduzione =
'''Distrobox''' è un "wrapper" per '''Podman''', '''Docker''' e '''Lilipod''' e di default, usa '''Podman''' se installato.<
>
'''Distrobox''' consente di eseguire più distribuzioni '''Linux''' sullo stesso sistema in modo semplice ed efficace. Utilizzando contenitori, '''Distrobox''' facilita l'installazione e la gestione di diverse distribuzioni senza richiedere configurazioni complesse o partizioni separate. Gli utenti possono così testare, sviluppare o eseguire applicazioni in un ambiente isolato, beneficiando delle funzionalità native di ciascuna distribuzione. '''Distrobox''' integra anche strumenti per la condivisione di file e risorse tra l'host e i contenitori, offrendo grande flessibilità.
= Installazione =
== Da repository ==
'''Distrobox''' è presente nei '''repository''' delle seguenti versioni di '''Ubuntu''':
|| '''Ubuntu''' || '''Distrobox''' ||
|| 24.04 || 1.7.0 ||
|| 24.10 || 1.7.2.1 ||
|| 25.04 || 1.8.1.2 ||
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://distrobox|distrobox]].<
>
Per altre versioni di '''Ubuntu''' o per ottenere l'ultima versione di '''Distrobox''', utilizzare il metodo alternativo.
{{{#!wiki note
'''Distrobox''' è disponibile per ulteriori rilasci di '''Ubuntu''' nonché in altre versioni tramite '''[[https://en.wikipedia.org/wiki/PPA|PPA]]'''. Per maggiori informazioni, consultare [[https://launchpad.net/ubuntu/+source/distrobox/+index#|questa pagina]] e cliccare in fondo alla pagina su "''Other versions of 'distrobox' in untrusted archives.''".
}}}
== Metodo alternativo ==
La versione più recente dell'applicazione '''Distrobox''' può essere installata/disinstallata direttamente tramite uno script, con l'uso limitato all'utente comune o disponibile all'intero sistema tramite l'utente [[https://wiki.ubuntu-it.org/AmministrazioneSistema/PrivilegiDiAmministrazione|amministratore]].
0. '''Utente comune''':
* Per installare digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
wget -qO- https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh
}}}
* Per disinstallare digitare nel terminale il seguente comando:{{{
wget -qO- https://raw.githubusercontent.com/89luca89/distrobox/main/uninstall | sh
}}}
0. '''Utente amministratore''':
* Per installare digitare nel terminale il seguente comando:{{{
wget -qO- https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh
}}}
* Per disinstallare digitare nel terminale il seguente comando:{{{
wget -qO- https://raw.githubusercontent.com/89luca89/distrobox/main/uninstall | sudo sh
}}}
= Utilizzazione =
== Comandi di base ==
Di seguito sono elencati i comandi di base (senza tutte le opzioni) e le relative descrizioni:
||<:55%> '''Comandi al di fuori della distrobox''' ||<:> '''Descrizione''' ||
|| '''distrobox-assemble --file''' ''/my/custom/path.ini'' || Per creare o distruggere i contenitori in lotti, in base a un file manifest. ||
|| '''distrobox-create --name''' ''NOME-CONTENITORE'' '''--image''' ''NOME-OS:VERSIONE'' || Creazione di un contenitore. ||
|| '''distrobox-enter''' ''NOME-CONTENITORE'' || Entrare nel contenitore. ||
|| '''distrobox-ephemeral --name''' ''NOME-CONTENITORE'' '''--image''' ''NOME-OS:VERSIONE'' || Creare un contenitore temporale, distruggerlo quando si esce dalla shell. ||
|| '''distrobox generate-entry''' ''NOME-CONTENITORE'' '''--icon''' ''/path/to/icon.png'' || Creare sull'host, un lanciatore del desktop per un contenitore, imponendo l'icona. ||
|| '''distrobox-rm''' ''NOME-CONTENITORE'' || Cancellare il contenitore. ||
|| '''distrobox-list''' || Elencare i contenitori attivi. ||
|| '''distrobox-stop''' ''NOME-CONTENITORE'' || Fermare il contenitore. ||
|| '''distrobox-upgrade''' ''NOME-CONTENITORE'' || Eseguire un aggiornamento del contenitore usando il gestore di pacchetti del contenitore. ||
||<:55%> '''Comandi all'interno della distrobox''' ||<:> '''Descrizione''' ||
|| '''distrobox-export --app''' ''NOME-APPLICAZIONE'' || Esportazione di un lanciatore di un'applicazione da un contenitore all'host. ||
|| '''distrobox-host-exec''' ''COMANDO'' || Eseguire comandi/programmi dall'host, mentre si è all'interno del contenitore. ||
|| '''distrobox-init''' || Installare le dipendenze mancanti, impostare l'utente e i gruppi, montare le directory dall'host, ecc. ||
|| '''logout''' || Uscire dal contenitore ||
Per maggiori dettagli su come utilizzare i comandi, visitare il [[https://distrobox.it/|sito web ufficiale]].
== Esempio 1: creazione di un contenitore Ubuntu ==
In questo esempio, l'host è '''Ubuntu 24.04'''{{{
user@desktop:~$ cat /etc/os-release | grep VERSION
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
VERSION_CODENAME=noble
}}}
Scegliere il guest tra le seguenti [[https://github.com/89luca89/distrobox/blob/main/docs/compatibility.md#containers-distros|immagini di contenitori]]. Altri sono disponibili seguendo i link di [[https://github.com/toolbx-images/images?tab=readme-ov-file#what-about-arch-linux-fedora-rhel-and-ubuntu-images|questa pagina]].<
>
In sostanza, per un contenitore '''Ubuntu''', abbiamo le seguenti scelte:
||<:> '''Ubuntu''' ||<:30%> '''Immagini (Toolbox)''' ||<:10%>||<:> '''Ubuntu''' ||<:50%> '''Immagini (Docker)''' ||
|| || || ||<:> '''14.04''' ||<:> ubuntu:14.04 ||
||<:> '''16.04''' ||<:> quay.io/toolbx/ubuntu-toolbox:16.04 || ||<:> '''16.04''' ||<:> ubuntu:16.04 ||
||<:> '''18.04''' ||<:> quay.io/toolbx/ubuntu-toolbox:18.04 || ||<:> '''18.04''' ||<:> ubuntu:18.04 ||
||<:> '''20.04''' ||<:> quay.io/toolbx/ubuntu-toolbox:20.04 || ||<:> '''20.04''' ||<:> ubuntu:20.04 o ubuntu:focal ||
||<:> '''22.04''' ||<:> quay.io/toolbx/ubuntu-toolbox:22.04 || ||<:> '''22.04''' ||<:> ubuntu:22.04 o ubuntu:jammy ||
||<:> '''24.04''' ||<:> quay.io/toolbx/ubuntu-toolbox:24.04 || ||<:> '''24.04''' ||<:> ubuntu:24.04 o ubuntu:noble o ubuntu:latest ||
|| || || ||<:> '''24.10''' ||<:> ubuntu:24.10 o ubuntu:oracular ||
|| || || ||<:> '''25.04''' ||<:> ubuntu:25.04 o ubuntu:plucky ||
Per creare un contenitore standard, chiamato `Ubuntu2504` basato su un'immagine '''docker''' `ubuntu:25.04`, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
distrobox-create --name Ubuntu2504 --image ubuntu:25.04
}}}
Tuttavia, è preferibile creare contenitori di sistema, in cui il contenitore si comporta in modo più simile a una '''VM''' completa che a un contenitore di applicazioni, utilizzando il parametro `--init`. All'interno si avranno un init separato, una sessione utente, demoni e così via. Cioè, aggiugiendo `--init --additional-packages "systemd libpam-systemd"` al comando precedente:{{{
user@desktop:~$ distrobox-create --name Ubuntu2504 --image ubuntu:25.04 --init --additional-packages "systemd libpam-systemd"
Image ubuntu:25.04 not found.
Do you want to pull the image now? [Y/n]:
Resolved "ubuntu" as an alias (/etc/containers/registries.conf.d/shortnames.conf)
Trying to pull docker.io/library/ubuntu:25.04...
Getting image source signatures
Copying blob 1b3c8f62d074 done |
Copying config f51757c148 done |
Writing manifest to image destination
f51757c148c75f97fd1c48fb6b21ac37bd5108e91e4b1d528d5e62827cf76a36
Creating 'Ubuntu2504' using image ubuntu:25.04 [ OK ]
Distrobox 'Ubuntu2504' successfully created.
To enter, run:
distrobox enter Ubuntu2504
user@desktop:~$
}}}
Si entra nel contenitore:
{{{
user@desktop:~$ distrobox enter Ubuntu2504
Starting container... [ OK ]
Installing basic packages... [ OK ]
Setting up devpts mounts... [ OK ]
Setting up read-only mounts... [ OK ]
Setting up read-write mounts... [ OK ]
Setting up host's sockets integration... [ OK ]
Integrating host's themes, icons, fonts... [ OK ]
Setting up distrobox profile... [ OK ]
Setting up sudo... [ OK ]
Setting up user groups... [ OK ]
Setting up kerberos integration... [ OK ]
Setting up user's group list... [ OK ]
Setting up existing user... [ OK ]
Setting up user home... [ OK ]
Ensuring user's access... [ OK ]
Setting up init system... [ OK ]
Firing up init system... [ OK ]
Container Setup Complete!
user@Ubuntu2504:~$
}}}
{{{#!wiki tip
Si può vedere che ci si trova nel contenitore perché il testo alla sinistra del simbolo '''$''' è cambiato, è diventato:
''NOME_USER@NOME_CONTENITORE''
}}}
Visualizzare la versione, per confermare che siamo sulla '''25.04''':
{{{
user@Ubuntu2504:~$ cat /etc/os-release | grep VERSION
VERSION_ID="25.04"
VERSION="25.04 (Plucky Puffin)"
VERSION_CODENAME=plucky
}}}
Ora possiamo eseguire le normali operazioni di aggiornamento con `sudo apt update` e `sudo apt full-upgrade` e poi cambiare la lingua predefinita in italiano:{{{
sudo apt install language-pack-it
}}}
Se il pacchetto ''language-pack-it-base'' non viene installato automaticamente come dipendenza, installarlo con:{{{
sudo apt install language-pack-it-base
}}}
Generare i file di lingua:{{{
sudo locale-gen it_IT.UTF-8
}}}
Si deve modificare un file di configurazione, si può usare l'editor di testo [[Ufficio/EditorDiTesto/Nano|nano]] già installato, ma per una maggiore facilità d'uso, useremo l'editor [[Ufficio/EditorDiTesto/Micro|micro]]:{{{
sudo apt install micro
}}}
{{{
sudo micro /etc/default/locale
}}}
Modificare il file in modo da avere le seguenti 3 righe:{{{
LANG=it_IT.UTF-8
LANGUAGE=it_IT:it
LC_ALL=it_IT.UTF-8
}}}
Salvare il file (`Ctrl-S`), uscire (`Ctrl-Q`), e in fine digitare:{{{
source /etc/default/locale
}}}
{{{#!wiki note
In caso di errore con l'ultimo comando, uscire dal contenitore con `logout` e poi rientrare con `distrobox enter Ubuntu2504`.
}}}
Adesso installiamo una versione più recente di un'applicazione. Ad esempio [[AmministrazioneSistema/InstallareProgrammi|installando]] [[Grafica/Gimp|Gimp]] ci ritroviamo con la versione `deb` più recente:{{{
user@Ubuntu2504:~$ dpkg -l | grep gimp
ii gimp 3.0.2-1
}}}
mentre sull'host l'ultima versione nei repository è la '''2.10.36'''.<
><
>
Per creare un lanciatore sul desktop host, digitare:{{{
distrobox-export --app gimp
}}}
== Esempio 2: creazione di un contenitore Void Linux ==
L'host è lo stesso dell'esempio 1. Verrà creato un contenitore di una distribuzione “rolling releases” con questa immagine: `ghcr.io/void-linux/void-glibc-full:latest`.<
>
Questo ci permetterà di scoprire come utilizzare '''Linux''' in modo completamente diverso da '''Ubuntu''', consumando pochissime risorse, e usare comandi e applicazioni sconosciuti a '''Ubuntu'''.<
>
Ecco la sequenza di ordini nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
user@desktop:~$ distrobox-create --init --name VoidLinux --image ghcr.io/void-linux/void-glibc-full:latest
Image ghcr.io/void-linux/void-glibc-full:latest not found.
Do you want to pull the image now? [Y/n]:
Trying to pull ghcr.io/void-linux/void-glibc-full:latest...
Getting image source signatures
Copying blob c219f699057e done |
Copying blob 51d9f963312e done |
Copying config 6a34e6fe4a done |
Writing manifest to image destination
6a34e6fe4aacf1d8bffdbcb2bd20acf00425dacc723f775dac75812a478ecbda
Creating 'VoidLinux' using image ghcr.io/void-linux/void-glibc-full:latest [ OK ]
Distrobox 'VoidLinux' successfully created.
To enter, run:
distrobox enter VoidLinux
user@desktop:~$
}}}
Si entra nel contenitore:
{{{
user@desktop:~$ distrobox enter VoidLinux
Starting container... [ OK ]
Installing basic packages... [ OK ]
Setting up devpts mounts... [ OK ]
Setting up read-only mounts... [ OK ]
Setting up read-write mounts... [ OK ]
Setting up host's sockets integration... [ OK ]
Integrating host's themes, icons, fonts... [ OK ]
Setting up distrobox profile... [ OK ]
Setting up sudo... [ OK ]
Setting up user groups... [ OK ]
Setting up kerberos integration... [ OK ]
Setting up user's group list... [ OK ]
Setting up existing user... [ OK ]
Setting up user home... [ OK ]
Ensuring user's access... [ OK ]
Setting up init system... [ OK ]
Firing up init system... [ OK ]
Container Setup Complete!
user@VoidLinux:~$
}}}
{{{#!wiki tip
Si può vedere che ci si trova nel contenitore perché il testo alla sinistra del simbolo '''$''' è cambiato, è diventato:
''NOME_USER@NOME_CONTENITORE''
}}}
Visualizzare la versione, per confermare che siamo su '''Void Linux''':
{{{
user@VoidLinux:~$ cat /etc/os-release
NAME="Void"
ID="void"
PRETTY_NAME="Void Linux"
HOME_URL="https://voidlinux.org/"
DOCUMENTATION_URL="https://docs.voidlinux.org/"
LOGO="void-logo"
ANSI_COLOR="0;38;2;71;128;97"
DISTRIB_ID="void"
}}}
Eseguire le normali operazioni di aggiornamento:{{{
sudo xbps-install -Su
}}}
Controllare la versione di [[Grafica/Gimp|Gimp]] disponibile:{{{
user@VoidLinux:~$ sudo xbps-query -Rs gimp
[-] gimp-3.0.2_1 GNU image manipulation program
[-] gimp-devel-3.0.2_1 GNU image manipulation program - development files
[-] gmic-gimp-3.5.3_1 GREYC's Magic for Image Computing (image processing framework) - GIMP plugin
[-] gtk4-4.18.4_1 GIMP ToolKit (v4)
[-] gtk4-demo-4.18.4_1 GIMP ToolKit (v4) - demonstration application
[-] gtk4-devel-4.18.4_1 GIMP ToolKit (v4) - development files
[-] gtk4-doc-4.18.4_1 GIMP ToolKit (v4) - documentation
[-] gtk4-update-icon-cache-4.18.4_1 GIMP ToolKit (v4) - GTK4 update icon cache tool
[-] libgimp-3.0.2_1
}}}
{{{#!wiki tip
Il vantaggio di una distribuzione "rolling" è che il software sarà sempre disponibile nella sua versione più recente.
}}}
Installazione di [[Grafica/Gimp|Gimp]]:
* Da riga di comando:{{{
sudo xbps-install -S gimp
}}}
* Tramite un gestore di pacchetti
0. Installare un gestore di pacchetti con interfaccia grafica:{{{
sudo xbps-install -S octoxbps
}}}
0. Avviare il gestore di pacchetti e procedere con l'installazione:{{{
octoxbps
}}}
<><
>
Creare i lanciatori sul desktop host:{{{
distrobox-export --app gimp
distrobox-export --app octoxbps
}}}
== Interfaccia grafica ==
'''Distrobox''' può essere utilizzato tramite una '''GUI''' con [[https://github.com/Dvlv/BoxBuddyRS|BoxBuddy]].
= Ulteriori risorse =
* [[https://distrobox.it/|Sito ufficiale]]
* [[https://github.com/89luca89/distrobox|Distrobox su Github]]
* [[https://flathub.org/apps/io.github.dvlv.boxbuddyrs|BoxBuddy su Flathub]]
* [[https://voidlinux.org/|Void Linux]]
----
CategoryNuoviDocumenti