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 ?
Réponses
Trop de publicités?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.
-
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.
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.
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é.
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) !