Toolbx: Gestisci più contenitori di sviluppo in Fedora
Lo sviluppo moderno su Linux è andato oltre l'approccio tradizionale di installare tutto direttamente sul proprio sistema. Ora hai accesso a strumenti che ti aiutano a creare ambienti di sviluppo isolati senza dover affrontare il sovraccarico delle macchine virtuali complete o la complessità della gestione manuale dei container.
È qui che entra in gioco Fedora Toolbx: uno strumento che rende semplice avviare ambienti di sviluppo containerizzati, mantenendo l'esperienza fluida come lavorare direttamente sul tuo sistema host.
In questa guida, imparerai come configurare e utilizzare Fedora Toolbx per creare ambienti di sviluppo isolati, riproducibili e facili da gestire. Potrai scoprire come Toolbx ti aiuta a lavorare su più progetti con dipendenze contrastanti, mantenendo il tuo sistema di base pulito e organizzato.
La guida ti accompagna attraverso le basi di Toolbx con spiegazioni semplici e pratiche. Innanzitutto impari cos'è Toolbx e perché ne hai bisogno, poi passi all'installazione e alla configurazione sul tuo sistema Fedora. Successivamente, potrai creare il tuo primo contenitore di sviluppo e capire come gestire efficacemente più ambienti.
Le sezioni finali ti mostrano i flussi di lavoro comuni e le migliori pratiche che ti aiutano a ottenere il massimo da Toolbx nel tuo lavoro di sviluppo quotidiano.
Nota: Toolbx è stato originariamente sviluppato per Fedora e funziona meglio sui sistemi basati su Fedora, anche se puoi usarlo anche su altre distribuzioni Linux moderne, ma questa guida si concentra principalmente su Fedora.
Comprendere Toolbx: Cosa Lo Rende Diverso
Prima di iniziare a lavorare con Toolbx, è importante capire cosa fa realmente e perché ne hai bisogno nel tuo flusso di lavoro di sviluppo.
Toolbx crea ambienti containerizzati utilizzando Podman, che è un motore di container simile a Docker ma funziona senza un daemon.
Ciò che rende Toolbx speciale è quanto questi container si integrino strettamente con il sistema host, offrendo un'esperienza di sviluppo senza interruzioni che non risulta limitante come i container tradizionali.
Quando lavori con i contenitori Toolbx, ottieni diversi vantaggi chiave che rendono il tuo lavoro di sviluppo più semplice:
- Accesso senza interruzioni alla directory home – La tua directory home viene montata automaticamente nel contenitore, il che significa che i tuoi file, le configurazioni e le chiavi SSH sono immediatamente disponibili senza alcuna configurazione aggiuntiva.
- Accesso Diretto all'Hardware – Grafica, audio e altri dispositivi funzionano subito senza richiedere configurazioni speciali o procedure di montaggio complicate.
- Integrazione con l'host – Puoi eseguire applicazioni grafiche, accedere alla rete e interagire con il tuo sistema proprio come se stessi lavorando direttamente sul tuo sistema ospite anziché all'interno di un container.
Puoi pensare a Toolbx come a creare una “bolla” protetta intorno ai tuoi strumenti di sviluppo e alle dipendenze. All'interno di questa bolla, puoi installare qualsiasi pacchetto, libreria o strumento di cui hai bisogno per un progetto specifico senza influenzare il tuo sistema principale.
Nelle sezioni seguenti, imparerai come installare Toolbx sul tuo sistema Fedora e iniziare a creare questi ambienti di sviluppo isolati.
Installare Toolbx su Fedora
Su Fedora Workstation (versione 28 e successive), toolbx è preinstallato, e puoi verificarlo eseguendo il seguente comando.
toolbox --version
Se vedi un numero di versione, sei pronto per iniziare; se Toolbx non è installato, puoi aggiungerlo con:
sudo dnf install toolbox
Ecco tutto per l'installazione. Nessun file di configurazione complesso, nessuna configurazione di demone, nessuna dipendenza aggiuntiva di cui preoccuparsi.
Creare il tuo primo contenitore Toolbx
Creare un contenitore Toolbx è un processo semplice che puoi completare con un solo comando, che creerà un contenitore di default basato sulla versione corrente di Fedora.
Se stai usando Fedora 41, per esempio, crea automaticamente un contenitore Fedora 41 per te. La prima volta che esegui questo comando, Toolbx scarica l'immagine del contenitore, operazione che richiede qualche minuto a seconda della velocità della tua connessione internet.
toolbox create
Una volta creato il contenitore, puoi accedervi eseguendo il comando seguente:
toolbox enter
Noterai la piccola icona del contenitore (⬢) che appare nel prompt, che indica che sei all'interno del tuo contenitore Toolbx.
Anche se stai lavorando in un ambiente containerizzato, scoprirai che la tua directory home, i tuoi file e buona parte dell'ambiente del sistema host rimangono facilmente accessibili proprio come accadrebbe sul tuo sistema principale.
Utilizzo di diverse versioni di Fedora
A volte è necessario lavorare con una versione specifica di Fedora, forse i tuoi server di produzione eseguono una release più vecchia, oppure vuoi testare la compatibilità con l'ultima versione prima di aggiornare il tuo sistema principale.
Toolbx lo rende facile con il flag --release o -r:
toolbox create --release 39 fedora39-container
toolbox create --release 41 testing-fedora41
Puoi persino utilizzare container di versioni precedenti di Fedora mentre esegui una versione più recente sul tuo sistema host, offrendoti un modo conveniente per mantenere la compatibilità con ambienti diversi.
Testare il tuo ambiente container
Per verificare che sei effettivamente all'interno del container e vedere come differisce dal tuo sistema host, puoi eseguire alcuni comandi semplici, ad esempio controllare quali pacchetti sono installati.
dnf list installed | wc -l
Puoi anche controllare il nome host del container:
hostname
Per vedere la tua directory di lavoro corrente e verificare che la tua directory home sia accessibile:
pwd
ls -la
Noterai di essere nella tua directory home con tutti i tuoi file e cartelle familiari visibili, anche se sei all'interno di un container.
Installare software all'interno del tuo contenitore
Ora che sei all'interno del contenitore, puoi installare strumenti di sviluppo senza influire sul tuo sistema principale. Ad esempio, se vuoi configurare un ambiente di sviluppo Python:
sudo dnf install python3-pip python3-virtualenv git vim -y
Se esci dal contenitore e controlli il tuo sistema host, questi pacchetti non saranno installati lì, esistono solo all'interno del tuo ambiente Toolbx.
Proviamo un altro esempio con gli strumenti di sviluppo Node.js.
sudo dnf install nodejs npm -y
node --version
npm --version
Questi comandi installano Node.js e npm, quindi verificano l'installazione controllandone le versioni. Ancora una volta, questa installazione è completamente isolata dal sistema principale.
Quando hai finito di lavorare nel tuo container, puoi uscire semplicemente eseguendo:
exit
Creare contenitori nominativi per diversi progetti
Sebbene il contenitore predefinito funzioni bene per il lavoro di sviluppo generale, spesso avrai bisogno di contenitori separati per progetti diversi o scopi specifici. Creare contenitori nominati ti aiuta a organizzare i tuoi ambienti di sviluppo in modo più efficace e a mantenere il tuo lavoro isolato.
Per creare contenitori nominati, esegui il comando toolbox create seguito dal nome che vuoi dare al tuo contenitore:
toolbox create python-dev
toolbox create nodejs-project
toolbox create rust-experiments
Ognuno di questi comandi crea un contenitore distinto con il proprio ambiente isolato. Quando vuoi lavorare su un progetto specifico, entri nel contenitore corrispondente fornendo il suo nome con il comando enter:
toolbox enter python-dev
Questo approccio ti aiuta a mantenere ambienti completamente isolati per diversi tipi di lavoro di sviluppo. Ad esempio, il tuo contenitore Python può eseguire Python 3.12 con tutte le sue dipendenze moderne, mentre il contenitore del tuo progetto legacy potrebbe usare Python 3.8 con librerie più vecchie, e nessuno dei due ambienti interferirà con l'altro o influenzerà in alcun modo il tuo sistema host.
Esecuzione di applicazioni grafiche da Toolbx
Ciò che rende Toolbx veramente speciale è la sua capacità di eseguire applicazioni grafiche senza problemi all'interno dei tuoi container. A differenza dei container tradizionali, che richiedono una configurazione complessa del X11 forwarding.
Toolbx gestisce automaticamente tutta l'integrazione del display, facendo sembrare che tu stia eseguendo le applicazioni direttamente sul tuo sistema host.
Per vedere come funziona nella pratica, installiamo e avviamo un editor di testo grafico come esempio.
toolbox enter
sudo dnf install gedit -y
Una volta completata l'installazione, puoi avviare l'editor.
gedit &
La finestra di gedit si apre sul tuo desktop proprio come se l'avessi avviata dal tuo sistema principale. Puoi creare, modificare e salvare file, e tutto funziona esattamente come ti aspetteresti.
L'ampersand (&) alla fine esegue l'applicazione in background, permettendoti di continuare a usare il terminale mentre l'applicazione grafica rimane aperta.
Gestione di più contenitori Toolbx
Man mano che crei più container per diversi progetti, avrai bisogno di un modo per tenerne traccia e gestirli efficacemente. Toolbx offre diversi comandi che ti aiutano a visualizzare, controllare e organizzare i tuoi ambienti containerizzati.
Elenco dei tuoi contenitori
Per vedere tutti i contenitori che hai creato, esegui il comando lista:
toolbox list
Da questo output, puoi vedere quali container sono attualmente in esecuzione e quali sono usciti.
Verifica dei dettagli del contenitore
Se vuoi informazioni più dettagliate su un contenitore specifico, puoi utilizzare Podman direttamente, poiché i contenitori Toolbx sono contenitori Podman regolari:
podman ps -a
Puoi anche ispezionare un contenitore specifico per vedere la sua configurazione completa:
podman inspect python-dev
Fermare e Avviare i Contenitori in Esecuzione
Quando hai finito di lavorare in un container e vuoi liberare le risorse di sistema, puoi fermarlo esplicitamente.
podman stop python-dev
Puoi verificare che il contenitore si sia fermato eseguendo di nuovo il comando di elenco:
toolbox list
Vedrai che lo stato del contenitore è cambiato da “in esecuzione” a “terminato”.
Se hai un contenitore che è attualmente fermo e vuoi usarlo di nuovo, basta entrare al suo interno, e Toolbx lo avvia automaticamente per te:
toolbox enter python-dev
Rimuovere i contenitori che non ti servono più
Col tempo, potresti accumulare contenitori che non usi più, e questi contenitori occupano spazio sul disco del tuo sistema. Quando sei sicuro di non aver più bisogno di un contenitore, puoi rimuoverlo completamente usando il comando rm:
toolbox rm python-dev
Prima di rimuovere il contenitore, Toolbx ti chiede di confermare l'azione, basta digitare y per confermare, e Toolbx rimuove il contenitore insieme a tutti i pacchetti e le configurazioni che hai installato al suo interno.
Nota Importante: Rimuovere un contenitore elimina tutti i pacchetti, le configurazioni di sistema e qualsiasi dato memorizzato nel filesystem del contenitore, ma i file della tua directory home rimangono completamente al sicuro.
Dopo la rimozione, puoi controllare l'utilizzo del disco di tutti i tuoi container, immagini e volumi con:
podman system df
Se vuoi liberare spazio su disco rimuovendo tutti i container fermati e le immagini inutilizzate, puoi eseguire un comando di pulizia:
podman system prune
Conclusione
Toolbx ti offre un modo potente per gestire gli ambienti di sviluppo sul tuo sistema Fedora senza la complessità delle tradizionali macchine virtuali.
In questa guida, hai imparato come creare contenitori isolati, eseguire applicazioni grafiche e gestire più ambienti di sviluppo mantenendo pulito il tuo sistema di base.
Hai trovato utile questa guida? Condividi la tua esperienza, le tue domande o i tuoi consigli nei commenti qui sotto. Il tuo feedback ci aiuta a migliorare i nostri contenuti e supporta altri lettori nel loro percorso con Toolbx.









