我有一个.tar.gz压缩文件中的大量文件。用命令如何从损坏的.tar.gz存档中恢复文件?
file SMS.tar.gz
检查文件类型给出了回应
gzip compressed data - deflate method , max compression
当我尝试提取与gunzip解存档,延迟一段时间后我收到消息
gunzip: SMS.tar.gz: unexpected end of file
有任何方式来恢复甚至部分档案?
我有一个.tar.gz压缩文件中的大量文件。用命令如何从损坏的.tar.gz存档中恢复文件?
file SMS.tar.gz
检查文件类型给出了回应
gzip compressed data - deflate method , max compression
当我尝试提取与gunzip解存档,延迟一段时间后我收到消息
gunzip: SMS.tar.gz: unexpected end of file
有任何方式来恢复甚至部分档案?
您确定它是一个gzip文件吗?我会首先运行'file SMS.tar.gz'来验证。
然后我会阅读The gzip Recovery Toolkit页面。
恢复是可能的,但它取决于造成腐败的原因。
如果文件刚被截断,得到部分结果不是很难;只是运行
gunzip <SMS.tar.gz> SMS.tar.partial
尽管最后出现错误,它仍会给出一些输出。
如果压缩文件有大量缺失块,那么在坏块之后基本没有希望。
如果压缩文件以小的方式系统地被破坏(例如以ASCII模式传输二进制文件,这会破坏整个文件中的回车符和换行符),但可以恢复但需要相当多的自定义编程,如果你完全没有其他追索权(没有备份),并且数据值得付出很大的努力,那才是真正值得的。 (我已经成功完成了。)我在previous question中提到过这种情况。
由于zip档案有多个独立压缩的成员,所以.zip文件的答案有所不同,所以有更多的希望(尽管大多数商业工具相当虚假,它们通过修补CRC来消除警告,而不是恢复良好的数据)。但是你的问题是关于一个.tar.gz文件,它是一个大成员的档案。
在这个过程之后很可能会有一个不可读的文件。幸运的是,有一个工具可以解决这个问题,并从中获取部分数据:http://riaschissl.bestsolution.at/2015/03/repair-corrupt-tar-archives-the-better-way/ – JohnEye 2016-10-04 11:27:04
这是我们遇到的一种可能的情况。我们有这不会解压缩tar.gz文件,试图解压给了错误:
gzip -d A.tar.gz
gzip: A.tar.gz: invalid compressed data--format violated
我想通了,该文件可以被最初上传了非二进制FTP连接(我们不知道当然)。
该解决方案使用UNIX dos2unix
实用
dos2unix A.tar.gz
dos2unix: converting file A.tar.gz to UNIX format ...
tar -xvf A.tar
file1.txt
file2.txt
....etc.
它的工作是比较简单! 这是一个渺茫的可能性,也许值得一试 - 它可能会帮助那里的某个人。
gzrecover未安装在Mac OS上。但是,Liudvikas Bukys的方法运行良好。如果将tcpdump传送到gzip,用Control-C杀死,意外的EOF尝试解压缩pipee文件。 – George 2014-03-01 18:57:08
gzip恢复工具包是巨大的。谢谢! – Nemo 2016-06-24 02:49:49