我一直在使用 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 -