如何检查/测试.tar.bz档案?


12

我一直在使用tar及其“ --use-compress-prog = pbzip2”函数来存档我的文件,然后使用pbzip2对其进行压缩以获得“ * .tar.bz”存档。

之后,我使用pbzip2的“ -t”开关检查了生成的文件,并通过了测试。但是,令人惊讶的是,在尝试提取存档时出现“文件不完整”或其他完整性错误!

是因为tar文件可能有问题,但不是由pbzip2压缩时有问题吗?如果是这样,是否有办法检查tar文件本身?如果没有,这可能是什么其他问题?另外,是否有办法从有错误的tar文件中恢复数据?

恐怕在此过程中我可能已经丢失了一些重要数据...

关键是,我想知道一种在创建档案后测试其完整性的方法。


2
尝试使用普通的bunzip2而不是pbzip2解压缩。也有焦油的替代程序,例如'star'或Winrar
golimar

3
请发布您正在运行的命令。--use-compress-prog=pbzip2提取时您通过了吗?
Mikel

你好。我只想知道一种创建tar存档并通过bzip2压缩后测试其完整性的方法。
hpy 2012年

Answers:


8

首先测试bzip2压缩,它应该输出OK

bzip2 -tv FILE.tar.bz2

接下来解压缩tarball,只得到tar。

bunzip2 FILE.tar.bz2

最后验证tar文件,

tar -tvfW FILE.tar

确实,问题的最佳指示是提取失败。希望您可以缩小原因。我还应该提到...,我偶尔会遇到归档失败的验证,但仍然可以正确提取。


2
很高兴我能够指出您的方向!
JM Becker 2012年

可悲的是bzip2 -tv大约需要解压缩的时间,我希望有一种方法可以更快地测试可能被截断的文件

1
除了提取.tar.bz2文件以外,您还可以使用tar-j开关tvfW,(可以使用最新版本)直接读取bzip2文件
Tobias Kienzler 2013年

@TobiasKienzler,关于一起使用tar选项,您绝对正确,它速度更快,这也是我的第一个想法...。但是考虑到OP与他的压缩选项有些“不合常规”,我认为最好另外验证bzip2压缩。由于组合选项将专门验证tar,因此将bzip2解压缩,因此预先假设其压缩已经有效。
JM Becker

@TobiasKienzler,但是,如果只是涉及的焦油本身,则无需采取额外步骤。因此,我+1了您的评论,因为这通常是首选操作。
JM Becker 2013年

-2

除了上述解决方案之外,您始终可以将管道与tar一起使用:

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

1
为什么要下票?请解释...
sekmo '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.