Ceci est une ancienne révision du document !
ForemostGUI
ForemostGUI comme son nom nous l'indique n'est ni plus ni moins qu'une interface graphique pour le logiciel de récupération de données Foremost.
Foremost est un outil en ligne de commande qui donne la possibilité de récupérer simplement des fichiers qui ont été effacés. Il a été développé à l'origine pour le service d'enquêtes spéciales de l'US Air Force.
Installation
Le script installe automatiquement Foremost.
Enregistrez le code ci dessous dans un fichier texte (foremost.sh par exemple) et rendez le exécutable.
chmod +x foremost.sh
#!/bin/bash if ! [ $(dpkg -l | awk '/foremost/ { print $2 }') ]; then sudo apt-get -y install foremost; fi # zenity process box # affichée tant que le process en argument existe, cancel déclenche l'arrêt de foremost function _wait_process() { while pgrep $1 &>/dev/null; do echo yes && sleep 1; done | zenity --progress --pulsate --auto-close --text="Récupération en cours..." --title="ForemostGUI" } # zenity dialog box # sélection des paramêtres de récupération function _select_options(){ options=`zenity --list \ --title="ForemostGUI" \ --text=" Sélectionnez les options de récupération\n Par défaut, le rapport seul est généré" \ --checklist \ --column="Cocher" \ --column="Description" \ True "Générer un rapport sans récupérer" "\-w" \ False "Indirect block detection (fichiers Unix/Linux)" "\-d" \ False Verbose "\-v" \ False "Quick mode (Analyse seulement le début des secteurs, déconseillé sur NTFS)" "\-q" \ False "All headers (y compris les fichiers corrompus)" "\-a" \ --column="Option" \ --hide-column="3" \ --print-column="3" \ --separator=" " \ --width="800" \ --height="270"` if [ "$?" -eq 1 ]; then echo 1 else options=$(echo $options | sed 's/\\//g') echo $options fi } # zenity dialog box # sélection des types de fichiers function _select_extensions(){ extensions=`zenity --list \ --title="ForemostGUI" \ --text=" Sélectionnez les types de fichiers\n Par défaut, tous les types" \ --checklist \ --column="Cocher" \ --column="Description" \ False "jpg Images .jpg, .jfif et exif" jpg \ False "gif Images .gif" gif \ False "png Images .png" png \ False "bmp Images bitmap" bmp \ False "avi Vidéos .avi seulement" avi \ False "exe Exécutables .exe et .dll" exe \ False "mpg Vidéos .mpg" mpg \ False "wav Audio .wav" wav \ False "riff Vidéos .avi et .riff" riff \ False "wmv Windows média (audio et vidéo)" wmv \ False "mov Vidéos .mov" mov \ False "pdf Portable document format" pdf \ False "ole Documents PowerPoint, Word, Excel, Access, et StarWriter" ole \ False "doc Documents Word uniquement" doc \ False "zip Fichier zippés, y compris .jar et xml comme les formats openoffice" zip \ False "rar Archive .rar" rar \ False "htm Fichiers .htm" htm \ False "cpp Fichiers source C,C++ ou autres" cpp \ --column="Option" \ --hide-column="3" \ --print-column="3" \ --separator="," \ --width="800" \ --height="270"` if [ "$?" -eq 1 ]; then echo 1 else echo $extensions fi } function _foremost() { # Formulaire 1, options de foremost params=$(_select_options) if [ "$params" = "1" ]; then exit fi # paramètres par défaut -w if ! [ -n "$params" ] then params="-w" fi # Formulaire 2, types de fichiers extension=$(_select_extensions) if [ "$extension" = "1" ]; then exit fi # types de fichiers par défaut : all if ! [ -n "$extension" ] then extension="all" fi # On crée le formulaire en stockant les valeurs de sortie dans $cfgpass :/ parts=`df -Th | grep -e "^/dev/*" | tr "\n" "|"` cfg=`zenity --forms \ --title="ForemostGUI" \ --text="Configurer votre récupération de données" \ --width="800" \ --add-list="Partitions :" \ --column-values="Partitions :" \ --list-values="${parts%?}" \ --add-entry="Destination : (default:$PWD/output)" \ --separator="@"` #Si on clique sur le bouton Annuler if [ "$?" -eq 1 ]; then #On quitte le script exit fi #Sinon on continue addr=`echo "$cfg" | awk -F"@| +" '{ print $1}'` #Addresse absolue de la partitions sélection outdir=`echo "$cfg" | awk -F"@| +" '{ print $8}'` #dossier de sortie if [ "$outdir" = "" ]; then outdir="$PWD/output" fi params="$params -t $extension -i $addr -o $outdir" #on lance foremost gksudo -m "L'execution de Foremost nécessite les privilèges administrateur" "foremost $params" &>$PWD/foremost_log.txt & # zenity process box _wait_process gksudo # zenity process box _wait_process foremost # on redemande le mot de passe si on annule avant la fin, sinon on affiche le résultat if [ "$(pgrep foremost)" ] then gksudo -m "La fermeture de Foremost nécessite les privilèges administrateur" "pkill -15 foremost" else if [ -s "$PWD/foremost_log.txt" ]; then # on filtre le contenu du fichier de log if [ "$(grep -i error $PWD/foremost_log.txt)" ]; then mapfile -t filecontent < $PWD/foremost_log.txt errors=$(printf "%s\n" "${filecontent[@]}") fi # dialog box différente s'il y a des erreurs if [ -n "$errors" ]; then zenity --error --title="ForemostGUI" \ --text="La récupération est terminée.\nles erreurs suivantes ont été détectées :\n\n\"$errors\"" \ --width="400" else zenity --info --title="ForemostGUI" \ --text="La récupération est terminée.\nVos fichiers et/ou le rapport sont récupérables ici:\n\"$outdir\" avec les privilèges administrateur" fi else # Si le fichier de log est vide zenity --info --title="ForemostGUI" \ --text="La récupération a été annulée ou une erreur bloque l'éxécution de foremost\nLancez ce script dans un terminal et vérifiez la sortie." fi fi _foremost } _foremost
Utilisation du script
Lancer le script dans un terminal ou double-cliquez dessus.
./foremost.sh
Utilisation de l'ancienne version en FreePascal
vous pouvez aussi téléchargez l'installateur de l'ancienne version développé en FreePascal DEBIAN ICI. Celui-ci devrait vous installer au passage Foremost.
Lancez l'application depuis le menu Applications → Outils système → ForemostGUI.
Sélectionnez la partition à analyser.
Sélectionnez les types de fichiers à restaurer.
Appuyez sur 'Lancez la récupération' on vous demandera alors dans une fenêtre XTerm le mot de passe administrateur (ROOT) (il n'affiche pas la sortie du mot de passe dans XTerm)
Analyse en cours…
A la fin de la restauration le navigateur de fichier Nautilus démarre en mode administrateur (ROOT) dans le dossier de restauration
Désinstallation
Pour supprimer cette application, il suffit de supprimer son paquet. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.