GNU/Linux >> Linux Esercitazione >  >> Fedora

Guida introduttiva a Toolbox su Fedora Silverblue

In questa guida, discuteremo cos'è Toolbox e come creare e gestire un ambiente di sviluppo containerizzato utilizzando Toolbox su Fedora Linux.

Introduzione

Negli ultimi anni, la virtualizzazione dei container Linux ha guadagnato molto slancio. In effetti, la nuova generazione di virtualizzazione è la containerizzazione.

Al giorno d'oggi, gli sviluppatori di applicazioni utilizzano principalmente i container come ambiente di sviluppo preferito. Esistono molti strumenti per creare e gestire i container Linux. Uomo Pod , Docker , Vagabondo sono alcune popolari applicazioni di gestione dei container.

Oggi parleremo di un'altra utility chiamata Toolbox che semplifica l'utilizzo di un ambiente containerizzato per lo sviluppo di software quotidiano.

Cos'è Toolbox?

Toolbox è uno strumento interno di Fedora per creare un ambiente a riga di comando containerizzato in cima al tuo sistema di base Fedora.

È particolarmente utile per configurare un ambiente di sviluppo software use and throw in cui è possibile installare e utilizzare strumenti di sviluppo e librerie.

Toolbox è sviluppato specificamente per OSTree sistemi basati come Fedora Core OS e Fedora Silverblue . Come forse già saprai, i sistemi basati su OSTree sono immutabili.

Toolbox si basa sulle immagini del contenitore OCI e su Podman. Non richiede alcun root privilegi per distribuire i container. La cosa buona è che l'installazione e l'utilizzo di Toolbox è molto facile da usare e facile da ricordare!

Perché Toolbox?

L'obiettivo effettivo del sistema operativo immutabile è scoraggiare l'installazione di software sul sistema host e incoraggiare gli utenti a installare il software in contenitori.

A differenza dei sistemi basati su OSTree, i container sono completamente mutabili. Così puoi installare i tuoi strumenti di sviluppo e debug, editor e SDK preferiti all'interno dei container. Niente viene installato sul sistema host.

Per dirla in parole povere, possiamo distribuire un contenitore mutabile su un sistema operativo host immutabile con l'aiuto di Toolbox.

Come funziona Toolbox?

Per impostazione predefinita, Toolbox crea i contenitori in base al sistema corrente. Ad esempio, se il tuo sistema di base è Fedora 35, toolbox creerà un contenitore basato su Fedora 35. In questo contenitore, puoi usare gestori di pacchetti come yum o dnf per installare le tue applicazioni preferite. Puoi anche creare contenitori basati su altre versioni di Fedora.

Puoi avviare più di un container alla volta e iniziare a lavorare su diversi progetti contemporaneamente. Una volta che hai finito con il contenitore, eliminalo semplicemente e creane uno nuovo ogni volta che vuoi. Ancora una volta, il sistema host non viene influenzato in alcun modo. In questo modo possiamo mantenere un sistema operativo host pulito. Ciò eviterà anche drasticamente il disordine e ridurrà il processo di reinstallazione del sistema operativo host.

Installa Toolbox su Fedora

Toolbox viene preinstallato con Fedora Silverblue 30 e versioni successive. Sulla workstation Fedora, puoi installarla usando dnf o yum gestori di pacchetti:

$ sudo dnf install toolbox

Oppure,

$ sudo yum install toolbox

Guida introduttiva a Toolbox su Fedora Silverblue

Toolbox fornisce un numero limitato di comandi per creare, elencare, inserire e rimuovere contenitori.

1. Visualizza la guida della casella degli strumenti

Se non conosci Toolbox, è meglio visualizzare la sezione della guida di Toolbox per dare un'occhiata a ciò che fa ogni comando. Per visualizzare la guida di Toolbox, utilizzare uno dei seguenti comandi:

$ toolbox --help
$ toolbox help
$ toolbox -h

Ora iniziamo con la creazione di nuovi contenitori.

2. Crea un nuovo contenitore

Per creare un nuovo contenitore basato sulla versione corrente del tuo sistema operativo Fedora, esegui semplicemente:

$ toolbox create

Questo comando cercherà l'immagine di base da utilizzare per creare il contenitore dal tuo sistema locale. Se non viene trovata alcuna immagine locale, ti verrà chiesto di scaricare la rispettiva immagine. Digita y e il tasto INVIO per scaricare l'immagine.

Risultato di esempio:

Image required to create toolbox container.
Download registry.fedoraproject.org/fedora-toolbox:33 (500MB)? [y/N]: y
Created container: fedora-toolbox-33
Enter with: toolbox enter

Toolbox scaricherà un'immagine corrispondente alla versione del sistema operativo del tuo attuale sistema host dal registro Fedora e creerà un nuovo contenitore basato sull'immagine scaricata. Le immagini sono generalmente versioni ridotte delle distribuzioni effettive.

