[linux-l] ? "entloeschen" einer großen Datei auf ext3

Gregor Zattler texmex at uni.de
Mi Apr 30 19:40:21 CEST 2003


Hi,

ich habe 13 GB Dateien auf einem wahrscheinlich wenig
defragmentierten ext3 Dateisystem von ca. 18 GB Größe gelöscht[1]
und nehme ziemlich sicher an, dass seit/während dem Löschen nicht
auf das ext3 Dateisystem geschrieben wurde.  Ich möchte genau
eine der Dateien (ein vfat Dateissystem von gzip-ter oder
bzip2-ter Größe von ca. 1,4 GB) wiedergewinnen.  Es ist eine der
drei größten Dateien auf dem System gewesen.

Dazu habe ich den lde[2] installiert.  Man kann mit dem lde Blöcke
suchen lassen, die auf bestimmte Magics passen (wie z.B. den Beginn
einer gzip/bzip2-Datei.  Dummerweise lagen auf dem Dateisystem aber
hunderte von gzip-ten Datein rum.

Verstehe ich das recht, dass besonders große Dateien einen "double
indirect block" haben (lde findet keinen Inode mit "triple indirect
block")?  Davon gibt es nämlich "nur" 264.  

*Hat jemand eine Idee, wie ich an diese Datei wiedergewinnen kann?*

Ich habe mit dem lde eine Datei angelegt, die für jeden Inode folgende
Informationen enthält (das erste Beispiel ist eine der gelöschten
Dateien, das zweite ein Inode zu einer Datei, die noch
existiert):

---------------------------------------------------------------------
INODE: 296    (0x00000128) (NOT USED)
-rw-------       grfz     grfz             0 Wed Apr 23 16:56:38 2003
TYPE:                  regular file
LINKS:                 0
MODEFLAGS.MODE:        010.0600
SIZE:                  0
BLOCK COUNT:           0
UID:                   01000 (grfz)
GID:                   01000 (grfz)
ACCESS TIME:           Mon Apr 21 12:05:20 2003
CREATION TIME:         Wed Apr 23 16:56:38 2003
MODIFICATION TIME:     Wed Apr 23 16:56:38 2003
DELETION TIME:         Wed Apr 23 16:56:38 2003
DIRECT BLOCKS:


INDIRECT BLOCK:
DOUBLE INDIRECT BLOCK:
TRIPLE INDIRECT BLOCK:
---------------------------------------------------------------------


---------------------------------------------------------------------
INODE: 252    (0x000000FC)
-r-xr-xr-x       grfz     grfz     704315392 Sat Feb  2 17:59:26 2002
TYPE:                  regular file
LINKS:                 1
MODEFLAGS.MODE:        010.0555
SIZE:                  704315392
BLOCK COUNT:           1376968
UID:                   01000 (grfz)
GID:                   01000 (grfz)
ACCESS TIME:           Fri Apr 18 20:14:39 2003
CREATION TIME:         Tue Jul  9 10:14:16 2002
MODIFICATION TIME:     Sat Feb  2 17:59:26 2002
DELETION TIME:         Thu Jan  1 01:00:00 1970
DIRECT BLOCKS:         0x0000163E 0x0000163F 0x00001640 0x00001641
                       0x00001642 0x00001643 0x00001644 0x00001645
                       0x00001646 0x00001647 0x00001648 0x00001649
INDIRECT BLOCK:        0x0000164A
DOUBLE INDIRECT BLOCK: 0x00002C81
TRIPLE INDIRECT BLOCK:
---------------------------------------------------------------------



Leicht verzweifelt, Gregor

[1] Automatische Informationswiedergewinnungsmethoden, die bei
    ext2 Dateisystemen funktionieren (e2undel) funtionieren bei
    ext3 Dateisystemen nicht, weil der ext3 Treiber beim löschen
    einer Datei auch deren Inode löscht.

[2] linux disk editor: http://lde.sourceforge.net
-- 
echo '16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D3F204445524F42snlbxq'|dc



Mehr Informationen über die Mailingliste linux-l