Sie ordnen die Dateien in der falschen Reihenfolge zusammen, da dies unnötig ist ls -t
.
cat x* > out.iso
würde gut tun und die korrekte Ausgabe geben. POSIX garantiert, dass das Globbing Ihnen Dateien in sortierter Reihenfolge gibt.
Hier ist ein Auszug der Befehle, die ich als ich ausgeführt habe, split
und dann cat
eine Datei:
sh-3.2# split -b 600m bt4-final.iso sh-3.2# ls -hal total 6132096 drwxr-xr-x 6 root staff 204B Jan 12 19:59 . drwxr-xr-x 13 alien staff 442B Jan 12 19:54 .. -rw-r--r-- 1 root staff 1.5G Jan 12 19:56 bt4-final.iso -rw-r--r-- 1 root staff 600M Jan 12 19:58 xaa -rw-r--r-- 1 root staff 600M Jan 12 19:59 xab -rw-r--r-- 1 root staff 297M Jan 12 19:59 xac sh-3.2# cat $(ls -t x*) > bt4-final-reasembled.iso sh-3.2# ls bt4-final-reasembled.iso xaa xac bt4-final.iso xab sh-3.2# md5 bt4* MD5 (bt4-final-reasembled.iso) = edd4f24f3abcabb8a447a69eaa30ff39 MD5 (bt4-final.iso) = af139d2a085978618dc53cabc67b9269
Warum unterscheidet sich der MD5-Hash für die im Wesentlichen gleiche Datei?
Sie ordnen die Dateien in der falschen Reihenfolge zusammen, da dies unnötig ist ls -t
.
cat x* > out.iso
würde gut tun und die korrekte Ausgabe geben. POSIX garantiert, dass das Globbing Ihnen Dateien in sortierter Reihenfolge gibt.
Sie haben die Dateien in der falschen Reihenfolge wiederhergestellt. Bei der Verwendung von ls -t
werden zuerst die neuesten Dateien aufgeführt (dh, in Ihrem Fall der letzte aufgeteilte Block).
Sind Sie sicher, dass Sie sie in derselben Reihenfolge kombinieren? Wenn Sie sie in einer anderen Reihenfolge kombinieren, sollten Sie mit Sicherheit eine andere MD5-Summe erwarten.
Wenn Sie sie in der gleichen Reihenfolge kombinieren, sind die Bits gleich und Sie erhalten die gleiche MD5-Summe. Wenn die Bits nicht gleich sind, bedeutet dies wahrscheinlich, dass Ihr RAM schlecht ist. Siehe memtest86 .
Ich vermute, es liegt daran ls -t
, dass Sie nach der Zeit sortieren, also zuletzt in der Resamble-Datei
Da Sie sie nicht in der gleichen Reihenfolge wieder zusammensetzen, in der sie begonnen haben. Sie haben Recht, wenn Sie sie richtig zusammensetzen, sollte die MD5-Summe übereinstimmen. Hier ist ein triviales Beispiel:
$ cat > xaa This is the first file $ cat > xab This is the second file $ cat > xac This is the third file. $ cat $(ls -t x*) > final.txt $ cat final.txt This is the third file. This is the second file This is the first file
Versuche dies:
$ cat x* > good.txt $ cat good.txt This is the first file This is the second file This is the third file.
Irgendwie wurden einige Teile beschädigt, wurden umgeordnet, hinzugefügt oder entfernt, während sie sich aufspalteten und wieder zusammenfügen.