Toolbx

Toolbx non è un errore di battitura; consulta la pagina delhttps://containertoolbx.org[ progetto.

I Fedora Atomic Desktop sono un’eccellente piattaforma per lo sviluppo basato su container e, per lavorare con i container, si raccomanda l’uso di https://buildah.io(buildah e [https://podman.io(podman.

I Fedora Atomic Desktops includono anche l’utility toolbx,https://github.com/containers/toolbox[ che utilizza i container per fornire un ambiente in cui è possibile installare e utilizzare strumenti di sviluppo e librerie.

Perché usare toolbx?

Toolbx facilita l’utilizzo di ambienti containerizzati per lo sviluppo e il debug quotidiano del software. Sui sistemi operativi che utilizzano file system root in sola lettura, come i Fedora Atomic Desktops,https://fedoraproject.org/atomic-desktops[ esso fornisce un ambiente familiare basato sui pacchetti in cui strumenti e librerie possono essere installati e utilizzati liberamente. Tuttavia, Toolbx può essere impiegato anche su sistemi basati su pacchetti tradizionali.

L’utilizzo di Toolbx per eseguire i tuoi flussi di lavoro in modo containerizzato offre diversi vantaggi:

  • Mantiene il sistema operativo host pulito e stabile, aiutando a evitare il disordine che può crearsi dopo l’installazione di numerosi strumenti di sviluppo e pacchetti.

  • Ottieni l’accesso a diverse versioni delle distribuzioni supportate, indipendentemente dalla versione che stai utilizzando.

  • I container sono un ottimo modo per isolare e organizzare le dipendenze necessarie per diversi progetti.

  • I container sono uno spazio sicuro in cui sperimentare: se qualcosa va storto, è facile eliminare un toolbox e ricominciare da capo.

Tuttavia, è molto importante notare che i container toolbx sono comunque integrati con il sistema ospitante; pertanto, non dovresti provare a compiere operazioni o eseguire software che non utilizzeresti normalmente sul tuo sistema principale. I container Toolbx non sono ambienti completamente isolati come le macchine virtuali.

Come funziona

Toolbx semplifica l’utilizzo dei container mettendo a disposizione un ristretto numero di comandi semplici per creare, accedere, elencare e rimuovere i container stessi. Inoltre, integra i container toolbx nel tuo normale ambiente di lavoro, facilitandone l’uso come spazio di sviluppo quotidiano.

I container vengono creati a partire da immagini che, solitamente, sono versioni estremamente ridotte delle distribuzioni. In tali immagini, gli strumenti e la documentazione disponibili sono pressoché inesistenti. Il team dietro Toolbx mantiene un’immagine Fedora in cui questi strumenti e la documentazione sono invece presenti, offrendo così un’ottima esperienza d’uso immediata.

Ogni container toolbx è un ambiente a cui puoi accedere dalla riga di comando. All’interno di ciascuno di essi troverai:

  • Il tuo nome utente e i tuoi permessi esistenti.

  • Accesso alla tua home directory e a diverse altre posizioni.

  • Accesso sia al D-Bus di sistema che di sessione, al journal di sistema e a Kerberos.

  • Strumenti comuni da riga di comando, incluso un gestore di pacchetti (ad esempio, DNF su Fedora).

In altre parole, i container Toolbx hanno l’aspetto, la percezione e il comportamento di un ambiente a riga di comando Linux standard. Collegando tutte queste informazioni, i container Toolbx perdono una certa dose di sicurezza ottenuta normalmente con l’uso della tecnologia dei container. Pertanto, non dovresti trattare i container Toolbx come una sandbox in cui eseguire script che non lanceresti mai su nessun altro sistema.

Nella maggior parte dei casi, quando un comando viene eseguito all’interno di un container, viene utilizzato il programma presente nel container stesso. Tuttavia, esistono alcuni casi speciali in cui viene invece utilizzato il programma dell’host (tramite`flatpak-spawn`). Un esempio è il comando toolbox stesso; questo permette di utilizzare toolbx dall’interno dei container toolbox.

Installazione

Desktop Atomici di Fedora

Toolbx è preinstallato sui Fedora Atomic Desktops.

Altre edizioni di Fedora

Toolbx può essere installato su altre edizioni di Fedora (o su qualsiasi versione di Fedora basata su pacchetti) con il seguente comando:

$$sudo dnf install toolbox$$

Il tuo primo toolbox

