Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "rafbor/Prova2"
Differenze tra le versioni 12 e 13
Versione 12 del 11/05/2025 10.00.20
Dimensione: 16945
Commento:
Versione 13 del 20/05/2025 15.28.50
Dimensione: 1457
Autore: rafbor
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 4: Linea 4:
<<Include(NuoviStrumentiWiki/PaginaDiProva)>>
<<Indice>>
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=658138"; rilasci="22.04 24.04")>>

= Introduzione =

'''Distrobox''' è un [[https://en.wikipedia.org/wiki/Wrapper_function|wrapper]] per '''Docker''', '''Lilipod''' e '''Podman''' (di default usa quest'ultimo, che consente utilizzo di contenitori come utente non root).<<BR>>
Attraverso l'utilizzo di [[https://en.wikipedia.org/wiki/Containerization_(computing)|container]] non isolati dall'host, questo strumento consente di eseguire più distribuzioni '''GNU/Linux''' sullo stesso sistema in modo semplice ed efficace.<<BR>>
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 ==

[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://distrobox|distrobox]].

'''Distrobox''' è presente nei [[Repository#Repository_ufficiali|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.

{{{#!wiki note
'''Distrobox''' è disponibile per ulteriori rilasci di '''Ubuntu''' nonché in altre versioni tramite '''[[Repository/RigaDiComando#Aggiungere_repository_launchpad|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.''".
}}}

== 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 [[https://wiki.ubuntu-it.org/AmministrazioneSistema/PrivilegiDiAmministrazione|amministratore]].

 * '''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
}}}
 * '''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:

||<: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, 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. ||

||<:55%> '''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 [[https://github.com/89luca89/distrobox/tree/main/docs|documentazione ufficiale]].

{{{#!wiki tip
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.<<BR>>
Può tornare utile in alcuni casi, come quando si desidera mantenere separate le impostazioni di un programma installato sia nell'host sia nel container.<<BR>>
Altri consigli utili sono presenti in [[https://github.com/89luca89/distrobox/blob/main/docs/useful_tips.md|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 [[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]].<<BR>>
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` e 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 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:~$
}}}
 {{{#!wiki note
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 [[Ufficio/EditorDiTesto/Nano|nano]] già installato; tuttavia, per una maggiore facilità d'uso, di seguito sarà usato 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 possibile installare una versione più recente di un'applicazione. Ad esempio installando '''[[Grafica/Gimp|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'''.<<BR>><<BR>>
 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 [[https://it.wikipedia.org/wiki/Rolling_release|rolling]] con la seguente immagine: `ghcr.io/void-linux/void-glibc-full:latest`.<<BR>>
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 [[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:~$
}}}

 * 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:~$
}}}
 {{{#!wiki note
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
}}}
 {{{#!wiki tip
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
    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
}}}
    Verrà visualizzato il gestore di pacchetti grafico:
 <<Immagine(./octoXBPS.jpg,600,center)>><<BR>>

 * 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'''.<<BR>>
Per maggiori informazioni consultare la [[https://github.com/Dvlv/BoxBuddyRS|pagina del progetto]].

= 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
##CategoryVirtualizzazione
||<tablestyle="width:100%; text-align:center;" :-12> '''Editor di Pdf '''||
||<25%> '''Software proprietario'''||{{attachment:Ubuntu.png}}||{{attachment:Linux.gif}}||{{attachment:Windows.png}}||{{attachment:Macosx.png}}||{{attachment:wiki.png}}||<25%> '''Software libero'''||{{attachment:Ubuntu.png}}||{{attachment:Linux.gif}}||{{attachment:Windows.png}}||{{attachment:Macosx.png}}||{{attachment:wiki.png}}||
|| [[https://code-industry.net/free-pdf-editor/|Master PDF Editor]] || (./) || (./) || (./) || (./) || || [[http://www.libreoffice.org/| LO Draw]] || (./) || (./) || (./) || (./) || [[Ufficio/LibreOffice|Wiki]] ||
|| [[http://www.adobe.com/it/products/reader.html|Adobe Acrobat Pro]] || || || (./) || (./) || || [[https://wiki.gnome.org/Apps/PdfMod|PDFMod]] || (./) || (./) || || || ||
|| [[https://www.sejda.com/desktop|Sedja PDF Desktop]] || || (./) || (./) || (./) || || [[http://pdfbooklet.sourceforge.net/|PdfBooklet]] || || (./) || (./) || || ||
|| || || || || || || [[http://sourceforge.net/projects/pdfshuffler/|PDF-Shuffler]] || (./) || (./) || || || ||
|| || || || || || || [[https://github.com/pdfarranger/pdfarranger|PDF Arranger]] || (./) || (./) || (./) || || ||
|| || || || || || || [[http://www.pdfsam.org/|PDFsam]] || (./) || (./) || (./) || (./) || ||
|| || || || || || || [[http://poppler.freedesktop.org/|Poppler Utils]] || (./) || (./) || || || ||