% Bl0ck_qu0te%
L'ho fatto. rm -rf / --no-preserve-root
era in esecuzione in una sessione root aperta direttamente sulla macchina, mentre ero anche connesso tramite ssh
da un'altra macchina, usando anche l'account root.
Ciò che accade è che inizi a ricevere molti di messaggi come:
% Bl0ck_qu0te%
o
% Bl0ck_qu0te%

Sorprendentemente,laconnessionessh
èrimastaapertafinoallafinedell'operazione.Èsoloquandohochiusolaconnessioneehoprovatoariaprirloperchéèapparsounerrore:
%Bl0ck_qu0te%
Sullamacchinarimangonoquattrodirectory:
-
/dev
. Qui sono archiviati i file del dispositivo.
-
/proc
- filesystem in-memory creato dal kernel.
-
/run
, un percorso di file system standardizzato per i demoni.
-
/sys
. Ciò ti consente di ottenere informazioni sul sistema e i suoi componenti.
Ciò significa che non c'è rimasto molto e non c'è molto da fare lì. Non puoi ls
(sebbene quando usi la Tab , i nomi delle directory e dei file siano ancora visualizzati). Puoi cd
in diverse directory e anche echo
stuff, ma comandi come cat
non sono più disponibili.
Neanche sudo
.
shutdown -h now
e reboot
sono scomparsi, quindi l'unica opzione sembra spegnere la macchina manualmente. Il logout ( exit
) non funziona, anche se mostra un bel testo di "disconnessione".
Una volta provato a riavviare la macchina, ti viene presentato un bel errore GRUB 15, quindi non succede nulla, a quel punto potresti iniziare a pensare che il tuo rm
potrebbe aver fatto qualcosa di male al tuo sistema.

Puoifarloanche
No,aspetta,nonfarlosultuocomputer!
Quellochepuoifareinveceèeseguireunamacchinavirtuale.Lemacchinevirtualihannoilvantaggiodirenderelasperimentazionedavverofacile.DatochestaiusandoUbuntu,potrestiessereinteressato vmbuilder . Questo è uno strumento che consente di distribuire macchine virtuali in pochi minuti (la documentazione ufficiale afferma che può essere eseguita "in circa un minuto", ma il tempo effettivo, anche su hardware veloce, è di circa 2-3 minuti .
Una volta terminata la distribuzione, hai un ambiente con cui puoi giocare. Se si finisce per distruggerlo, non importa: si distribuisce nuovamente la macchina e due minuti dopo è possibile continuare.
Se usi software come VMWare, potresti essere interessato anche a istantanee (nota che il VMWare Player gratuito non ha questa caratteristica, devi acquistare VMware Workstation). Nota che Hyper-V è gratuito e supporta le istantanee (ma devi eseguire Windows).
Il vantaggio delle istantanee è che puoi prenderne uno in pochi millisecondi. Il ritorno a uno snapshot richiede più tempo, ma spesso è questione di secondi. Ciò rende la sperimentazione ancora più facile e veloce.
Questa sperimentazione non è limitata al sistema operativo stesso. Puoi fare tutto ciò che riguarda il software. Hai un'applicazione sospetta? Provalo in una VM: se è un virus, non farà alcun danno. Vuoi testare un'operazione su un database, dato che potrebbe influenzare l'ambiente? Provalo in una VM.
Che cosa succede se l'hai fatto su una macchina reale non di prova?
Le cose brutte accadono. Tieni presente che rm
ti protegge da te stesso: rm -rf /
non funzionerà: devi utilizzare --no-preserve-root
. Eppure, cosa succede se hai effettivamente realizzato, per errore, rimuovere tutto?
rm
solo scollega i file , ma i dati sono ancora lì, sul tuo disco rigido. Ciò consente di ripristinarlo in un secondo momento (motivo per cui non dovresti semplicemente gettare via i tuoi dischi rigidi con dati sensibili quando non funzionano più).
Ciò significa che devi solo avere un PC di riserva con un enclosure per disco rigido per recuperare quasi tutti tutti i file. L'importante è evitare di scrivere qualcosa sul disco rigido per il recupero: i dati scritti sovrascriveranno i file non collegati.
Come notato da l'articolo nel commento di 200_success , se agisci in modo intelligente, puoi riavviare la macchina anche senza un PC di riserva. Se ti interessano solo i dati, non mi preoccuperei di recuperarli: il ripristino con un PC di riserva è molto più semplice.