Tar

如何檢查/測試 .tar.bz 檔案?

  • May 12, 2020

我一直在使用 tar 及其“–use-compress-prog=pbzip2”功能來歸檔我的文件,然後用 pbzip2 壓縮它們以獲得“*.tar.bz”存檔。

之後我用 pbzip2 的“-t”開關檢查了生成的文件,它通過了測試。然而,令我大吃一驚的是,我在嘗試提取檔案時遇到了“文件不完整”或其他完整性錯誤!

是不是因為 tar 文件可能有問題,但用 pbzip2 壓縮時卻沒有?如果是這樣,有沒有辦法檢查 tar 文件本身?如果不是,這可能是什麼其他問題?另外,有沒有辦法從有錯誤的 tar 文件中恢復數據?

我擔心我可能已經通過這個過程失去了一些重要的數據……

關鍵是,我想知道一種方法來測試我的檔案在創建後的完整性。

首先測試 bzip2 壓縮,它應該輸出OK.

bzip2 -tv FILE.tar.bz2

接下來解壓縮 tarball,只得到 tar。

bunzip2 FILE.tar.bz2

最後驗證tar文件,

tar -tvWf FILE.tar

說實話,問題的最佳指標是提取失敗。希望你能縮小原因。我還應該提到我偶爾會遇到存檔失敗驗證,但仍然可以正確提取。

除了上述解決方案之外,您始終可以使用帶有 tar 的管道:

pbzip2 -dc FILE.tar.bz2 | tar -tvfW -

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