Tar

如何驗證 tar.gz 文件的完整性?

  • December 26, 2019

我有一個 17 GB 的 tar.gz 文件,它是一個目錄的 tar.gz 版本。tar 操作後我收到以下消息。

tar: Error exit delayed from previous errors

現在由於下載需要很長時間,我只想在下載之前確保文件是健康的。有沒有辦法確保文件的完整性而不需要很多時間?

目前,我發現的所有檢查解決方案都需要大量時間才能完成。

您不能假設該tar.gz文件是健康的,但恕我直言,它的可能性非常好。

一個非常常見的根本原因"Error exit delayed from previous errors"是文件的大小在處理時發生了變化,或者之前已經消失了。根據存檔包含的文件類型,這可能不是問題。無論如何,tar正確處理此類事件並且創建的檔案應該是可用的。

下次創建存檔時,我建議忘記v(詳細)選項或重定向stdout到文件。雖然它對於包含十幾個文件的小型檔案很有用,但它會在tar輸出中添加無用的噪音,然後您將在螢幕上看到錯誤消息(如果有),並且不會在終端模擬器回滾中失去。

tar czvf large.tar.gz someDirectory >/tmp/large.tar.list

當然,不能 100% 保證您的tar.gz文件是健康的。知道它的唯一方法是將它提取到某個地方,看看是否沒有出現錯誤。即使是這種情況,仍然有可能由於訪問權限問題而沒有保存某些文件,或者更奇怪的文件名/路徑名太長或無效、文件系統損壞、傳輸損壞等……

引用自:https://unix.stackexchange.com/questions/86334