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.