den*_*m69 16 automake autoconf autotools tar
运行后,make distcheck
我收到消息说我已经成功构建了包并准备好分发.如果我的解压tar.gz
用tar -zxvf hello-0.2.tar.gz
它成功地提取它的所有内容.但是,当我尝试在不同的机器中提取它们时,我得到:
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
Run Code Online (Sandbox Code Playgroud)
奇怪的是它以前工作过.
在我正在尝试构建软件包的机器上,我已经更新了我automake 1.10.1, autoconf 2.61, and tar 1.20 to automake 1.11.1, autoconf 2.65, and tar 1.23
的问题并且仍然存在同样的问题.
任何想法可能是什么问题?
Jon*_*ler 14
问题不在构建机器上; 问题出在目标机器上.
并非所有版本都tar
自动识别要应用于压缩tar
文件的解压缩.鉴于gunzip
后面的tar
工作,那么tar
你的目标机器就是这样的.的版本tar
上的主流Unix系统(AIX,HP-UX,Solaris)上不承认压缩tar文件自动.Linux和MacOS X上的那些.
请注意,您可以使用:
gzip -dc hello-0.2.tar.gz | tar -xf -
Run Code Online (Sandbox Code Playgroud)
避免创建中间未压缩文件.
实际上,当您下载的服务器应用另一轮 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.gz
和来检查这一点head hello-02.tar
。GZip 是一种非常二进制的格式,而 tar 则非常适合人类阅读。如果 .tar 文件看起来“太二进制”,那么您手上就有一个双重编码的文件。
归档时间: |
|
查看次数: |
29133 次 |
最近记录: |