Recovery di un sistema Debian attraverso chroot: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
mNessun oggetto della modifica
 
(11 versioni intermedie di 2 utenti non mostrate)
Riga 11: Riga 11:
* Da una installazione funzionante presente su altra partizione o altro disco della macchina;
* Da una installazione funzionante presente su altra partizione o altro disco della macchina;
* Da una distribuzione live;
* Da una distribuzione live;
* Dall'immagine d'[[Installare Debian|installazione]] di Debian;
* Da una qualsiasi immagine d'[[Installare Debian|installazione]] di Debian;


In questa guida si è scelto di utilizzare una immagine .iso di Debian, in particolare la "business card", che consente, scaricando appena una quarantina di megabyte, di avere a disposizione la famosa shell di cui abbiamo bisogno.<br/>
In questa guida si è scelto di utilizzare una immagine .iso di Debian, in particolare la "mini.iso" della [[netboot]] che consente, scaricando pochi megabyte, di avere a disposizione la famosa shell di cui abbiamo bisogno.<br/>
Ovviamente gli altri due metodi sono altrettanto validi se si ha a disposizione un'altra distribuzione accessibile sul sistema o se si vuole avere a disposizione un intero ambiente grafico in cui muoversi con più agio. Per entrambi i metodi i comandi da impartire, da terminale o da emulatore di terminale, sono quelli descritti nel paragrafo [[#Accesso tramite chroot|Accesso tramite chroot]]<br/>
Ovviamente gli altri due metodi sono altrettanto validi se si ha a disposizione un'altra distribuzione accessibile sul sistema o se si vuole avere a disposizione un intero ambiente grafico in cui muoversi con più agio. Per entrambi i metodi i comandi da impartire, da terminale o da emulatore di terminale, sono quelli descritti nel paragrafo [[#Accesso tramite chroot|Accesso tramite chroot]]<br/>
È inutile però precisare che gli orpelli grafici sono in questo caso del tutto superflui in quanto l'unica cosa di cui si ha bisogno è una shell funzionante.
È inutile però precisare che gli orpelli grafici sono in questo caso del tutto superflui in quanto l'unica cosa di cui si ha bisogno è una shell funzionante.


== Ottenere una shell ==
== Ottenere una shell ==
Per evitare possibili problemi, è necessario innanzitutto scaricare l'immagine "business card" per la <u>stessa architettura</u> (amd64, i386, etc.) del sistema a cui vogliamo accedere; quindi avviare il sistema da CD/DVD o da pendrive su cui ci si è premuniti di inserire la .iso d'installazione Debian.<br/>
Per evitare possibili problemi, è necessario innanzitutto scaricare l'immagine per la <u>stessa architettura</u> (amd64, i386, etc.) del sistema a cui vogliamo accedere; quindi avviare il sistema da CD/DVD o da pendrive su cui ci si è premuniti di inserire la .iso d'installazione Debian.<br/>
# Scegliere all'avvio "Advanced options -> Rescue mode"
# Scegliere all'avvio "Advanced options -> Rescue mode"
# Proseguire normalmente scegliendo la localizzazione (utile per il layout della tastiera italiana), il [[mirror]] dei pacchetti e settando la configurazione di rete (anche questa utile se si ha bisogno di una connessione funzionante).
# Proseguire normalmente scegliendo la localizzazione (utile per il layout della tastiera italiana), il [[mirror]] dei pacchetti e settando la configurazione di rete (anche questa utile se si ha bisogno di una connessione funzionante).
Riga 27: Riga 27:
== Accesso tramite chroot ==
== Accesso tramite chroot ==


