Foremost : Erreur de segmentation
Résolu
Illitch
Messages postés
1590
Date d'inscription
Statut
Membre
Dernière intervention
-
Illitch Messages postés 1590 Date d'inscription Statut Membre Dernière intervention -
Illitch Messages postés 1590 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Utilisant Foremost v 1.5.3 pour récupérer des fichiers (foremost -w -i /dev/sda5 -o /recovery/foremost) j'obtient le message "erreur de segmentation" en cours d'audit : je ne peut donc obtenir un audit complet.
- Existe il une commande pour que le programme ignore le segment défectueux et poursuive le scan ?
- Est ce grave docteur ? (intégrité du disque)
De plus ayant lancé une récupération sur ce qu'il m'avait détecté j'obtient :
fn=/home/bullshit/output/pdf/426227520.pdf bytes=1990656
foremost: Error writing file
et le répertoire "home/MOI/output" reste désesperément vide :'(
quid, quo, quando ?
Merci d'avance.
Pensée du jour :" [Shift Del] c'est bien, un cerveau c'est mieux"
Utilisant Foremost v 1.5.3 pour récupérer des fichiers (foremost -w -i /dev/sda5 -o /recovery/foremost) j'obtient le message "erreur de segmentation" en cours d'audit : je ne peut donc obtenir un audit complet.
- Existe il une commande pour que le programme ignore le segment défectueux et poursuive le scan ?
- Est ce grave docteur ? (intégrité du disque)
De plus ayant lancé une récupération sur ce qu'il m'avait détecté j'obtient :
fn=/home/bullshit/output/pdf/426227520.pdf bytes=1990656
foremost: Error writing file
et le répertoire "home/MOI/output" reste désesperément vide :'(
quid, quo, quando ?
Merci d'avance.
Pensée du jour :" [Shift Del] c'est bien, un cerveau c'est mieux"
5 réponses
Salut,
Extrait du man : https://linux.die.net/man/1/foremost
Extrait du man : https://linux.die.net/man/1/foremost
-s number Skips number blocks in the input file before beginning the search for headers. ie. foremost -s 512 -t jpeg -i /dev/hda1 Examples Search for jpeg format skipping the first 100 blocks foremost -s 100 -t jpg -i image.ddPeut être une piste...
Bonjour,
Je ne suis pas spécialiste, mais sur SourceForge, ils en sont à la version 1.5.6. S'il s'agit d'un bug de la 1.5.3, il se peut qu'il soit corrigé (je n'ai pas essayé).
Je ne suis pas spécialiste, mais sur SourceForge, ils en sont à la version 1.5.6. S'il s'agit d'un bug de la 1.5.3, il se peut qu'il soit corrigé (je n'ai pas essayé).
Salut,
En fait, je n'en ai aucune idée. J'avais trouvé un sujet qui en parlait, essayé, et j'étais tombé sur la même erreur.
Comme je n'en n'avais pas un besoin immédiat, j'ai laissé tomber, puis j'ai vu ton topic. J'ai cherché à nouveau et trouvé ça, mais je n'avais pas le temps aujourd'hui d'essayer.
Mais ce sont des sources à compiler, et ils n'indiquent aucune dépendance, donc je ne vois pas pourquoi ce ne serait pas compatible.
Une erreur de segmentation, si je me souviens bien, c'est lorsque les données lues et mises en mémoire vont au-delà de la zone mémoire réservée à une variable. Donc, même si ça refait le même coup, avec les sources, il y a moyen d'aller vérifier dans le code. Comme c'est un programme d'origine ancienne, il faudra peut-être transformer une variable statique en variable dynamique avec une allocation de mémoire fixée en fonction de la taille des données lues. Mais tout ça, pour moi, c'est très loin, j'avoue franchement que je ne m'en sens plus capable sans y consacrer beaucoup, beaucoup de temps.
En fait, je n'en ai aucune idée. J'avais trouvé un sujet qui en parlait, essayé, et j'étais tombé sur la même erreur.
Comme je n'en n'avais pas un besoin immédiat, j'ai laissé tomber, puis j'ai vu ton topic. J'ai cherché à nouveau et trouvé ça, mais je n'avais pas le temps aujourd'hui d'essayer.
Mais ce sont des sources à compiler, et ils n'indiquent aucune dépendance, donc je ne vois pas pourquoi ce ne serait pas compatible.
Une erreur de segmentation, si je me souviens bien, c'est lorsque les données lues et mises en mémoire vont au-delà de la zone mémoire réservée à une variable. Donc, même si ça refait le même coup, avec les sources, il y a moyen d'aller vérifier dans le code. Comme c'est un programme d'origine ancienne, il faudra peut-être transformer une variable statique en variable dynamique avec une allocation de mémoire fixée en fonction de la taille des données lues. Mais tout ça, pour moi, c'est très loin, j'avoue franchement que je ne m'en sens plus capable sans y consacrer beaucoup, beaucoup de temps.
'soir :)
Même en y consacrant du temps, euh comment dire ? J'y entrave que pouic !
Merci pour ceux à qui ça parlera pour me part je fait comme dab' : système D et prières :/. De toute façon j'intalle la 9.04 après effacement multipasse des partitions et reformatage ces prochains jours (nouveau disque dur 500Go en plus = réorganisation complète)
A plus et merci encore :)
Ah oui juste un truc : quelqu'un connait il une commande pour demander à foremost de copier les fichiers récupérés ailleurs que dans home/MOI/output : à savoir sur une autre partition si la chose est possible ?
Même en y consacrant du temps, euh comment dire ? J'y entrave que pouic !
Merci pour ceux à qui ça parlera pour me part je fait comme dab' : système D et prières :/. De toute façon j'intalle la 9.04 après effacement multipasse des partitions et reformatage ces prochains jours (nouveau disque dur 500Go en plus = réorganisation complète)
A plus et merci encore :)
Ah oui juste un truc : quelqu'un connait il une commande pour demander à foremost de copier les fichiers récupérés ailleurs que dans home/MOI/output : à savoir sur une autre partition si la chose est possible ?
Ça veut juste dire que j'ai une vague idée de l'origine du problème, mais que comme je n'ai plus pondu une ligne de code depuis des années, je ne me le sens pas bien d'aller chercher l'erreur et de la corriger. Peut-être un programmeur pourra-t'il confirmer ce que je suppose (ou l'infirmer).
Alors je me suis dit qu'en compilant la version de SourceForge, il y avait une chance que le problème soit résolu dans cette version-là. Comme la compilation se fera sur ta machine, il y a toutes les chance d'avoir un programme compilé tip-top pour ta configuration.
Excuse-moi si je n'ai pas été clair, mais j'ai écrit au fur et à mesure que je pensais. ;-)
Edit : dans le man foremost, ils indiquent l'option -o pour changer le répertoire de sortie :
-o directory
Recovered files are written to the directory directory.
Alors je me suis dit qu'en compilant la version de SourceForge, il y avait une chance que le problème soit résolu dans cette version-là. Comme la compilation se fera sur ta machine, il y a toutes les chance d'avoir un programme compilé tip-top pour ta configuration.
Excuse-moi si je n'ai pas été clair, mais j'ai écrit au fur et à mesure que je pensais. ;-)
Edit : dans le man foremost, ils indiquent l'option -o pour changer le répertoire de sortie :
-o directory
Recovered files are written to the directory directory.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je repasse,
Apparement la version 1.5.6 de foremost corrige le problème (à moins que l'erreur n'ai été causée par le manque de place sur le volume de destination, voir poste n°2)
La commande suivante permet de choisir un autre répertoire que le défaut = /home/utilisateur/output (ici /media/disk/Recovery -> à remplacer par votre chemin - /dev/sda5 est la partition à scanner -> à changer par la votre)
sudo foremost -o /media/disk/Recovery -t pdf -i /dev/sda5
Lien vers la dernière version foremost (aujourd'hui 1.5.6) : http://foremost.sourceforge.net/
/!\ les développeurs de fomemost le classent encore instable (low : donc utilisable)
Merci à tous :)
Apparement la version 1.5.6 de foremost corrige le problème (à moins que l'erreur n'ai été causée par le manque de place sur le volume de destination, voir poste n°2)
La commande suivante permet de choisir un autre répertoire que le défaut = /home/utilisateur/output (ici /media/disk/Recovery -> à remplacer par votre chemin - /dev/sda5 est la partition à scanner -> à changer par la votre)
sudo foremost -o /media/disk/Recovery -t pdf -i /dev/sda5
Lien vers la dernière version foremost (aujourd'hui 1.5.6) : http://foremost.sourceforge.net/
/!\ les développeurs de fomemost le classent encore instable (low : donc utilisable)
Merci à tous :)
Juste un petit post avant de potasser et de tester...
Etrangement la commande de récupération [ sudo foremost -t pdf -i /dev/sda5 ] a donné des résultats étonnants. En effet j'ai récupéré bien plus que les quelques fichiers listés dans le fichier d'audit interrompu (moins d'une dizaine) et j'ai dépassé la capacité restante de ma partition (5Go étaient libres) *ooops*.
Ceci est l'explication du répertoire de récupération resté apparement vide : le processus n'était pas complet : j'ai fais de la place et les fichiers ont pu se copier. Coup de bol je n'ai apparement pas explosé ma partition.
Donc, au passage, un conseil aux utilisateurs de Foremost ayant le même lézard : ne pas lancer de restauration dans ce cas sauf à être certain d'avoir assez de place ou alors récupérer les fichiers un par un.
C'est puissant ce truc !!!!
jipicy, si tu avais la commande pour "skipper" les blocs après les n premiers blocs scannés, ça ferait bien mon affaire... (de façon à pouvoir scanner avant et après le bloc défectueux en procédant par tatonnage)
Par contre, si on se fie au message d'erreur et le nombre d'octets (bytes) lu : 1990656
Si on considère qu'un bloc à une taille de 512 octets
1990656 que divise 512 égale 3888
Ce qui nous amènerait à la commande :
Tout ça sous réserve, n'étant absolument pas sûr de ce que j'avance...
;-))
Bon de toute façon il n'avait détecté que une dizaine de pdf (les fichiers effacés par erreur sont des pdf) avant de me renvoyer sur les roses donc les récupérer un par un est jouable, puis pour la partie située après le bloc défectueux j'utiliserai ta commande en espérant que la lecture des blocs est linéaire...