回到主页

Ubuntu JDK PPA方式安装失败解决方法

ubuntu 16.04 x64 & JDK 8 & ERROR 404 Not Found

· 运维,Ubuntu

自从有了PPA安装方式,Ubuntu安装JDK就是非常快捷了,安装参考链接1 的方法,很快就能搞定。

最近可能是Oracle方便做了限制,这套流程安装到一半会报错:


Connecting to download.oracle.com (download.oracle.com)|23.215.130.99|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-10-18 11:07:34 ERROR 404: Not Found.

download failed
Oracle JDK 8 is NOT installed.
dpkg: error processing package oracle-java8-installer (--configure):
 subprocess installed post-installation script returned error exit status 1

结合参考链接4、5两个帖子,整理了一个可以继续往下走的流程如下

下载 Java SE Development Kit 8u162

下载链接参考链接3,选择 jdk-8u162-linux-x64.tar.gz

替换dpkg info

进入dpkg/info目录,将PPA预构建的151版本替换成162


cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u151|JAVA_VERSION=8u162|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="68ec82d47fd9c2b8eb84225b6db398a72008285fafc98631b1ff8d2229680257"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_162|' oracle-java8-installer.*

将下载的8u162放到缓存目录并再次安装

清理掉/var/cache/oracle-jdk8-installer/ 目录下原来下载失败的8u151的包

sudo mv jdk-8u(downloadedversion)-linux-x64.tar.gz /var/cache/oracle-jdk8-installer/

再次执行安装(会发现缓存目录已经存在安装包,且散列值与dpkg info下的一致,自动跳过下载进入安装步骤)

sudo apt-get install oracle-java8-installer
附:unable to resolve host问题

参考2,新装的机器偶尔会出现这个问题,去host文件里把主机名加上即可

127.0.0.1 localhost xxxyyyzzz # 要保证这个主机名和 /etc/hostname 中的主机名一致

参考链接