2.1. Crea contenitori con nome personalizzato

La casella degli strumenti assegnerà automaticamente un nome univoco (ad esempio, fedora-toolbox-33 ) al contenitore appena creato.

Se vuoi creare un contenitore con un nome personalizzato a tua scelta, usa il --container , -c flag seguito dal nome del contenitore come di seguito:

$ toolbox create --container mytoolbox-f33

O a breve:

$ toolbox create -c mytoolbox-f33

Qui, mytoolbox-f33 è il nome del contenitore.

3. Crea un nuovo contenitore basato su una versione del sistema operativo specifica

Come ho già detto, Toolbox crea contenitori basati sulla versione attuale del sistema operativo. Ad esempio, se stai utilizzando Fedora 34, Toolbox creerà un contenitore basato sull'immagine di Fedora 34.

Tuttavia, puoi creare contenitori basati anche su altre versioni. Ho creato un contenitore Fedora 32 sulla mia edizione Fedora 33 silverblue usando il seguente comando:

$ toolbox create --release f32

O a breve,

$ toolbox create -r f32

4. Elenca i contenitori

Per elencare tutti i container disponibili localmente sul tuo sistema, esegui:

$ toolbox list

Risultato di esempio:

IMAGE ID      IMAGE NAME                                        CREATED
9659c2039e64  registry.fedoraproject.org/f32/fedora-toolbox:32  4 months ago
675192cc4238  registry.fedoraproject.org/fedora-toolbox:33      4 weeks ago

CONTAINER ID  CONTAINER NAME     CREATED         STATUS      IMAGE NAME
2cfb48d6a6c5  fedora-toolbox-32  4 months ago    exited      registry.fedoraproject.org/f32/fedora-toolbox:32
1f709997b871  fedora-toolbox-33  27 minutes ago  configured  registry.fedoraproject.org/fedora-toolbox:33

Come puoi vedere nell'output sopra, ho due contenitori vale a dire fedora-toolbox-32 e fedora-toolbox-33 sul mio sistema.

La sezione superiore dell'output mostra i dettagli delle immagini di base utilizzate per creare i contenitori, come ID immagine, nome dell'immagine e quando tali immagini sono state create. Nella parte inferiore, vedrai i dettagli dei contenitori come ID contenitore, nome contenitore, quando il contenitore è stato creato e lo stato del contenitore.

Puoi anche visualizzare i dettagli del contenitore o i dettagli dell'immagine separatamente. Per elencare solo i dettagli del contenitore, usa --containers , -c opzione:

$ toolbox list --containers
 CONTAINER ID  CONTAINER NAME     CREATED       STATUS   IMAGE NAME
 2cfb48d6a6c5  fedora-toolbox-32  4 months ago  running  registry.fedoraproject.org/f32/fedora-toolbox:32
 1f709997b871  fedora-toolbox-33  21 hours ago  running  registry.fedoraproject.org/fedora-toolbox:33

Per elencare solo le immagini, usa --images , -i bandiera:

$ toolbox list --images
 IMAGE ID      IMAGE NAME                                        CREATED
 9659c2039e64  registry.fedoraproject.org/f32/fedora-toolbox:32  4 months ago
 675192cc4238  registry.fedoraproject.org/fedora-toolbox:33      4 weeks ago

Tieni presente che il nome dei contenitori e i nomi delle immagini sembreranno quasi uguali tranne l'ultima parte del loro nome.

Il nome del contenitore di solito ha trattino (-) prima dell'ultima parte del suo nome (ad esempio, fedora-toolbox-33 ) e il nome dell'immagine ha due punti (:) (ad esempio, fedora-toolbox:33 ).

5. Entra nei contenitori

Abbiamo già creato i contenitori ma non li abbiamo inseriti. Quindi entriamo in un contenitore usando il comando:

$ toolbox enter

Una volta entrato nel contenitore, il prompt della shell viene preceduto da un diamante simbolo come mostrato nel seguente output:

⬢[[email protected] ~]$ 

Hai notato il simbolo del diamante all'estrema sinistra del prompt? Significa che sei all'interno del container.

Containers si integra perfettamente con il tuo attuale sistema operativo. All'interno di ogni contenitore troverai il tuo nome utente e le autorizzazioni esistenti.

Puoi accedere alla tua home directory ea molte altre posizioni come fai dal tuo sistema host. Puoi anche accedere sia al sistema che alla sessione D-Bus, al diario di sistema e a Kerberos ecc.

Ogni contenitore contiene strumenti comuni da riga di comando, incluso un gestore di pacchetti (ad esempio, DNF su Fedora). Quindi, puoi installare e testare qualsiasi software all'interno del contenitore.

Ad esempio, il comando seguente installa tutti gli strumenti di sviluppo necessari:

