Answers:
听起来你丢失了tarball所在的硬盘驱动器的一个扇区,因此该文件块全部为零。您可能希望再次下载它,或从备份或其他东西恢复。
有关该文件的第二个意见,请尝试gunzip
将其解压缩,然后解压缩tar xvf ...
。
您可能还想阅读该硬盘驱动器上的SMART计数器,看它是否报告任何待处理,重新映射或重新分配的坏扇区。如果您发现任何问题,请从硬盘驱动器中取出所有内容(或者如果您有足够的备份,请在某处测试备份以确保可以从中恢复所有内容),然后使用选定的选项擦除硬盘驱动器将零或随机数据写入驱动器的每个扇区。这是迫使硬盘重新映射任何坏扇区的唯一方法。但是,一旦硬盘驱动器开始出现故障,可能需要更换驱动器。
这可能是一个错误的constructet .tgz
文件。
单独的零块就意味着这一点。tar文件由头块和文件内容交错组成(头部确定将有多少文件内容块)。然后,文件由两个或多个零块终止。
现在,如果只有一个零块,并且文件在此之后结束,或者在该GNU之后存在非零块,tar
则将写入此诊断并终止(就好像文件在那里正确结束)。
如果您丢失了硬盘驱动器的扇区,可能会导致gzip
显示错误(并且tar会对此做出反应),例如:
gzip: stdin: unexpected end of file
tar: A lone zero block at 1754
tar: Child returned status 1
tar: Error is not recoverable: exiting now
类似地,如果下载过早终止gzip
也会发出错误。没有这些错误你就不可能.tgz
以某种方式受到伤害(gzip
很可能会检测到zip流中的位错误并为此提供错误)。
鉴于zip流是一致的,可以得出结论,.tar
打包的流是错误的(只有在打包存档时才会发生)。