无法在 Ubuntu 16.04 中安装 Oracle Java 8

无法在 Ubuntu 16.04 中安装 Oracle Java 8

我没有在 Ubuntu 16.04 Server 中安装任何奇怪的东西。几个小时前,我在 Ubuntu 16.04 Desktop VM 中做了一些测试,安装成功,但在我的专用服务器上似乎出了问题。

解释:

  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?

答案1

再次出现此问题是因为版本 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 的所有内容以及其他错误修复(在发行说明)。

答案2

根据Ubuntu 论坛上的这个帖子这似乎是 WebUpd8 方面的问题。

直到他们修复它为止,请手动安装:

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

答案3

看起来问题在于 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.*

相关内容