Ich kann laufen:Warum unterscheiden sich die MD5-Hashes von zwei Tarballs der gleichen Datei?
echo "asdf" > testfile
tar czf a.tar.gz testfile
tar czf b.tar.gz testfile
md5sum *.tar.gz
und es stellt sich heraus, dass a.tar.gz
und b.tar.gz
verschiedenen md5 Hashes haben. Es stimmt, dass sie anders sind, was diff -u a.tar.gz b.tar.gz
bestätigt.
Welche zusätzlichen Flags muss ich an tar
übergeben, damit seine Ausgabe konsistent im Laufe der Zeit mit dem gleichen Eingang?
Der gzip-Header enthält die Änderungszeit der ursprünglichen Datei. Wenn die Eingabe von einem Stream kommt, anstatt eine Datei zu komprimieren, wird die aktuelle Zeit verwendet. – Barmar
@Barmar: Danke. Weißt du, wie das nicht passieren kann? –
Ich kann mir keinen guten Weg vorstellen. Ich wollte eine Antwort posten, wo du ein unkomprimiertes Tarball erstellst, kopiere es mit der '-p' Option, um' mtime' zu erhalten, und komprimiere dann jedes von ihnen. Aber das Problem besteht darin, dass 'gzip' auch den Eingabedateinamen in die Datei einfügt und die Dateinamen unterschiedlich sind. – Barmar