Visszatérés a feledéstől helyreállítási linux fájl

Szar történik gyakrabban, mint szeretnénk. Egyikük a eltávolítása a fájl fontos adatokat. És Unix, úgy gondoljuk, hogy ő megy feledésbe. Sajnos, sőt, a hasznosítás a törölt fájlok Unix nem olyan egyszerű, mint a Windows annak szokásos kosár törölt fájlokat, és számos eszközt harmadik fél szolgáltatók (például a Norton Utilities). Ez annak köszönhető, hogy az építészet fájlrendszerek






Unix. Linux operációs rendszer tágabban értelmezi a fájlt. A fájl minden olyan tárgy, amely a nevét a fájlrendszerben. Egy ilyen objektum egy könyvtárban. A katalógus tárolja a fájl nevét, és további információt a fájl - mérete, információt a tulajdonos a fájl helyét a lemezen, létrehozás dátuma, utolsó módosítás dátuma, engedélyek, és még sok más. És, hogy hatékony legyen, vegye ki további információkat egy speciális szerkezet, és a könyvtár hagyja csak egy linket erre a szerkezetre. Ha töröl egy fájlt, ez a kiegészítő információ fizikailag nem törlődik a lemezről, hanem egyszerűen jelölve szabad megfelelő blokkokat. Ezért van egy gyógyulás esélye, törölt fájl, amíg a helyét nem írok semmit. Megpróbálom kínál egy műveletsor esetében ilyen gond.

Megszűnése a további munkához.

Rögtön azután, hogy rájött, hogy valami szörnyűség történt, abba további munka a meghajtó partíción egy távoli fájl. Természetesen abba a munkát nem csak az van, de az összes többi felhasználó bejelentkezett a rendszerbe. Ügyeljen arra, hogy senki sem tudott többé jelentkezzen be a rendszerbe, amíg foglalkozik a helyreállítása a fájl (például a / etc / nologin). A legfontosabb dolog -, hogy elkerüljék felülírását által korábban használt a törölt fájl lemezblokkokban más folyamatok. Annak a valószínűsége, ez jelentősen növeli, ha a partíció majdnem megtelt.

Magát nekrofil.

Vegyünk két lehetőség hasznosításra. Egy meglehetősen általános, alkalmazni, valószínűleg minden Unix rendszer. Második - kiélezte dolgozik a Ext2 fájlrendszer
Linux.

Fájlok visszaállítása ismert tartalommal

Azt feltételezzük, hogy a törölt fájlt a root partíció a / etc / passwd és nincs probléma a szabad hely a merevlemezen.

* Készíts egy másolatot a root partíció és tedd a fájlt a / export. Ez a szakasz elegendő hely, hogy elférjen teljes partíciót, amelyen a fájlt törölték







# Df -k // export
A fájlrendszer Kbyte használt eredménytelenül kapacitás szerelve
/ Dev / DSK / c0t3d0s0 122.070 102.558 19512 16% /
/ Dev / dsk / c1t0d0s0 17592638 14425963 3166675 82% / export
# Dd if = / dev / dsk / c0t3d0s0 of = / export / recover.dsk
263 077 + 0 rekordok
263077 + 0 records out
# Ls -l
-rw-r-r- 1 gyökér egyéb 134.701.056 július 1 16:54 recover.dsk

* Fuss a cat parancs az -n (a kimenet sorszámok), arra a következtetésre jutott, hogy átirányítja közüzemi fgrep, amely egy kereséssel meghatározott mintázat, levágta a felesleges

húrok megtalálható hiba esetén a sablon feladat, és a veszteség a tartalmát a törölt fájl, amelyet újra lehet írni. A mi esetünkben, mint látjuk, még mindig van két változata a fájlt.

* Levezetni a sorok száma után talált
# Fgrep -A10 «root: x: 0: 1» recover.dsk> passwd
# Cat passwd
root: x: 0: 1: Szuper-User: /: / sbin / sh
daemon: x: 1: 1 :: /:
bin: x: 2: 2 :: / usr / bin:
...

Fájlok visszaállítása a Linux Ext2

Ezt a módszert használják a törlés rm vagy megszüntetni a funkció, és nem igényel ismereteket visszaállításakor a törölt fájl tartalmát. Mert a munka, szükségünk van egy fájlrendszer debugger debugfs elég hatékony eszköz, általában használják, hogy vizsgálja meg, és módosítani fájlrendszer és azonnali hozzáférést biztosít a fájlrendszer. Szükségünk lesz három lány csapat:

Fuss a debugfs a kívánt szekcióban:

Jobb csak átirányítani a kimenetet egy fájlba kell beírni:

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

Ha az eltávolítás óta nem oszthatják műveletek, az adatok érdekesek lehetnek számunkra az a lista végére. Lássuk a tartalmát megfelelő utolsó leíró, begépelésével:

debugfs: macska <327101>
my_very_important_data

Távoli fájl, ez tartalmaz egy sort. A dump parancs visszaállítja a fájl írásával nevét egy lemezen
my_recovered_file:

debugfs kiírása -p <327101> / Tmp / my_recovered_file

-p kapcsoló jelzi, hogy a fájl maradjon ugyanaz a tulajdonosa, a csoport és a jogosultságokat.

Helyreállítása fájlok egy csoportját a Linux Ext2

Visszaállításához Fájlcsoportok, célszerű a használatot Tom Pike
vissza. Mércét:

# Tar zxf vissza-1.3.tar.gz
# Cd vissza-1.3
# make
# Make install

És amit visszaállított?

Futtassa a segédprogramot file:

Akkor automatizálni a folyamatot némileg segítségével egy egyszerű script, mint a következő, hozzáadott bővítmények szöveges fájlokat a C programok:

# For i in file *? | grep. ASCII C program szövegét? | \ Awk -F. ??;
Én mv $ i $ Lc; csinált

Meghatározása után a fájlok típusát, hogy megpróbálja azonosítani az összes fájlt. Azok, amelyek tartalmazzák a szöveget kódot C, hang vagy kép, akkor nyissa meg a megfelelő programok és próbálja meg kitalálni az eredeti nevet. A bináris fájlok, például a végrehajtható fájlokat, könyvtárakat vagy fájlokat tárol sokkal nehezebb azonosítani. Ha a végrehajtható fájlokat vagy könyvtárakat könnyebb, hogy nem állapítható meg, hanem egyszerűen újratelepíteni a hiányzó, az adatbázis lesz bütykölni. Ebben az esetben van szükség, hogy alkalmazza a szerszám húrok, megjelenik az összes ASCII szöveges karakterláncot tartalmaz a fájl.

Szerint a következtetést akkor hiszem, hogy ez a fájl egy adatbázis, és nyissa meg a megfelelő programot.

Ne felejtsük el, semmi helyettesíti a rendszeres biztonsági mentés. És a használata a módszerek Ebben a cikkben tárgyalt legyen inkább kivétel, mint szabály. Hidd el, egy kis szórakozás az ereszkedést a mélységbe a semmi.

Itt található az ezt a cikket egy ismerősének:




Kapcsolódó cikkek