1、我用命令
wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
下载之后,用tar -xvzf jdk-7u79-linux-x64.tar.gz解压,出现以下的错误:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
的错误。
原因:
原因我找到了原因:
使用wget -N 下载了个maven包,http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.3-bin.tar.gz,解压的时候一直报这个错误。觉得很奇怪,google了下发现很多解决方法都没有用,最后发现这个问题实际是这样的。 http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.3-bin.tar.gz指向的是一个页面,具体的下载的包包含在这个页面的一个link中,因此运行上述下载命令下载的实际是一个html的page。这一点可以用file命令查看证实。 file apache-maven-3.0.3-bin.tar.gz apache-maven-3.0.3-bin.tar.gz: HTML document 所以报错的原因在这里,而不是解压命令不对的问题。 语 法:file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...] 补充说明:通过file指令,我们得以辨识该文件的类型。 参 数: -b 列出辨识结果时,不显示文件名称。 -c 详细显示指令执行过程,便于排错或分析程序执行的情形。 -f<名称文件> 指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。 -L 直接显示符号连接所指向的文件的类别。 -m<魔法数字文件> 指定魔法数字文件。 -v 显示版本信息。 -z 尝试去解读压缩文件的内容。
其实是下载的是html的:
# file jdk-7u79-linux-x64.tar.gz
jdk-7u79-linux-x64.tar.gz: HTML document text
正确的下载方法:
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
(Oracle官网上下载jdk,需要点击accept licence的才能下载,使用下面的命令,直接可以下载。)