chroot – easy way

Fare il chroot su un sistema linux può risolvere un bel numero di problemi.

Di solito si usa per accedere al disco di un sistema che non ne vuole sapere di avviarsi correttamente e sul quale quindi non si riesce ad accedere.

La soluzione consiste nell’avviare un altra distro Linux che abbia la possibilità di montare il disco del sistema problematico, questa può essere una live o un altro PC al quale si collega fisicamente il disco (anche via adattatore USB).

Le operazioni da fare sono semplici e vanno fatte da ROOT (o con sudo davanti).

Inanzi tutto si deve montare il sistema “rotto” ,supponiamo che il device sia /dev/sdb1 e lo si vuole montare in /mnt/rotto (creare la cartella di destinazione se non esiste)

 mount /dev/sdb1/ /mnt/rotto

fatto questo si può navigare il contenuto del sistema ma le modifiche che si possono fare spesso non sono sufficienti a risolvere i problemi. Un problema tipico e’ un errore dovuto ad un aggiornamento andato male… per risolverlo ci si deve “loggare” sul sistema e per farlo ci si deve montare altre due partizioni per far conoscere al sistema “rotto” l’infrastruttura che lo ospita. Le cartelle interessate sono “dev” e “proc”

mount -o bind /dev /mnt/rotto/dev

l’opzione bind di mount e’ un po’ come duplica… almeno credo :). Manca ora “proc” da montare.

mount -t proc none /mnt/rotto/proc

Fatto questo e’ ora possibile accedere al file-system del sistema “rotto” e usarlo come se ci si fosse loggati normalmente… o quasi dai.

chroot /mnt/rotto

ecco,siamo DENTRO! Ed una volta dentro anche un semplice “apt update && apt upgrade” potrebbe salvare il sistema “rotto” 🙂

per uscire dal chroot basta un semplice

exit

e si torna al sistema precedente, ricordarsi di smontare tutto e via.