日常运维中,在安装某些软件包时需要先进行解压,但是解压时出现了报错,错误内容如下:
[root@localhost ~]# tar -zxvf php-5.6.38.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
出现上面所示报错时,我们先不要急,此报错,有两种可能:
第一:软件包由于传出过程中受损,导致解压失败而报错
第二:tar使用了不受软件包支持的参数
首先,我们检查软件包是否有受损。与官方的包进行比较,看大小或者MD5校验,如果有受损,重新下载,再进行解压可解决。
其次,上一步如果正常,那就是参数使用的问题,我们看,这里我们使用了 tar -zxvf,参数解释
-z,是否同时具有 gzip 的属性
-x,解压一个压缩文件
-v,显示详细信息
-f,使用文档名,在其后紧跟一个文档名
到这里,我们可以尝试一下去掉 -z 参数,用 tar -xvf
经过尝试,发现可正常解压,由此可以判断,其源文件再压缩过程中,并未使用 -z 参数。我们解压时使用了,所以才会报错。