Debugging con Toolbx
L’immagine di FCOS è mantenuta minima per progettazione, al fine di ridurre la dimensione dell’immagine e la superficie di attacco. Ciò significa che non include tutti gli strumenti di risoluzione dei problemi che un sistema operativo normale potrebbe includere. Invece, l’approccio consigliato è utilizzare i container con l’utilità [toolbox](https://containertoolbx.org/) inclusa nell’immagine.
Cos’è Toolbx?
Toolbox è un’utility che ti permette di creare container privilegiati per il debug e la risoluzione dei problemi della tua istanza. Si tratta di un wrapper attorno a podman, che avvia container a lungo termine con mount e namespace di default per facilitare il debug del sistema host.
Questi container possono quindi essere utilizzati per installare strumenti necessari per la risoluzione dei problemi.
Utilizzare Toolbx
È possibile creare un nuovo toolbox eseguendo il comando seguente. Al primo avvio, ti verrà chiesto se desideri scaricare un’immagine. Rispondi di sì premendo y.
Entra nel contenitore Toolbox chiamato my_toolbox
È quindi possibile elencare tutti i toolbox in esecuzione sull’host. Questo dovrebbe mostrare il toolbox appena creato. In questo caso, il suo nome è my_toolbox.
toolbox list
Come segnalato dall’output del comando toolbox create my_toolbox, è possibile inserire il comando seguente per accedere al toolbox.
Entra nel contenitore Toolbox chiamato my_toolbox
Ora che ti trovi all’interno del container, puoi utilizzare il package manager dnf incluso per installare i pacchetti. Per esempio, installiamo strace per analizzare le syscall di lettura read effettuate dall’utility toolbox dell’host.
sudo dnf install strace
# Some hosts directories are mounted at /run/host
strace -eread /run/host/usr/bin/toolbox list
Una volta terminato il lavoro con il container, puoi uscirne e poi rimuoverlo dall’host con il comando seguente.
toolbox rm --force my_toolbox
| Toolbx allows you to create toolboxes with your custom images. You can find more details in the toolbox manpages. |
Want to help? Learn how to contribute to Fedora Docs ›