• [^] # Re: Condoléances

    Posté par . En réponse au journal R.I.P.. Évalué à 8.

    La problématique n'est en fait pas tout à fait identique : sous MS-DOS, l'effacement consistait à remplacer le premier caractere du nom de fichier dans la fat par un '?', si mes souvenir sont bon, et donc l'undeletion consistait logiquement à rechercher les entrées de la fat commancant par un '?' et à les restaurer (en demandant à l'utilisateur de se souvenir du premier caractere :p )

    Un système d'exploitation moderne à la capacité de fonctionner avec plusieurs systèmes de fichiers différents, donc la technique de restauration au plus bas niveau du FS ne fonctionne plus, sauf a faire un truc par fs (approche existante pour ext2) et en plus le but d'une "corbeille" est de garantir (sous conditions) la possibilité de récupération des fichiers effacés.

    Or un simple retrait d'entrée du FS ne suffit pas pour garantir ca, car l'espace et immédiatement libéré et un système moderne étant multitache, n'importe qu'elle appli en cours qui ecrit un fichier pourra potentiellement ecraser les données. Du coup faut faire un hook en kernel mode (donc apprendre a programmer en kernel mode) au niveau de l'api d'effacement des fichiers, et integrer la logique des conditions (histoire que les rm permettent bel et bien de recuperer de lespace disque au final, et ne se contente pas d'un mv de chaque fichier vers un autre repertoire).

    Dans un cas tu as quelque chose de preventif, dans l'autre de paliatif, dans un cas tu te place au niveau du FS, dans l'autre au niveau de l'interface kernel / user. Dans un cas tu as quelque chose qui fonctionne tout le temps, dans l'autre uniquement au moment de la récup.

    Mais selon moi un lecteur de 'la bible PC' capable de comprendre le fonctionnement de la FAT en quelques minutes et de coder un "undel" potable à de toute facon largement le niveau pour s'attaquer à un système de corbeille pour linux.