Ubuntu 22.04では、この2つの方法でarchive_tgz sha256が異なることがわかりました。
tar czf /a/archive_tgz .
tar czf /dev/stdout . | split -d -b 200M - /a/archive. && cat /a/archive.* > /a/archive_tgz
これは正常ですか、それともファイルのブロックサイズに関連していますか?違いは何ですか?
ベストアンサー1
違いは修正時間の.
変更にあります。tarファイルに含まれています。(tar czf archive.tgz .
更新.
)。
tar czf /dev/stdout . | sha256sum
そして
tar czf archive.tgz .
sha256sum archive.tgz
別のハッシュが提供されました(none split
)。また警告しますtar: .: file changed as we read it
。
別のディレクトリに書き込むと.
変更時間は変わらないため、同じハッシュ値が提供されます。
tar czf ../archive.tgz .
sha256sum ../archive.tgz
split
ハッシュを比較して、これが問題ではないことを確認することもできます。
tar czf single-archive.tgz .
split -d -b 200M - single-archive.tgz archive. && cat archive.* >archive-combined.tgz
md5sum single-archive.tgz
md5sum archive-combined.tgz