On Thu, 15 Feb 2001, Cédric Rochat wrote:

> Non, ça n'est pas possible !!

En fait, comme il a été dit, si on intervient assez rapidement, on peut
avec debugfs lister les _inodes_ effacés (et p.ex. voir ceux détruits en
dernier, avec le dtime). Par contre, retrouver le nom du fichier ou son
path dans le filesystem est *strictement impossible* avec ext2, car
l'effacement consiste à effacer le numéro d'inode dans le répertoire (ou
du moins c'est ce que j'en ai conclu en regardant rapidement dans la
source de ext2fs).

Rappel:
   - un inode contient la liste des data-blocks, ainsi qu'un owner,
     groupe, permission, mtime, atime, ctime, dtime.
   - un répertoire est un inode dont les data-blocks listent les inodes
     liés à ce répertoire (qui se trouvent dans ce répertoire)

Le nom d'un fichier (même sans sa path!) est donc impossible à retrouver
sans ces entrées de répertoires.

Une extension à ext2fs supportant l'undelete _correctement_ devrait donc
effacer différemment (p.ex. mettre un flags), et ne pas réutiliser ni les
entrées de répertoires ni les entrées de datablock (sauf p.ex. commande
d'administrateur `/sbin/purge délai'). 

Elle existe peut-être.

Malgré tout, les sauvegardes restent importante (en particulier car on
peut les stocker ailleurs, et aussi car elles fournissent un historique
--- ce que les snapshots pourraient faire aussi mais faudrait d'abord
qu'ils marchent sous Linux). 


--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.

Répondre à