#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