Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento.

Guida verificata con Ubuntu: 22.04 24.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Distrobox è un wrapper per Docker, Lilipod e Podman (di default usa quest'ultimo, che consente utilizzo di contenitori come utente non root).
Attraverso l'utilizzo di container non isolati dall'host, questo strumento consente di eseguire più distribuzioni GNU/Linux sullo stesso sistema in modo semplice ed efficace.
Distrobox integra anche strumenti per la condivisione di file e risorse tra l'host e i contenitori, offrendo grande flessibilità: i container così creati saranno strettamente integrati col sistema host, avendo accesso al kernel (compresi driver e moduli), ai processi, alla HOME dell'utente, all'hardware, ai drive interni ed esterni, alle applicazioni grafiche (sia con X11 che Wayland) e all'audio.

Distrobox, quindi, facilita l'installazione e la gestione di diverse distribuzioni, senza richiedere sistemi virtualizzati, partizioni separate e configurazioni complesse. Gli utenti possono così eseguire, testare o sviluppare applicazioni in un ambiente isolato, beneficiando delle funzionalità native di ciascuna distribuzione, oppure utilizzando versioni e/o librerie più o meno recenti (senza far ricorso a Snap, Flatpak e AppImage).

Installazione

Da repository

Installare il pacchetto distrobox.

Distrobox è presente nei repository ufficiali delle seguenti versioni di Ubuntu:

Ubuntu

Distrobox

24.04

1.7.0

24.10

1.7.2.1

25.04

1.8.1.2

Per altre versioni di Ubuntu o per ottenere l'ultima versione di Distrobox, utilizzare il metodo da script.

Distrobox è disponibile per ulteriori rilasci di Ubuntu nonché in altre versioni tramite PPA. Per maggiori informazioni, consultare questa pagina e cliccare in fondo alla pagina su "Other versions of 'distrobox' in untrusted archives.".

Tramite script

La versione più recente dell'applicazione può essere installata/disinstallata direttamente tramite uno script, con l'uso limitato all'utente comune o disponibile all'intero sistema tramite l'utente amministratore.

  • Utente comune:

    • Per installare digitare nel 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
  • 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

Utilizzo

Comandi di base

Di seguito sono elencati i comandi di base (senza tutte le opzioni) e le relative descrizioni:

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, impostando un'icona.

distrobox-rm NOME-CONTENITORE

Eliminare 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.

Comandi all'interno della distrobox

Descrizione

distrobox-export --app NOME-APPLICAZIONE

Esportare 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, consultare la documentazione ufficiale.

Per il comando distrobox-create è disponibile l'opzione generica --home /percorso/custom/home (da adattare con il percorso effettivo), che permette di impostare la HOME del container in un percorso personalizzato, separato da quella dell'utente host.
Può tornare utile in alcuni casi, come quando si desidera mantenere separate le impostazioni di un programma installato sia nell'host sia nel container.
Altri consigli utili sono presenti in questa pagina.

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 immagini di contenitori. Altri sono disponibili seguendo i link di questa pagina.
In sostanza, per un contenitore Ubuntu abbiamo le seguenti scelte:

Ubuntu

Immagini (Toolbox)

Ubuntu

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 e basato su un'immagine docker ubuntu:25.04, digitare nel 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 macchina virtuale 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è, aggiungendo --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:~$
  • Per entrare 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:~$ 

    Si noti che ci si trova all'interno del contenitore poiché il testo alla sinistra del simbolo $ è cambiato diventando: NOME_USER@NOME_CONTENITORE.

  • Per visualizzare la versione, al fine di 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
  • Sarà possibile 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

    Qualora il pacchetto language-pack-it-base non venisse 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 quindi modificare un file di configurazione. A tal fine si può usare l'editor di testo nano già installato; tuttavia, per una maggiore facilità d'uso, di seguito sarà usato l'editor 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

    In caso di errore con l'ultimo comando, uscire dal contenitore con logout e poi rientrare con distrobox enter Ubuntu2504.

  • È adesso possibile installare una versione più recente di un'applicazione. Ad esempio installando Gimp è presente 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 precedente. Verrà creato un contenitore di una distribuzione rolling con la seguente immagine: ghcr.io/void-linux/void-glibc-full:latest.
Ciò permetterà di utilizzare il sistema in modo completamente diverso da Ubuntu, ossia con gli strumenti tipici della distribuzione Void (shell, set di applicazioni, specifici comandi, formato e gestore di pacchetti, repository ecc.).

  • Di seguito la sequenza di ordini nel 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:~$
  • Per entrare 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:~$

    Si noti che ci si trova all'interno del contenitore poiché il testo alla sinistra del simbolo $ è cambiato diventando: NOME_USER@NOME_CONTENITORE.

  • Per visualizzare la versione, al fine di confermare che si è 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 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    

    Il vantaggio di una distribuzione "rolling" è che il software sarà sempre disponibile nella sua versione più recente.

  • Per l'installazione grafica di Gimp:

    • Da riga di comando:

      sudo xbps-install -S gimp
    • Tramite un gestore di pacchetti
      1. Installare un gestore di pacchetti con interfaccia grafica:

        sudo xbps-install -S octoxbps
      2. Avviare il gestore di pacchetti e procedere con l'installazione:

        octoxbps
        Verrà visualizzato il gestore di pacchetti grafico:


  • Creare i lanciatori sul desktop host:

    distrobox-export --app gimp
    distrobox-export --app octoxbps

Interfaccia grafica

Distrobox può essere utilizzato tramite un'interfaccia grafica con l'applicazione BoxBuddy.
Per maggiori informazioni consultare la pagina del progetto.

Ulteriori risorse


CategoryNuoviDocumenti