Wie überprüfe ich die Dateiintegrität zwischen zwei Versionen derselben Datei?

0

In den letzten Jahren (seit ~ 2000) habe ich ab und zu Daten zwischen Festplatten verschoben und kopiert. Daten sind MP3, Anwendungen, Videos, Backups, E-Mails usw. und sie wurden zwischen mehreren Festplatten (und Festplattenarrays!) Und zwischen mehreren Dateisystemen wie FAT, NTFS, ReiserFS, Ext3, Ext4, JFS usw. verschoben / kopiert.

Kürzlich wurde ich darauf aufmerksam, dass einige RAR-Archive, einige ausführbare Dateien (bei denen es sich tatsächlich um komprimierte Archive handelt) und möglicherweise andere Dateien, die mir noch nicht aufgefallen sind, beschädigt sind. Ich weiß nicht, ob es hier nur unter komprimierten Dateien ein Muster gibt. Ich nehme an, es ist nicht nur dort beschränkt.

Um mit etwas anzufangen, überprüfte ich die Integrität der rar-Dateien in meinem Linux-Dateiserver mit find zusammen mit dem Befehl:

unrar t <rar files>

Das ist schön, aber ich kann nicht alle meine Archive auf diese Weise auf Integrität überprüfen, geschweige denn alle meine anderen Dateien (Dokumente, Fotos, MP3s, WAVs, ZIPs, die Liste ist natürlich endlos)

Ich möchte alle Dateien auf verschiedene Arten überprüfen.

  1. Die Dateisystemprüfung ist offensichtlich gut, aber es kann nicht wirklich helfen, wenn die Daten bereits beschädigt waren, bevor sie auf die Festplatte kopiert wurden, auf der sie sich gerade befinden, oder? Das aktuelle Dateisystem ist JFS.

  2. Könnte die 2. Prüfungsebene MD5-Prüfsummen sein? Ich habe Backups aller meiner Daten und könnte versuchen, die Prüfsummen abzugleichen. Würden beschädigte Dateien mir unterschiedliche Prüfsummen geben? Dies löst das Problem immer noch nicht, wenn eine Datei vor der letzten Kopie meiner Daten beschädigt wurde.

  3. Was könnte ich sonst noch überprüfen, um Ruhe zu finden?

  4. Der Vergleich meiner Daten mit meinen Backups ist ein großer Haken. Wie bei allem, was lebt, haben sich meine Daten im Laufe der Zeit „geändert“ und die Backups sind Momentaufnahmen, die sich danach nie mehr geändert haben. Zum einen hat sich die Verzeichnisstruktur geändert, Dateien wurden offensichtlich gelöscht oder an andere Speicherorte übertragen. Offensichtlich wird es ein Durcheinander sein, wenn der Befehl findverwendet wird, um eine Datei zwischen dem Sicherungsbaum und dem aktuellen Baum abzugleichen!

Hat sich jemand mit etwas Ähnlichem befasst und verfügt möglicherweise über Skripte (unter Verwendung von locate oder auf andere Weise), mit denen indizierte Einträge der Dateien schnell gefunden und verwendet werden können?

nass
quelle

Antworten:

2

MD5/ SHAPrüfsummen sind heutzutage der Goldstandard für die Prüfung der Dateiintegrität. Wenn Sie über die Originale verfügen, aus denen die Prüfsummen erstellt werden sollen, oder bereits über die Prüfsummen, ist dies die gründlichste Möglichkeit, den Inhalt der Dateien zu überprüfen. Dies kann jedoch mühsam sein, wenn Sie so viele Dateien haben, wie Sie vermuten.

Zusätzlich sind die RAR, ZIPund 7ZDateiformate sollten die CRC32 aller Dateien enthalten innerhalb gespeichert. Dies ist schwächer (dh es ist wahrscheinlicher, dass beschädigte Daten unentdeckt bleiben) als MD5 oder SHA, es kann jedoch trotzdem feststellen, ob beim Extrahieren einer Datei eine Beschädigung vorliegt, was bedeutet, dass das Archiv beschädigt ist. Diese werden jedes Mal automatisch überprüft, wenn Sie eine Datei aus einem Archiv extrahieren. unrar -t <rar files>testet im Grunde nur die CRC32-Prüfsummen für jede Datei im Archiv.

Darüber hinaus sollten Archivierungstools die Möglichkeit bieten, beim Erstellen .sfveines Archivs eine Datei zu generieren , die ein zusätzliches CRC32 des gesamten Archivs darstellt. Sie können dies verwenden, um die Integrität eines Archivs weiter zu überprüfen.

Wenn Sie Dateien von einem Dateisystem in ein anderes kopieren, können Sie mit einem speziellen Tool überprüfen, ob die Kopie erfolgreich und korrekt war. Für Windows, das ich verwende TeraCopy- aktivieren Sie einfach die Option "Verifizieren", bevor Sie mit dem Kopieren beginnen. TeraCopy liest die kopierten Dateien erneut, um zu überprüfen, ob sie tatsächlich an ihrem neuen Speicherort korrekt auf die Festplatte geschrieben wurden.

Darth Android
quelle
Hallo! Vielen Dank, dass Sie Q2 geklärt haben. Ich werde die Überprüfungsoptionen beim Kopieren unter Linux untersuchen (da dies derzeit auf meinem Dateiserver ausgeführt wird).
nass
1
Kein Problem! Vielleicht haben Sie mehr Glück, wenn Sie Ihre Unterfragen auf dieser Site in separate Fragen aufteilen, auf die Sie sich konzentrieren können, anstatt sie zusammenzufassen. Q3 ist keine Frage, die wirklich hierher passt (es ist eher eine Angelexpedition, während diese Seite für bestimmte Fragen konzipiert ist), aber Q4 ist etwas, das für sich allein gestellt werden könnte, wenn es hier nicht bereits gestellt wurde.
Darth Android