无法在Ubuntu 16.04中安装Oracle Java 8

我没有在我的Ubuntu 16.04服务器上安装任何奇怪的东西。 几个小时前我在我的Ubuntu 16.04桌面虚拟机上做了一些测试并且安装成功了,但是在我的专用中似乎出了点问题。

说明:

  1. 我重新安装了从Windows到Linux的专用操作系统(Ubuntu Server 16.04)

  2. 刚开始SSH,我就去了

    sudo apt-get update sudo apt-get upgrade 
  3. 然后我尝试安装Oracle Java 8

     $ sudo add-apt-repository ppa:webupd8team/java Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK7 / Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webup Ubuntu 16.10 Yakkety Yak is no longer supported by Canonical (and thus, Launchpad) More info (and Ubuntu installation instructions): - for Oracle Java 7: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in - for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubu Debian installation instructions: - Oracle Java 7: http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in- - Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in- Oracle Java 9 (for both Ubuntu and Debian): http://www.webupd8.org/2015/02/insta Oracle JDK 9 is now considered stable. There are currently only 64bit builds (nodownloads/index.html ) More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java Press [ENTER] to continue or ctrl-c to cancel adding it gpg: keyring `/tmp/tmp64tvseig/secring.gpg' created gpg: keyring `/tmp/tmp64tvseig/pubring.gpg' created gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com gpg: /tmp/tmp64tvseig/trustdb.gpg: trustdb created gpg: key EEA14886: public key "Launchpad VLC" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) 

    然后

     $ sudo apt update; sudo apt install oracle-java8-installer sudo apt update; sudo apt install oracle- Hit:1 http://mirror.hetzner.de/ubuntu/packages xenial InRelease Hit:2 http://mirror.hetzner.de/ubuntu/packages xenial-backports InRelease Hit:3 http://mirror.hetzner.de/ubuntu/packages xenial-updates InRelease Hit:4 http://mirror.hetzner.de/ubuntu/security xenial-security InRelease Get:5 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease [17.5 kB Hit:6 http://de.archive.ubuntu.com/ubuntu xenial InRelease Hit:7 http://de.archive.ubuntu.com/ubuntu xenial-updates InRelease Hit:8 http://de.archive.ubuntu.com/ubuntu xenial-backports InRelease Get:9 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB] Get:10 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial/main amd64 Packag Get:11 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial/main i386 Package Get:12 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial/main Translation- Fetched 126 kB in 0s (175 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 2 packages can be upgraded. Run 'apt list --upgradable' to see them. Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 oracle-java8-se Suggested packages: binutils-doc binfmt-support visualvm ttf-baekmuk | ttf-unfonts | ttf-unfonts-c ttf-arphic-uming firefox | firefox-2 | iceweasel | mozilla-firefox | iceape-br | midbrowser | moblin-web-browser | xulrunner | xulrunner-1.9 | konqueror | ch The following NEW packages will be installed: binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 oracle-java8-in 0 upgraded, 11 newly installed, 0 to remove and 2 not upgraded. Need to get 6,519 kB of archives. After this operation, 20.5 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://mirror.hetzner.de/ubuntu/packages xenial-updates/main amd64 binutil Get:2 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial/main amd64 oracle- Get:3 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial/main amd64 oracle- Get:4 http://mirror.hetzner.de/ubuntu/packages xenial/main amd64 java-common all Get:5 http://mirror.hetzner.de/ubuntu/packages xenial/main amd64 gsfonts all 1:8 Get:6 http://mirror.hetzner.de/ubuntu/packages xenial/main amd64 libfontenc1 amd Get:7 http://mirror.hetzner.de/ubuntu/packages xenial-updates/main amd64 libxfon Get:8 http://mirror.hetzner.de/ubuntu/packages xenial/main amd64 x11-common all Get:9 http://mirror.hetzner.de/ubuntu/packages xenial/main amd64 xfonts-encoding Get:10 http://mirror.hetzner.de/ubuntu/packages xenial-updates/main amd64 xfonts Get:11 http://mirror.hetzner.de/ubuntu/packages xenial/universe amd64 gsfonts-x1 Fetched 6,519 kB in 0s (24.8 MB/s) Preconfiguring packages ... Selecting previously unselected package binutils. (Reading database ... 57317 files and directories currently installed.) Preparing to unpack .../binutils_2.26.1-1ubuntu1~16.04.5_amd64.deb ... Unpacking binutils (2.26.1-1ubuntu1~16.04.5) ... Selecting previously unselected package java-common. Preparing to unpack .../java-common_0.56ubuntu2_all.deb ... Unpacking java-common (0.56ubuntu2) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Processing triggers for man-db (2.7.5-1) ... Setting up binutils (2.26.1-1ubuntu1~16.04.5) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Selecting previously unselected package oracle-java8-installer. (Reading database ... 57533 files and directories currently installed.) Preparing to unpack .../oracle-java8-installer_8u144-1~webupd8~0_all.deb ... Unpacking oracle-java8-installer (8u144-1~webupd8~0) ... Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ... Processing triggers for mime-support (3.59ubuntu1) ... Setting up java-common (0.56ubuntu2) ... Setting up oracle-java8-installer (8u144-1~webupd8~0) ... No /var/cache/oracle-jdk8-installer/wgetrc file found. Creating /var/cache/oracle-jdk8-installer/wgetrc and using default oracle-java8-installer wgetrc settings for it. Downloading Oracle Java 8... --2017-10-18 19:34:47-- http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz Resolving download.oracle.com (download.oracle.com)... 2.20.189.226, 2.20.190.214 Connecting to download.oracle.com (download.oracle.com)|2.20.189.226|:80... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: https://edelivery.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz [following] --2017-10-18 19:34:47-- https://edelivery.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz Resolving edelivery.oracle.com (edelivery.oracle.com)... 2a02:26f0:78:18e::2d3e, 2a02:26f0:78:196::2d3e, 104.108.49.101 Connecting to edelivery.oracle.com (edelivery.oracle.com)|2a02:26f0:78:18e::2d3e|:443... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz?AuthParam=1508348207_951d79ba516ffabdf4dcbded7e76c54f [following] --2017-10-18 19:34:47-- http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz?AuthParam=1508348207_951d79ba516ffabdf4dcbded7e76c54f Connecting to download.oracle.com (download.oracle.com)|2.20.189.226|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2017-10-18 19:34:48 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 Errors were encountered while processing: oracle-java8-installer E: Sub-process /usr/bin/dpkg returned an error code (1)** 

    这些输出最后说:

     **Oracle JDK 8 is NOT installed. dpkg: error processing package oracle-java8-installer (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: oracle-java8-installer E: Sub-process /usr/bin/dpkg returned an error code (1)** 

也许我应该尝试安装Oracle JDK 8?

根据Ubuntu论坛上的这个post,它似乎是WebUpd8方面的一个问题。

在修复之前,请手动安装:

https://docs.oracle.com/javase/8/docs/technotes/guides/install/linux_jdk.html

此问题再次发生,因为版本161已存档。 该版本目前由PPA引用。 您可以使用以下命令更新对172的引用(171 +错误修复,请参阅Oracle的Java下载1 ):

 cd /var/lib/dpkg/info sudo sed -i 's|JAVA_VERSION=8u161|JAVA_VERSION=8u172|' oracle-java8-installer.* sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/|' oracle-java8-installer.* sudo sed -i 's|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|SHA256SUM_TGZ="28a00b9400b6913563553e09e8024c286b506d8523334c93ddec6c9ec7e9d346"|' oracle-java8-installer.* sudo sed -i 's|J_DIR=jdk1.8.0_161|J_DIR=jdk1.8.0_172|' oracle-java8-installer.* 

然后跑

 sudo apt-get install oracle-java8-installer 

1 Java SE 8u172是一个补丁集更新,包括所有8u171以及其他错误修复(在发行说明中描述)。

看起来问题是PPA正在尝试下载java8U144,它现在是一个存档版本,因此URL不同(可通过http://download.oracle.com/otn/访问http://download.oracle.com/otn-pub/

唯一未通过otn-pub存档和访问的版本是151和152。

您可以使用此临时解决方法,直到他们解决此问题。

切换到dpkg目录

 cd /var/lib/dpkg/info 

然后运行以下命令: –

 sudo sed -i 's|JAVA_VERSION=8u144|JAVA_VERSION=8u152|' oracle-java8-installer.* sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/|' oracle-java8-installer.* sudo sed -i 's|SHA256SUM_TGZ="e8a341ce566f32c3d06f6d0f0eeea9a0f434f538d22af949ae58bc86f2eeaae4"|SHA256SUM_TGZ="218b3b340c3f6d05d940b817d0270dfe0cfd657a636bad074dcabe0c111961bf"|' oracle-java8-installer.* sudo sed -i 's|J_DIR=jdk1.8.0_144|J_DIR=jdk1.8.0_152|' oracle-java8-installer.*