Una volta installato toolbox, sono necessari due semplici comandi per iniziare:

$ toolbox create

Questo scaricherà un’immagine OCI e creerà un container toolbx a partire da essa. Una volta completata l’operazione, esegui:

$ toolbox enter

Una volta all’interno del toolbox, puoi accedere ai comuni strumenti da riga di comando e installarne di nuovi utilizzando un gestore di pacchetti (ad esempio, DNF su Fedora).

Quando il prompt si trova all’interno di un toolbox, viene preceduto da un diamante: questo indica che il prompt è all’interno di un container toolbx. Il simbolo del diamante potrebbe non essere presente se utilizzi un tema della shell personalizzato.

Comandi e utilizzo

toolbox create [opzioni] <nome>

Crea un container toolbx. Se non è disponibile, verrà scaricata un’immagine OCI (necessaria per la creazione del container). Per impostazione predefinita, viene utilizzata un’immagine corrispondente alla versione dell’host. Se il sistema host non dispone di un’immagine corrispondente, viene utilizzata invece un’immagine Fedora.

Se utilizzato senza opzioni,toolbox create assegnerà automaticamente un nome al container creato. Per creare toolbox aggiuntivi, utilizza l’argomento`<name>`.

Per utilizzare una versione specifica del sistema host (ad esempio Fedora 43 su Fedora 44), utilizza l’opzione`--release <release> | -r <release>`.

Per utilizzare una distribuzione differente per creare un container toolbx (ad esempio RHEL su Fedora), utilizza l’opzion`--distro <distro> | -d <distro>`.

Per utilizzare un’immagine differente, utilizza l’opzione`--image <name> | -i <name>`.

toolbox enter [opzioni] <nome>

Accede a un toolbox per l’uso interattivo. Utilizzato senza opzioni, `toolbox enter`apre il toolbox predefinito.

Per accedere a un toolbox con un nome specifico, utilizza l’argomento name.

Per accedere a un toolbox di una distribuzione differente (ad esempio, Fedora su RHEL), utilizza l’opzione`--distro <distro> |-d <distro>`.

Per accedere a un toolbox con una versione specifica (ad esempio, RHEL 9.6 su RHEL 10.0), utilizza l’opzione`--release <release> | -r <release>`.

toolbox run [opzioni] <comando> <argomento …​>

Esegue un comando in un toolbox senza entrarvi. Se usato senza opzioni, `toolbox run`esegue il comando nel toolbox predefinito.

Per eseguire un comando in un toolbox con un nome specifico, usa l’opzione`--container <name> | -c <name>` | -c <nome>.

Per eseguire un comando in un toolbox per una distribuzione diversa (ad es. Fedora su RHEL), usa l’opzione --distro <distro> |-d <distro>.

Per eseguire un comando in un toolbox con una versione specifica (ad es. RHEL 9.6 su RHEL 10.0), usa l’opzione`--release <release> | -r <release>`.

toolbox list [opzioni]

Elenca le immagini e i container locali di toolbx.

Per visualizzare solo i container, usa l’opzione`--containers | -c`.

Per mostrare solo le immagini, usa l’opzione`--images | -i`.

toolbox rm [opzioni] <nome …​>

Rimuove uno o più container toolbx.

L’opzione `--force | -f`rimuove i container selezionati anche se sono in esecuzione.

L’opzione --all | -a rimuove tutti i container toolbx.

toolbox rmi [opzioni] <nome …​>

Rimuove una o più immagini toolbx.

L’opzione`--force | -f` rimuove le immagini selezionate e tutti i container che sono stati creati utilizzando tali immagini.

L’opzione`--all | -a` rimuove tutte le immagini toolbx.

toolbox --help

Mostra la pagina manuale di Toolbx.

Uscita da un toolbox

Per tornare all’ambiente host, esegui `exit`oppure chiudi la shell corrente (solitamente Ctrl+D).

Dietro le quinte

Toolbx utilizza le seguenti tecnologie:

Contatti e problemi

Per segnalare problemi, fornire suggerimenti o contribuire con delle correzioni, consulta il progetto GitHub dihttps://github.com/containers/toolbox[ toolbx.

Per metterti in contatto con gli utenti e gli sviluppatori di toolbx, usa Fedora Discussion o unisciti alla stanza https://discussion.fedoraproject.org/tag/toolbx[https://matrix.to/#/#toolbx:matrix.org[Matrix di Toolbx.