Puoi usare /etc/lsb-release
per quello:
~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.04
DISTRIB_CODENAME=raring
Puoi provare a eseguire il chroot in quel sistema da un altro Linux o LiveCD. Supponiamo che la tua distribuzione morta sia su sda2
. Innanzitutto, monta la partizione:
$ mount /dev/sda2 /mnt
Ora collega le cartelle con binari cruciali per sostituire quelli eventualmente morti. mount -B
monta una directory sopra l'altra sostituendone virtualmente il contenuto, ma senza toccarla fisicamente:
$ mount -B /bin /mnt/bin
$ mount -B /sbin /mnt/sbin
$ mount -B /usr/bin /mnt/usr/bin
Ora chroot
alla vecchia distribuzione. chroot
farà finta che la directory data sia /
(quindi nel nostro caso avremo una shell in esecuzione in una distribuzione offline, che lavora sui suoi file ad eccezione dei binari che abbiamo associato in precedenza)
$ chroot /mnt
Ora qualsiasi comando che emetti funzionerà come se quella partizione fosse la radice del tuo filesystem. lsb_release -a
verrà eseguito dai tuoi binari, ma leggerà dai file della distribuzione morta.
Puoi usare chroot
per tante altre cose. Ad esempio puoi aggiornare Ubuntu senza avviarlo:basta avviare un LiveCD, montare la partizione di Ubuntu, collegare directory cruciali come /proc
ecc. (NON eseguire i binari - questo aggiornerebbe i binari del LiveCD) ed eseguire do-release-upgrade
nella shell chroot.