Comment récupérer des fichiers supprimés sous Linux

Personne n'est à l'abri de l'erreur consistant à supprimer un fichier important et, après cela, à découvrir qu'il n'existe aucune sauvegarde de celui-ci. Bien que la corbeille puisse offrir un moyen de revenir en arrière sur une telle opération, sa faisabilité dépend de la façon dont l'utilisateur interagit avec le système d'exploitation. Par exemple, une simple combinaison de touches CTRL + Suppr peut contourner la corbeille comme premier niveau de récupération des données. Que le système sous-jacent soit propriétaire ou une solution gratuite, il existe de nombreux outils conçus pour aider les utilisateurs à récupérer les fichiers supprimés. En tant que l'une des plates-formes informatiques gratuites les plus populaires au monde, Linux ne fait pas exception lorsqu'il s'agit d'options de récupération de données. Beaucoup d'entre elles sont des solutions open source qui peuvent être téléchargées et installées à partir de référentiels officiels. D'autres sont des outils commerciaux prêts à fonctionner sur n'importe quel système d'exploitation basé sur Linux. Nous allons examiner deux de ces solutions et évaluer le fonctionnement de chacune d'elles : TestDisk et R-Linux.
Disque de test
TestDisk est un outil en ligne de commande gratuit et open source permettant de récupérer des fichiers supprimés sous Linux. Ce logiciel a été écrit en langage de programmation C par Christophe Grenier et est sous licence GNU/GPLv2. Il fonctionne sur les principaux systèmes d'exploitation : distributions Linux, Windows et macOS. Le package d'installation peut être téléchargé via le bouton :
Téléchargement de TestDiskPour les systèmes basés sur Linux, il peut également être installé via les gestionnaires de paquets par défaut respectifs. Sur Debian et Ubuntu, les commandes suivantes installent TestDisk sur le système :
$ sudo apt mise à jour
$ sudo apt install testdisk
Si des paquets supplémentaires (dépendances) doivent être installés ou si des paquets essentiels doivent être supprimés, le processus d'installation peut demander une confirmation. Dans le cas contraire, TestDisk sera directement installé sur le système.
Pour vérifier l'installation et obtenir des informations supplémentaires sur l'outil, la commande suivante peut être exécutée :
$ sudo dpkg -l disque de test
Pour installer TestDisk sur Red Hat Enterprise Linux (RHEL) et CentOS, il est tout d'abord nécessaire d'activer/d'installer le référentiel EPEL. Il s'agit d'un référentiel de paquets supplémentaire qui permet d'accéder aux paquets d'installation des logiciels couramment utilisés. Selon la version de CentOS (7 ou 8), la configuration du référentiel EPEL est légèrement différente, comme le montrent les deux ensembles de commandes (toutes les commandes doivent être exécutées avec des privilèges de superutilisateur) :
- RHEL / CentOS 7
# yum installe epel-release
# yum mise à jour
# yum installe le disque de test
- RHEL / CentOS 8
# installation yum https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# yum mise à jour
# yum installe le disque de test
Sur RHEL et les deux versions de CentOS, l'installation de TestDisk peut être vérifiée en exécutant la commande suivante :
$ rpm -qi disque de test
Enfin, les commandes suivantes peuvent être utilisées pour installer TestDisk sur deux autres distributions Linux traditionnelles :
- Feutre:
$ sudo dnf install testdisk
- Arch Linux:
$ sudo pacman -S disque de test
Une fois TestDisk installé, l'utilisateur peut répertorier toutes les partitions et tous les périphériques de stockage du système via la commande
# disque de test /liste
Pour récupérer des fichiers supprimés sous Linux, il suffit d'invoquer l'outil TestDisk sans aucun paramètre comme suit
# disque de test
L'invocation de TestDisk affichera un menu de ligne de commande avec trois options liées à la journalisation des informations sur le processus de récupération des fichiers supprimés.
- Créer: il crée un nouveau fichier testdisk.log.
- Ajouter: il ajoute de nouvelles informations de journalisation à un fichier testdisk.log existant.
- Pas de journal : il ne génère aucune information de journalisation.
En supposant que l'option de création d'un nouveau fichier journal ait été sélectionnée, TestDisk répertorie ensuite les disques et les partitions à partir desquels les fichiers supprimés peuvent être récupérés. En sélectionnant un élément de la liste et en choisissant l'option « Continuer », le système demandera d'indiquer le type de partition correspondant à utiliser. Une fois que l'utilisateur a appuyé sur ENTER, TestDisk avance pour afficher la liste des opérations qui peuvent être effectuées sur la partition.
L'option « Analyser » évalue la partition sélectionnée et elle sera utilisée pour récupérer des données sous Linux. Si une telle partition n'est pas bootable, l'outil affichera un message informant l'utilisateur de cela. TestDisk propose deux types de recherche de fichiers : « Recherche rapide » et « Recherche approfondie ». Après avoir sélectionné l'une d'entre elles et appuyé à nouveau sur « Continuer », l'outil répertorie toutes les partitions qui peuvent être analysées. La dernière étape consiste à déclencher le processus de recherche. Au cours de cette étape, l'outil met à jour l'écran avec chaque partition disponible pour la récupération de fichiers. En choisissant une partition, tous les fichiers supprimés qui s'y trouvent seront mis en surbrillance et vous pourrez appuyer sur la lettre « C » pour copier un fichier déposé dans un répertoire spécifique.
Linux R
R-Linux est un autre utilitaire gratuit distribué pour les systèmes d'exploitation Windows, macOS et Linux (32 et 64 bits). Il dispose également d'une solution plus complète, R-Studio, qui est payante et prend en charge le travail avec les partitions NTFS (New Technology File System). Contrairement à TestDisk et aux autres outils de ligne de commande, R-Linux est doté d'une interface utilisateur graphique conviviale. Il peut être téléchargé via le bouton suivant :
Téléchargement de R-LinuxAprès l'installation et l'ouverture de R-Linux, le premier écran invite l'utilisateur à sélectionner le disque ou la partition à partir de laquelle les fichiers supprimés seront récupérés.
L’étape suivante consiste à déclencher le processus d’analyse en appuyant sur le bouton correspondant. R-Linux demandera à l’utilisateur de sélectionner le type d’analyse à effectuer : Simple, Détaillé ou Aucun. Ce dernier ne donne pas de vue graphique du processus de recherche des fichiers déposés. Dans la même fenêtre d’options, il est également possible de choisir une zone spécifique pour exécuter l’analyse. Une fois la configuration terminée, le processus est lancé en appuyant sur un autre bouton « Scan ». Ensuite, R-Linux affichera une sorte de carte du disque en cours d’analyse. Cette « carte » permet de suivre la progression du processus d’analyse. Cette étape peut être interrompue à tout moment en appuyant sur le bouton « Stop ».
Une fois le processus d'analyse terminé, les deux principales options pour accéder aux fichiers supprimés sont :
- Cliquez sur la partition et sélectionnez « Récupérer tous les fichiers… »
- Sélectionnez l'option « Ouvrir les fichiers du lecteur » et identifiez les dossiers à partir desquels les fichiers supprimés doivent être récupérés. Grâce à cette option, il est également possible de sélectionner des fichiers spécifiques trouvés par l'outil. Les boutons « Récupérer » ou « Récupérer les fichiers marqués » doivent ensuite être enfoncés.
Résumé – Récupération de fichiers supprimés sous Linux
Il existe une grande diversité d'outils conçus pour récupérer des fichiers supprimés sous Linux. Beaucoup de ces solutions n'offrent qu'une interface en ligne de commande qui exige plus de compétences de la part des utilisateurs de Linux. C'est le cas de TestDisk. Bien qu'il s'agisse d'une solution puissante, elle ne cache pas les détails de bas niveau sur les pilotes et les partitions. Une autre catégorie d'outils fonctionne comme R-Linux en affichant une interface plus conviviale et en facilitant l'interaction avec les utilisateurs, quel que soit leur niveau de connaissance de Linux.