问题描述:
主机上,使用tar -zxvf 解压tar.gz包的时候,出现以下错误:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
问题办法:
开门见山,先给出解决我这问题的办法。我的错误原因很简单:就是要解压的tar.gz包格式有错误。
用file FILE_NAME 命令,发现是data。
正确的格式应该是:gzip compressed data。
可能在上传过程中出现了网络问题(具体撒问题,待查),导致tar.gz包不是一个正确的tar.gz,所以重新上传一个tar.gz,再用命令解压就可以了。
下面记录解决的过程:
tar.gz 包是我的工程包,里面有共工程的基础jar包,还有依赖的jar包。
tar.gz包是本地打包后,用filezillaClient客户端传到,远程主机的本地,然后用scp命令,复制到远程主机的另一个用户下。
主机用tar -zxvf 解压tar.gz包的时候,解压报错,网上百度说:
然后咱就尝试下:
结果依然不行。。。。。。
这是在思考是主机问题,还是tar包问题。
首先排除主机问题:
在主机上解压另一个tar.gz包,看是否成功。
成功,则说明主机没有问题。
那么此时问题就可能是自己的tar包问题。用file FILE_NAME命令,在自己本地一下, 是:gzip compressed data
在这台主机上file下jdk的tar.gz,发现也是gzip compressed data。
然后file下自己工程的tar.gz,发下是data。
然后就上传了一个新的工程tar.gz。
再执行tar -zxvf XXX.tar.gz,成功。
原因分析:
我是用scp命令从远程主机的本地复制到远程主机用户下,应该是上传过程中,出现了问题,导致tar.gz类型有无。