从腐败的tar档案中提取好文件

时间:2016-09-06 10:35:36

标签: linux

我有一个包含许多xml文件的大型tar存档。此存档中的几个xml文件已损坏。如何在不退出程序的情况下提取好的文件?

gz中有一个tar文件

tar zxf myFile.gz

tar: Unexpected EOF in archive
tar: rmtlseek not stopped at a record boundary
tar: Error is not recoverable: exiting now

3 个答案:

答案 0 :(得分:1)

从文件名看起来,好像你正在尝试解压缩不是tar存档的东西。通常,tar文件的扩展名为.tar,如果已经使用gzip压缩,则为.tar.gz.tgz

您正在运行的命令z选项tar尝试首先撤消gzip压缩,然后解压缩生成的存档。但是从.gz扩展名来看,它看起来好像你有一个gzip压缩文件而不是一个gzipped压缩文件。

最好的办法是检查文件以找出它是什么类型的文件:

file myFile.gz

这会告诉你它是否是gzipped或其他什么。如果是gzip,那么运行

gunzip myFile.gz

这将使myFile没有延期;然后你可以使用

file myFile

调查它以确定它是否是tar存档或其他东西。

答案 1 :(得分:0)

  • mv myFile.gz myFile.tar.gz
  • gunzip myfile.tar.gz
  • tar xf myFile.tar

答案 2 :(得分:0)

您可以先尝试 bzip2recover 尝试恢复绑定!

bzip2recover file.bzip 

例如来自手册: 如果 .gz 文件的一个成员损坏,其他成员仍然可以恢复(如果 文件:损坏的输入。使用zcat恢复一些数据。

usage: zcat file > recover