$ sudo yum groupinstall "Development Tools"

5.1. Entra in un contenitore specifico

Quando esegui toolbox enter comando senza alcuna opzione, apre il contenitore della casella degli strumenti predefinito. Il contenitore predefinito è quello basato sul sistema operativo host.

Se vuoi aprire un contenitore diverso, menziona esplicitamente il suo nome come di seguito:

$ toolbox enter -c fedora-toolbox-32

Qui, -c è usato per fare riferimento al nome del contenitore e a fedora-toolbox-32 è il nome del contenitore.

6. Esci dalla casella degli strumenti

Una volta che hai finito con il contenitore, digita semplicemente exit per disconnettersi dal contenitore.

$ exit

7. Esegui i comandi nei contenitori senza accedervi

Una caratteristica notevole di Toolbox è che puoi eseguire comandi su un contenitore senza accedervi. Il comando seguente mostra la versione di distribuzione del contenitore predefinito dal sistema host:

$ toolbox run cat /etc/redhat-release
Fedora release 33 (Thirty Three)

Quando esegui toolbox run comando senza alcuna opzione, eseguirà i comandi sul contenitore predefinito. Puoi anche eseguire comandi su altri contenitori specificandone il nome con --container , -c bandiera:

$ toolbox run -c fedora-toolbox-32 cat /etc/redhat-release
Fedora release 32 (Thirty Two)

8. Smetti di eseguire i container

Dopo che esci dal contenitore, continuerà a funzionare fino a quando non lo fermerai. Non esiste un comando diretto della casella degli strumenti per arrestare un contenitore in esecuzione. Tuttavia, possiamo usare podman comando per interrompere i contenitori della casella degli strumenti:

$ podman container stop fedora-toolbox-33

Ricorda che Toolbox usa podman sotto il cofano.

9. Rimuovi i contenitori e le immagini della casella degli strumenti

Se non vuoi un contenitore o la sua immagine di base, puoi semplicemente sbarazzartene come di seguito.

Prima di eliminare un contenitore, assicurati di essere uscito da quel contenitore.

Per rimuovere un contenitore, esegui:

$ toolbox rm fedora-toolbox-32

Il comando precedente rimuove il contenitore denominato fedora-toolbox-32 .

Per rimuovere forzatamente un container anche se è in esecuzione, usa --force , -f bandiera:

$ toolbox rm -f fedora-toolbox-32

Per rimuovere tutti i contenitori, usa --all , -a bandiera:

$ toolbox rm --all

Verifica se il contenitore è stato eliminato elencando i contenitori disponibili:

$ toolbox list

Allo stesso modo, puoi rimuovere le immagini della casella degli strumenti utilizzando toolbox rmi comando come di seguito:

$ toolbox rmi fedora-toolbox:32

Si prega di notare il i nel comando sopra. Il rm comando rimuove i contenitori mentre rmi comando rimuove le immagini. Inoltre, non dimenticare di menzionare il nome corretto dell'immagine da rimuovere.

Per rimuovere tutte le immagini, usa --all , -a bandiera:

$ toolbox rmi --all

Utilizza podman per gestire i contenitori e le immagini della casella degli strumenti

Poiché Toolbox è solo il wrapper per podman, puoi utilizzare direttamente i comandi podman per gestire i container.

Per elencare i contenitori di toolbox usando il comando podman, esegui:

$ podman ps -a

Per elencare le immagini della casella degli strumenti con podman, esegui:

$ podman images

Per avviare un container:

$ podman start fedora-toolbox-33

Per visualizzare le statistiche sull'utilizzo delle risorse in tempo reale di tutti i container in esecuzione:

$ podman stats

Per fermare un container:

$ podman stop fedora-toolbox-33

Ispeziona i contenitori:

$ podman inspect fedora-toolbox-33

Rimuovere il contenitore:

$ podman rm <container-name>

Rimuovi immagine:

$ podman rmi <image-name>

Sono disponibili molti comandi Podman. Puoi visualizzare tutti i comandi e le opzioni generali disponibili dalla sezione della guida di podman:

$ podman --help

Conclusione

I contenitori non sono solo per scopi sperimentali e di apprendimento, sono anche ideali per ambienti di sviluppo isolati in cui puoi lavorare su diversi progetti su diverse versioni del sistema operativo. Toolbox rende la gestione dei container molto più semplice e migliore!


Fedora
  1. Iniziare con Zsh

  2. Iniziare con ls

  3. Iniziare con Samba per l'interoperabilità

  4. Iniziare con PostgreSQL su Linux

  5. Come iniziare con Juju?

Iniziare con Nix Package Manager

Introduzione a Docker Compose in Linux

Iniziare con systemctl

Iniziare con cPanel

Iniziare con SiteApps

Guida introduttiva a cPanel/WHM