69 votes

Comment récupérer un fichier supprimé sous Linux ?

Par accident, j'ai utilisé rm sur un fichier que je ne voulais pas supprimer. Y a-t-il un moyen de le récupérer sous Linux ?

5voto

user9876 Points 5385

Si c'est la norme rm j'espère que vous avez une sauvegarde. La procédure de récupération d'un fichier supprimé est différente pour chaque système de fichiers, si tant est que cela soit possible. Linux n'a pas de "corbeille" intégrée ; une fois que vous avez supprimé un fichier, il n'existe plus.

Quelle que soit la façon dont vous procédez, vous devez débrancher l'ordinateur dès que possible, car le fait de continuer à faire fonctionner l'ordinateur (même pour l'éteindre) provoque des écritures sur le disque et augmente le risque que certains blocs précédemment occupés par le fichier soient écrasés. Une fois que vous avez fait cela, mettez-le dans un autre ordinateur, redémarrez-le à partir d'un ordinateur de type CD live (en veillant à ne pas monter le disque, sauf si vous le montez en lecture seule), ou retirez le disque dur et apportez-le à un spécialiste de la récupération des données.

5voto

raspi Points 801
  • La seule réponse correcte est : restaurer votre fichier à partir d'une sauvegarde. Tout le monde doit avoir une sauvegarde. Pour les fichiers vraiment importants, vous devriez avoir deux sauvegardes. Vous n'en avez pas ? Eh bien, tant pis, voici une leçon apprise ( Désolé de paraître dur, mais je suis dans le stockage de données, et les gens ne font pas de sauvegarde jusqu'à ce qu'ils perdent des données importantes, c'est un fait établi. Alors oui, vous avez l'air stupide, mais presque tout le monde l'est aussi).

  • OK, vous n'avez pas de sauvegarde. Vous devez arrêter en utilisant le système de fichiers qui contenait le fichier MAINTENANT . Toute activité d'écriture peut définitivement altérer les données du fichier que mai (seulement mai ) restent sur le disque.

  • Si vous avez commis l'erreur tragique d'utiliser une seule partition comme système de fichiers racine et /home, cela signifie que vous avez doit démarrer à partir d'un autre périphérique. MAINTENANT .

  • Si votre fichier est d'un format courant (fichier Word, JPG, etc.), utilisez la fonction Photorec . Photorec peut récupérer les formats de fichiers les plus courants.

  • Vous pouvez essayer la méthode "ext3 undelete" proposée précédemment, mais vous devez être à l'aise avec la ligne de commande, comprendre les rouages de base de Linux, etc.

  • Si votre fichier a un format spécial, pas de chance. J'ai écrit une fois un programme Perl pour scanner un disque à la recherche de certains fichiers spéciaux, et ça a plutôt bien fonctionné ; mais il faut savoir programmer pour faire ça, et être assez à l'aise avec linux aussi.

4voto

Pricey Points 4504

Fixez vos attentes à un niveau bas. Si quelque chose a été écrit sur les données "supprimées", vous le perdrez.

J'ai fait un peu de récupération et les meilleurs outils que j'ai trouvés étaient souvent conçus pour certains formats. Par exemple, 'photorec' était génial lorsque je voulais récupérer des dizaines de milliers de jpegs.

Récupérer m'a également aidé auparavant et pourrait être votre meilleur choix. (C'est gratuit, ne vous faites pas piéger par les publicités).

En fin de compte, si ce que vous avez perdu est important, mettez le disque hors ligne et arrêtez d'écrire dessus. Utilisez tous les logiciels de récupération que vous pouvez trouver jusqu'à ce que vous récupériez vos données ou que cela ne vaille plus la peine. Si elles sont vraiment importantes, envoyez-les à des professionnels à un prix élevé.

Si vous avez eu de la chance avec un outil auparavant, essayez-le à nouveau vu que vous vous êtes familiarisé avec lui. En fin de compte, ils ne devraient pas écrire sur le disque et vous pouvez donc utiliser un logiciel jusqu'à ce que vous en trouviez un qui fonctionne.

2voto

dotancohen Points 10796

Si vous avez une application ouverte qui est en train de lire le fichier, comme VLC ou LibreOffice, alors cette formidable réponse de L&U.SO m'a aidé à me sortir de ce pétrin. Voici une méthode alternative pour avoir fait la même chose.

L'idée générale est de trouver le lien dans /proc/PID/fd/DESCRIPTOR_NUMBER et le recopier à son emplacement d'origine. Utilisez ps aux | grep APP_NAME pour trouver le PID et ensuite ls -la /proc/PID/fd/ pour trouver le DESCRIPTOR_NUMBER approprié.

1voto

boliva Points 2588

La réponse "correcte" est de supposer qu'il n'existe pas de méthode de récupération fiable, et de restaurer à partir de sauvegardes ou d'un système cloné ou de réinstaller.

TestDisk est un excellent outil, et il existe d'autres moyens de récupérer certaines données du disque physique en fonction du système de fichiers et de la récence de la suppression, mais le temps et la douleur impliqués peuvent être trop importants. GARDEZ LES DOSSIERS (et aussi vérifier qu'ils sont valides et restaurables) !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X