Iniziamo a creare un punto di mount in cui montare la partizione di root:
Iniziamo a creare un punto di mount in cui montare la partizione di [[root /|root]]:
<pre>
<pre>
# mkdir /media/mychroot
# mkdir /media/mychroot
Riga 47: Riga 47:
Prima di far questo, servirà montare alcune directory necessarie al funzionamento dei comandi impartiti nella nuova root directory:
Prima di far questo, servirà montare alcune directory necessarie al funzionamento dei comandi impartiti nella nuova root directory:
<pre>
<pre>
# mount -o bind /dev /media/mychroot/dev
# mount --rbind /dev /media/mychroot/dev
# mount -o bind /proc /media/mychroot/proc
# mount --rbind /sys /media/mychroot/sys
# mount -o bind /sys /media/mychroot/sys
# mount --rbind /proc /media/mychroot/proc
# mount -o bind /dev/pts /media/mychroot/dev/pts
</pre>
</pre>
Adesso, se non sono comparsi errori, è tutto pronto per entrare nella nuova root directory attraverso <code>chroot</code>:
Adesso, se non sono comparsi errori, è tutto pronto per entrare nella nuova root directory attraverso <code>chroot</code>:
<pre>
<pre>
# chroot /media/mychroot /bin/bash --rcfile /root/.bashrc
# chroot /media/mychroot /bin/bash --login
</pre>
</pre>


Riga 63: Riga 62:
# mkdir /media/mychroot
# mkdir /media/mychroot
</pre>
</pre>
Quindi individuiamo il volume logico associato al filesystem di [[root]] (in questo esempio il VG si chiama "debian") con il comando "lvdisplay":
 
Cerchiamo tutti i gruppi di volumi, e poi ne attiviamo tutti i volumi logici:
<pre>
<pre>
# lvdisplay | more
# vgscan
--- Logical volume ---
# vgchange -ay
LV Path        /dev/debian/root
LV Name        root
VG Name        debian
...
...
</pre>
</pre>
Questa parte può essere effettuata in automatico dal sistema, non è sempre strettamente necessaria. Può esserlo però per esempio se i volumi logici sono contenuti in una partizione criptata: in tal caso sarebbe necessario prima sbloccare la partizione e poi attivare manualmente i volumi logici come mostrato.
Quindi individuiamo il volume logico associato al filesystem di [[root /|root]] (in questo esempio il VG si chiama "debian") con il comando "lvdisplay":
# lvdisplay | more
--- Logical volume ---
LV Path        /dev/debian/root
LV Name        root
'''VG Name        debian'''
...
...
Montiamo il volume logico di root:
Montiamo il volume logico di root:
<pre>
<pre>
Riga 79: Riga 86:
Montiamo come prima alcune directory necessarie:
Montiamo come prima alcune directory necessarie:
<pre>
<pre>
# mount -o bind /dev /media/mychroot/dev
# mount --rbind /dev /media/mychroot/dev
# mount -o bind /proc /media/mychroot/proc
# mount --rbind /sys /media/mychroot/sys
# mount -o bind /sys /media/mychroot/sys
# mount --rbind /proc /media/mychroot/proc
# mount -o bind /dev/pts /media/mychroot/dev/pts
</pre>
</pre>
E infine il <code>chroot</code> :
E infine il <code>chroot</code> :
<pre>
<pre>
# chroot /media/mychroot
# chroot /media/mychroot /bin/bash --login
</pre>
</pre>


== Conclusioni ==
== Conclusioni ==
Adesso è come se stessimo operando all'interno della Debian box ed è possibile effettuare tutte le operazioni necessarie al ripristino del sistema Debian danneggiato.<br/>
Adesso è come se stessimo operando all'interno della Debian box ed è possibile effettuare tutte le operazioni necessarie al ripristino del sistema Debian danneggiato.<br/>
Per uscire da <code>chroot</code> :
Per uscire da <code>chroot</code> digitare:
<pre># exit</pre>
<pre># exit</pre>
e, se si sta utilizzando il Rescue Mode dell'installer Debian, Alt+F1 per ritornare al menù.
e, se si sta utilizzando il Rescue Mode dell'installer Debian, premere Alt+F1 per ritornare al menù.


{{Autori
{{Autori
|Autore=[[Utente:S3v|S3v]]
| Autore = [[Utente:S3v|S3v]] 17:16, 12 set 2011 (CEST)
|Verificata_da=
:[[Utente:HAL 9000|HAL 9000]] 15:59, 26 mag 2015 (CEST)
|Numero_revisori=1
}}
}}


[[Categoria: Shell]]
[[Categoria: Shell]]
3 581

contributi