
我一直在使用 tar 及其“--use-compress-prog=pbzip2”函數來存檔我的文件,然後使用 pbzip2 壓縮它們以獲得“*.tar.bz”存檔。
之後我用 pbzip2 的“-t”開關檢查了生成的文件,它通過了測試。然而,令我驚訝的是,我在嘗試提取存檔時遇到了“文件不完整”或其他完整性錯誤!
是不是因為tar檔案可能有問題,但用pbzip2壓縮時卻沒有問題?如果是這樣,有沒有辦法檢查 tar 檔案本身?如果不是,這可能是什麼其他問題?另外,有沒有辦法從有錯誤的 tar 檔案中恢復資料?
我擔心我可能已經在這個過程中丟失了一些重要數據...
重點是,我想知道一種方法來測試我的檔案創建後的完整性。
答案1
先測試 bzip2 壓縮,應該輸出OK
.
bzip2 -tv FILE.tar.bz2
接下來解壓縮 tar 包,只得到 tar。
bunzip2 FILE.tar.bz2
最後驗證tar文件,
tar -tvWf FILE.tar
事實上,問題的最佳指標是提取失敗。希望您能縮小原因範圍。我還應該提到我偶爾會遇到存檔驗證失敗的情況,但仍然可以正確提取。
答案2
除了上述解決方案之外,您始終可以使用帶有 tar 的管道:
pbzip2 -dc FILE.tar.bz2 | tar -tvfW -