apt-get 安装 oracle java 7 停止工作

apt-get installing oracle java 7 stopped working

最近apt-get install -y oracle-java7-installer停止工作。

我知道在他们的路线图中,我认为 public 版本不再受支持,但它一直在工作,直到最近。 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

有人解决这个问题吗?

http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz?AuthParam=1495560077_4041e14adcb5fd7e68827ab0e15dc3b1
Connecting to download.oracle.com (download.oracle.com)|96.6.45.99|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-05-23 10:19:17 ERROR 404: Not Found.

由于 Oracle 对 debian 软件包的支持很久以前就消失了,我想您使用 webupd8

的方法

转到我之前链接的他们的说明,检查您的配置是否仍然有效。

他们还提供了安装 Java 8 的方法:Install Oracle Java 8 in Ubuntu(从那里链接的 Debian 说明。)

编辑:我认为 Oracle 不再提供 public 下载 Java 7 - 您必须从 Java存档。 (http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html)

您可以尝试下载 rpm 包并使用 alien 将其转换为 .deb 包。您是否已经考虑更新到 Java 8?

看来 Oracle 已经移动了下载 link,你仍然可以在跳过一些箍后从 oracle 网站获取 tar 球。 WebUpd8 安装程序目前已损坏。官方解释可以在http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html

找到

下载方法一:登录Oracle网站

link现在好像是:http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz 请注意 "otn" 而不是 "otn-pub",但至少从网站上看,您似乎需要登录,而不仅仅是接受许可协议。

也许可以使用 debconf 将 url 从 otn-pub 更改为 otn 并让安装程序工作,但我还没有尝试过。您可以自己获取二进制文件,然后手动安装或使用安装程序将其指向您放置下载的 tar 球的任何位置。

编辑:似乎没有办法配置下载 URL(尽管您可以像另一个答案一样用主机劫持它)。

下载方法二:使用受信任的镜像

如果您想从脚本下载 jdk-7u80-linux-x64.tar.gz 而无需登录到 oracle,它托管的位置包括:

编辑:sha256 已从此答案中删除,因为(如此编辑所示)任何人都可以编辑所述哈希。从可信来源获取哈希值。建议包括:


安装方法 1:预填充缓存

#put the file in the default cache location:
sudo mv jdk-7u80-linux-x64.tar.gz /var/cache/oracle-jdk7-installer/

#then install normally: 
sudo apt-get install oracle-java7-installer

安装方法 2:(更优雅的恕我直言)将 tar 球放在任何地方并告诉安装程序在哪里看

#setup ppa (you probably came here after already doing this)
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

#put the file in a temporary location:
sudo mv jdk-7u80-linux-x64.tar.gz /tmp/


#set local path to /tmp (or any other path)
echo oracle-java7-installer oracle-java7-installer/local select /tmp | \
sudo /usr/bin/debconf-set-selections


#While your at it you may want tp approve license (or skip this and approve when prompted) 
echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | \
sudo /usr/bin/debconf-set-selections

#then install normally: 
sudo apt-get install oracle-java7-installer

我只是 运行 尝试安装 Java 6(不要问)。

由于我的时间不够,所以我可以快速而粗暴地回答。我注意到安装程序寻找的 URL 是基于 http 的(相对于 https),这使得下面的解决方案成为可能。

  1. 确保安装了网络服务器(我的盒子上已经安装了 Apache)

  2. 下载请求的文件。在你的情况下 jdk-7u80-linux-x64.tar.gz

  3. 在您的本地网络服务器上,重新创建请求的路径结构 文件。在你的情况下是 otn-pub/java/jdk/7u80-b15

  4. 将下载的文件复制到上面的路径中

  5. 编辑 /etc/hosts 并添加 127.0.0.1 download.oracle.com

  6. 运行 apt-get install -y oracle-java7-installer 再一次。

  7. 安装程序现在将从您的本地 Web 服务器获取文件并成功完成。

可能有更好的方法来做到这一点,但它对我有用。

看来下载的直接链接不再有效(如上文 Meir Maor 所述)

再次获取此 运行 的步骤如下:

  1. 转到 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html 并接受许可。下载我们需要的文件(本例中为jdk-7u80-linux-x64.tar.gz)

  2. 假设文件下载到您的下载目录,我们需要将它移动到/var/cache/oracle-jdk7-installer

    cd ~/Downloads (Change to directory to which you saved file from step 1)
    sudo mkdir /var/cache/oracle-jdk7-installer
    sudo mv jdk-7u80-linux-x64.tar.gz /var/cache/oracle-jdk7-installer/
    
  3. 不确定是否有必要,但我很幸运:

    echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
    
  4. 运行 现在是安装程序。它将使用我们保存在 /var/cache 中的文件,而不是尝试从 Oracle

    下载它
    sudo apt-get install oracle-java7-installer
    

我从 http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html

获得了第 3 步

您可以找到 webupd8team ppa's online。 oracle-java7-installer 的版本号为“7u80+7u60arm-0~webupd8~1”我猜所有提供的 ubuntu 版本都会出现此缺陷!

查看其中一个 ppa 的一些文件直接引用了由 Meir Maor

识别的损坏的 url
debian/oracle-java7-unlimited-jce-policy.postinst:PARTNER_URL=http://download.oracle.com/otn-pub/java/jce/7/$FILENAME
debian/oracle-java7-unlimited-jce-policy.config:PARTNER_URL=http://download.oracle.com/otn-pub/java/jce/7/$FILENAME
debian/oracle-java7-installer.config:   PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/7u80-b15/$FILENAME # Must be modified for each release!!!
debian/oracle-java7-installer.config:   PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/7u60-b19/$FILENAME # Must be modified for each release!!!
debian/oracle-java7-installer.postinst: PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/7u80-b15/$FILENAME # Must be modified for each release!!!
debian/oracle-java7-installer.postinst: PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/7u60-b19/$FILENAME # Must be modified for each release!!!

不幸的是,我还不知道如何向他们提出缺陷,但大概这是一个快速解决方案