Bonjour à tous,
Il y a t-il un moyen de vérifier si toutes mes données n'ont pas perdu de leur contenu ?
Je m'explique, si un jour un disque dur a eu des secteurs défectueux et que j'ai fait une copie des données présente sur le disque dur, alors j'aurais sur un disque propre et fonctionnel des données erronées.
Est-ce que ceci est transparant à nos yeux ? Il y a t-il un moyen de vérifier les données que l'on maintient depuis 10 ans à travers divers support amovible ou non ?
Fsck ?
Merci d'avance.
# afick ?
Posté par eric gerbier (site web personnel) . Évalué à 4.
N'importe quel outil de type HIDS, qui fabrique une somme de contrôle sur une liste de fichier, et qui permet de vérifier que les checksum sont inchangés : tripwire, aide, afick ….
[^] # Re: afick ?
Posté par Anonyme . Évalué à 2.
Il y a aussi rhash qui supporte plein de formats de hachage dont CRC32 pour un simple controle d'intégrité sans volonté sécuritaire.
Pour faire un fichier qui contient les sommes de controle MD5 de mon disque, je vais à sa racine et je fais :
rhash -rMv --percents ./ > disque.sfv
Puis pour vérifier je lance (toujours à la racine de la partition) :
rhash -rcv disque.sfv
Ensuite je regarde les erreurs avec une recherche du mot ERROR dans la sortie du terminal. Normalement il y en a une, c'est le fichier disque.sfv
Le fait que ce soit dans un fichier permet de vérifier plusieurs sauvegardes en simultané sans refaire à chaque fois les calculs de somme de controle. Ça permet aussi de vérifier l'intégrité d'un archivage sans source de comparaison.
On peut aussi ne vouloir vérifier qu'un dossier important de la partition, ça fonctionne de la même manière.
# facile pour les archives
Posté par vecounix . Évalué à 1.
En l'absence de checksums, les fichiers d'archives (.zip, .tgz, .rar, bz2, …) peuvent être vérifiés avec l'archiveur correspondant.
# Bonjour
Posté par Marotte ⛧ . Évalué à 2.
Je peux me tromper mais je pense que ta copie aurait planté avec un message d’erreur. Sauf à avoir copié avec un
dd conv=noerror …
Cela dit un fichier corrompu ça peut exister (corrompu pendant le transfert via le réseau par exemple…) et la solution est effectivement de sauvegarder une « somme de contrôle » (checksum) de chaque fichier, ce qui permet de vérifier plus tard que les fichiers sont bien toujours les mêmes.
Si le fichier /etc/hosts était modifié, la commande
md5sum
renverrait une autre empreinte.[^] # Re: Bonjour
Posté par electro575 . Évalué à 1.
Okey merci pour vos réponses.
[^] # Re: Bonjour
Posté par Marc Quinton . Évalué à 3.
voir réponse ci dessous. Ta réponse n'est pas la bonne. Des octets peuvent se perdre soit sur les pistes magnétiques, soit sur l'interface SATA et dans une moindre mesure la mémoire, CPU.
certains FS gèrent des checksums par fichier ou par block.
[^] # Re: Bonjour
Posté par Marotte ⛧ . Évalué à 3.
Je pensais que des systèmes de fichiers tels qu’Ext4 ou NTFS avait ce genre de protection. Ou, du moins, que le noyaux, via un firmware, était en mesure de détecter si un octet se « perdait » lors d’un transfert SATA ou d’une écriture sur disque…
Merci d’avoir éclairé ma lanterne. Je suppose qu’un champ magnétique quelconque peut aussi éventuellement changer quelques octets et corrompre un fichier ?
[^] # Re: Bonjour
Posté par Kerro . Évalué à 2.
Les corruptions sur la surface magnétique du disque même sont très rares car il y a un code correcteur d'erreur pour chaque secteur. Lorsqu'un secteur erroné est lu, il est corrigé et réécrit. Si l'erreur est trop grosse, le code correcteur d'erreur ne peut pas corriger, et la lecture retourne une erreur. Il reste le cas où l'erreur tombe pile de manière à ne pas être détectée.
Le protocole SATA en relativement bien protégé par un code de détection d'erreur 32 bits, donc le trajet entre la mémoire (je suppose que c'est fait via DMA) et le disque est ok.
On reste à exposé aux habituels problèmes dans le processeur, ou la mémoire de l'ordinateur, ou le processeur du disque-dur, ou sa mémoire.
# Système de fichier moderne
Posté par SaintGermain . Évalué à 4.
Le mieux est d'utiliser un système de fichiers moderne comme ZFS ou Btrfs.
Ces système de fichiers sauvegardent pour chaque fichier, une somme de contrôle pour vérifier l'intégrité du fichier. Cela permet donc de détecter des données corrompues et d'éventuellement de les corriger automatiquement.
C'est bien expliqué ici :
Bitrot and atomic COWs: Inside “next-gen” filesystems
Attention, utiliser ces systèmes de fichiers est un peu plus délicat qu'utiliser un système de fichier classique.
# À tout hasard
Posté par .Nicolas. . Évalué à 1.
Essaies de jeter un œil à
dmesg -w
durant la simple lecture des fichiers (pour aller vite avec un truc du genredd if=fichier of=/dev/null
oucat fichier>/dev/null
).[^] # Re: À tout hasard
Posté par electro575 . Évalué à 1.
Merci pour vos renseignements.
Bonne soirée.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.