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

m
nessun oggetto della modifica
(Creata pagina con '{{Versioni compatibili}} __TOC__ == Introduzione == Durante la lunga vita di una Debian box può capitare a volte di trovarsi nell'impossibilità di avviare correttamente il sist...')
 
mNessun oggetto della modifica
 
(15 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 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.


== Avvio immagine .iso di Debian ==
== 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" e 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).
# 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).
# Nel momento in cui appare la schermata "Avviare il modo ripristino", arrestarsi e premere <code>Alt+F2</code> seguito da [Invio].


Nel momento in cui appare la schermata "Avviare il modo ripristino", arrestarsi e premere <code>Alt+F2</code> seguito da [Invio].<br/>
Ora abbiamo ottenuto la tanto agognata shell attraverso cui accedere al sistema che, in questo caso, sarà la leggerissima [[ash]] tramite [[Busybox]], perfettamente funzionale ai nostri scopi.
Ora abbiamo la tanto agognata shell attraverso cui accedere al sistema.


== Accesso tramite chroot ==
== Accesso tramite chroot ==
La shell fornita dall'installer Debian è la leggerissima [[ash]] tramite [[Busybox]], perfettamente funzionale ai nostri scopi.


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>
Possiamo adesso effettuare tutte le operazioni necessarie al ripristino del sistema Debian danneggiato.<br/>
 
Per uscire da <code>chroot</code> basta un semplice:
== Chroot su LVM ==
Nel caso utilizzassimo un [[LVM: Logical Volume Manager|LVM]] i passi da compiere sono quasi gli stessi.<br/>
Iniziamo a creare un punto di mount:
<pre>
# mkdir /media/mychroot
</pre>
 
Cerchiamo tutti i gruppi di volumi, e poi ne attiviamo tutti i volumi logici:
<pre>
# vgscan
# vgchange -ay
</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:
<pre>
# mount /dev/debian/root /media/mychroot
</pre>
Montiamo come prima alcune directory necessarie:
<pre>
# mount --rbind /dev /media/mychroot/dev
# mount --rbind /sys /media/mychroot/sys
# mount --rbind /proc /media/mychroot/proc
</pre>
E infine il <code>chroot</code> :
<pre>
# chroot /media/mychroot /bin/bash --login
</pre>
 
== 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/>
Per uscire da <code>chroot</code> digitare:
<pre># exit</pre>
<pre># exit</pre>
:[[Utente:S3v|S3v]]
e, se si sta utilizzando il Rescue Mode dell'installer Debian, premere Alt+F1 per ritornare al menù.
 
{{Autori
| 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