Revenind de la inexistență, restaurarea fișierelor în linux

Problemele se întâmplă mai des decât mi-aș dori. Unul dintre acestea este ștergerea unui fișier cu date importante. Și în Unix, se crede că merge în uitare. Din păcate, de fapt, recuperarea fișierelor șterse în Unix nu este la fel de ușor ca în Windows cu coșul său obișnuit de fișiere șterse, și numeroase instrumente de la furnizori terți (de exemplu, Norton Utilities). Acest lucru se datorează particularităților arhitecturii sistemului de fișiere






Unix. Sistemul de operare Linux interpretează mai mult conceptul de fișier. Un fișier este orice obiect care are un nume în sistemul de fișiere. Unul dintre aceste obiecte este directorul. Catalogul este stocat ca un nume de fișier, precum și informații suplimentare despre fișierul - dimensiunea sa, informații despre proprietarul fișierului, locația de pe disc, data creării, data ultimei modificări, permisiuni, și multe altele. Iar pentru eficiență, informații suplimentare sunt luate într-o structură specială, iar catalogul lasă doar o referință la această structură. Când ștergeți un fișier, aceste informații suplimentare nu sunt șterse fizic de pe disc, ci pur și simplu marcate blocuri corespunzătoare libere. Prin urmare, există un potențial de recuperare, un fișier șters, până când nimic nu a fost scris în locația sa. Voi încerca să sugerez un algoritm pentru acțiune în cazul unor astfel de probleme.

Încetarea lucrărilor ulterioare.

Imediat după ce vă dați seama că sa întâmplat ceva teribil, opriți mai departe lucrul pe partiția discului cu fișierul șters. Firește, ar trebui să nu mai lucrați numai pe dvs., ci pe toți ceilalți utilizatori care au conectat sistemul. Luați măsuri astfel încât nimeni altcineva nu se poate conecta la sistem în timp ce efectuați recuperarea fișierelor (de exemplu, folosind / etc / nologin). Principalul lucru nu este să permiteți suprascrierea blocurilor de discuri utilizate anterior de alte procese. Probabilitatea acestui lucru crește în mod substanțial dacă secțiunea este aproape plină.

Însuși o necrofilie.

Luați în considerare două opțiuni pentru recuperare. Unul suficient de universal, vom aplica, cel mai probabil, în orice sistem Unix. Al doilea - este ascuțit pentru lucrul cu sistemul de fișiere Ext2
Linux.

Restaurați fișierele cu conținut cunoscut

Vom presupune că fișierul este șters din partiția root / etc / passwd și nu aveți probleme cu spațiul liber pe hard disk.

* creați o copie a partiției rădăcină și puneți-o într-un fișier din secțiunea / export. Această secțiune trebuie să aibă suficient spațiu liber pentru a găzdui întreaga partiție pe care a fost șters fișierul







# df -k // export
Sistem de fișiere Kbytes a folosit capacitatea de utilizare Montat pe
/ dev / dsk / c0t3d0s0 122070 19512 102558 16%
/ dev / dsk / c1t0d0s0 17592638 14425963 3166675 82% / export
# dd dacă = / dev / dsk / c0t3d0s0 din = / export / recover.dsk
263077 + 0 înregistrări în
263077 + 0 înregistrări
# ls -l
-rw-r-r- 1 rădăcină altele 134701056 1 iulie 16:54 recover.dsk

* Rulați comanda pisica cu numerele N (linia de ieșire), a concluzionat că redirecționează fgrep utilitate, care, prin a face o căutare într-un model predeterminat, taie toate inutile

liniile nu pot fi găsite nici în cazul unei erori la specificarea unui șablon, fie în cazul pierderii conținutului unui fișier șters, care ar putea fi suprascris. În cazul nostru, după cum puteți vedea, există două versiuni ale fișierului.

* afișează un număr de linii după ce a fost găsit
# fgrep -A10 "rădăcină: x: 0: 1" recover.dsk> passwd
# pisică paswd
rădăcină: x: 0: 1: super-utilizator: /: / sbin / sh
daemon: x: 1: 1 :: /:
bin: x: 2: 2 :: / usr / bin:
...

Restaurați fișiere în Linux Ext2

Această metodă este folosită în cazul ștergerii cu funcție de rm sau deconectez și nu necesită cunoașterea la restaurarea conținutului fișierului șterse. Pentru munca, avem nevoie de un depanator sistem de fișiere debugfs instrument destul de puternic, este de obicei folosit pentru a examina și de a schimba sistemul de fișiere și oferă acces imediat la sistemul de fișiere. Avem nevoie de trei comenzi:

Executați debug-uri în partiția necesară:

Este mai bine să redirecționați imediat ieșirea la un fișier prin introducerea comenzii:

#echo lsdel | debugfs / dev / hda6> / tmp / lsdel-output

Dacă nu există operațiuni cu partiția de la ștergere, datele de care suntem interesați vor fi la sfârșitul listei. Să examinăm conținutul care corespunde ultimului descriptor tastând comanda:

debugfs: cat <327101>
my_very_important_data

Fișierul șters a fost găsit, acesta conținea o singură linie. Comanda dump restaurează fișierul, scriind-o pe disc sub numele
my_recovered_file:

debugfs: dump -p <327101> / tmp / my_recovered_file

Comutatorul -p indică faptul că proprietarul, grupul și drepturile de acces rămân aceleași.

Restaurarea unui grup de fișiere în Linux Ext2

Pentru a restaura un grup de fișiere, este recomandabil să folosiți utilitarul Tom Pike
recupera. Instalarea este standard:

# tar zxf recover-1.3.tar.gz
# cd recover-1.3
# face
# faceți instalarea

Și ce am restabilit?

Rulați fișierul:

Puteți automatiza procesul într-o oarecare măsură utilizând cele mai simple scripturi, cum ar fi cele de mai jos, adăugând extensii la fișierele text din programele C:

# pentru fișierul i în? * grep. Textul programului ASCII C? | | \ awk -F. ??;
face mv $ i $ i.c; făcut

După determinarea tipului de fișiere, vom încerca să identificăm fiecare fișier. Pentru cele care conțin text, codul în C, sunetul sau imaginea pot fi deschise de programele corespunzătoare și încercați să ghiciți numele original. Fișierele binare, cum ar fi fișierele executabile, bibliotecile sau fișierele bazei de date, sunt mult mai greu de identificat. Și dacă fișierele sau bibliotecile executabile sunt mai ușor de identificat, ci pur și simplu reinstalați fișierele lipsă, atunci bazele de date vor trebui să fie mai tinker. În acest caz, va trebui să aplicați utilitarul de șiruri de caractere afișând toate șirurile de text ASCII conținute în fișier.

Pe ieșire puteți ghici că acest fișier este o bază de date și deschideți-l cu programul corespunzător.

Amintiți-vă, nimic nu înlocuiește rezervele regulate. Aplicarea metodelor considerate în articol ar trebui să fie mai degrabă o excepție decât o regulă. Crede-mă, este puțină plăcere coborârea în abisul inexistenței.

Distribuiți acest articol cu ​​prietenii dvs.:







Articole similare

Trimiteți-le prietenilor: