时间:2010-07-25 22:48:45

标签: tar autotools autoconf automake

2 个答案:

答案 0 :(得分:14)

问题不在构建机器上;问题出在目标机器上。

并非tar的所有版本都会自动识别要应用于压缩tar文件的解压缩。假设gunzip后跟tar确实有效,那么目标计算机上的tar就是其中之一。主流Unix系统(AIX,HP-UX,Solaris)上的tar版本无法自动识别压缩的tar文件。 Linux和MacOS X上的那些。

请注意,您可以使用:

gzip -dc hello-0.2.tar.gz | tar -xf -

以避免创建中间未压缩文件。

答案 1 :(得分:4)

实际上,当您下载的服务器应用另一轮GZip并且您用于下载文件的客户端不读取/尊重HTTP Content-Encoding标头并存储HTTP有效负载时,可能会发生这种情况电线。

虽然该文件似乎只有扩展名.tar.gz,但事实上.tar.gz.gz。在文件仅获得扩展名gunzip后运行.tar之后,但这次仍然运行tar命令tar xf hello-0.2.tar识别GZip格式并在提取之前再次通过gunzip隐式运行该文件

您可以通过运行head hello-02.tar.gzhead hello-02.tar来检查此问题。 GZip是一种非常二进制的格式,而tar非常易读。如果.tar文件显示为“太二进制”,则表示您手上有双重编码的文件。