restaurer un fichier simplement supprimé sur ext4 avec extundelete

54

Existe-t-il une option simple sur la extundeletefaçon dont je peux essayer de récupérer un fichier appelé /var/tmp/test.isoque je viens de supprimer?

(il n'est pas très important que je commence à remonter le lecteur en lecture seule ou à de telles choses. Je peux également télécharger à nouveau ce fichier)

Je cherche une commande simple avec laquelle je pourrais essayer si je parviens à le récupérer rapidement.

Je sais qu'il est possible de remonter le lecteur en lecture seule : (voir Comment puis-je simplement récupérer le seul fichier sur un disque vide simplement supprimé? )

Mais est-ce possible aussi sur le disque encore monté?

rubo77
la source
Question d'ordre général avec toute utilité: unix.stackexchange.com/questions/2677/...
Ciro Santilli新疆改造中心法轮功六四事件
Cette autre question est trop large. Ici, je suis à la recherche d'une solution rapide, non sécurisée et sans trop d'effort (et moins de chance de succès)
rubo77
Je ne voulais pas dire double, mais vous voudrez peut-être ajouter quelque chose à la question de savoir pourquoi cette question ne suffisait pas.
Ciro Santilli a annoncé le

Réponses:

36

En regardant le guide d'utilisation d' extundelete, il semble que vous soyez limité à la suppression de fichiers de plusieurs manières.

Restaurer tout

extundelete est conçu pour récupérer des fichiers d'une partition non montée à une partition séparée (montée). extundelete restaurera tous les fichiers trouvés dans un sous-répertoire du répertoire actuel nommé “RECOVERED_FILES”. Pour exécuter le programme, tapez “extundelete --help” pour afficher les différentes options disponibles.

L'utilisation typique pour restaurer tous les fichiers supprimés d'une partition ressemble à ceci:

    $ extundelete /dev/sda4 --restore-all

Restaurer un seul fichier

En plus de cette méthode mise en évidence dans l'utilisation de la ligne de commande:

--restore-file path/to/deleted/file
    Attemps to restore the file which was deleted at the given filename, 
    called as "--restore-file dirname/filename".

Donc, vous devriez pouvoir accomplir ce que vous voulez faire:

$ extundelete --restore-file /var/tmp/test.iso /dev/sda4

REMARQUE: dans les deux cas, vous devez connaître le périphérique /dev/sda4pour exécuter cette commande. Vous devrez remonter le système de fichiers en lecture seule. C’est l’une des conditions d’utilisation extundeleteet il n’ya aucune solution.

slm
la source
2
oui, mais cela ne fonctionne que si je remonte le lecteur en lecture seule
rubo77
1
@ rubo77 - correct, il n'y a aucun moyen de contourner cela.
slm
2
Cela a fonctionné réellement pour moi un système de fichiers ext4 sans le remonter en lecture seule. Si vous essayez de le faire sans remonter r / o, alors vous recevez un avertissement qui semble juste vous dire que votre probabilité de succès est plus faible si vous faites cela. S'il est vraiment essentiel de récupérer le fichier, il semblerait que vous deviez le faire.
Ben Crowell
Comme je l' ai utilisé @BenCrowell sans remount, mais moi annonces programme sur la corruption de données si je continue à l' aide hdd ... était un effacer récemment alors je presser la touche Entrée puis obtenir mes fichiers;)
erm3nda
16

Scénario d'utilisation typique lorsque la suppression de tous les fichiers inclut la nécessité de restaurer tous les fichiers supprimés au /dev/sdX1cours de la dernière heure environ:

mount -o remount,ro /dev/sdX1
extundelete --restore-all --after $(date -d "-2 hours" +%s) /dev/sdX1
find RECOVERED_FILES/

Si satisfait des fichiers récupérés:

mount -o remount,rw /dev/sdX1
Sanmai
la source
mount: vous devez spécifier le type de système de fichiers
remount attend le point de montage en tant qu'argument et non pas le périphérique
Ne vous inquiétez pas, enfant.
@ Don'tYouWorryChild mount -oprend un répertoire ou un périphérique, conformément àman mount
sanmai
Au lieu de soustraire 2 heures à compter de la date, vous pouvez effectuer $(date -d "-2 hours" +%s)la sortie et il lsblk -ppeut être utile de rechercher où se trouve le volume EXT4 mis en cache par LVM chiffré par LUKS. ;)
LiveWireBT