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

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

我知道在他们的路线图中,我认为不再支持公共版本,但直到最近它一直在努力。 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已经移动了下载链接,你仍然可以在跳过一些篮球后从oracle网站上获取tar球。 WebUpd8安装程序目前已损坏。 官方解释可在http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html找到。


下载方法1:登录Oracle站点

链接现在似乎是: 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(虽然你可以像其他答案一样用主机劫持它)。

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

如果你想从脚本下载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 

所以看起来像下载的直接链接不再起作用(如上面的Meir Maor所述)

以下是再次运行的步骤:

  1. 请访问http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html并接受许可。 下载我们需要的文件(在这种情况下为jdk-7u80-linux-x64.tar.gz)

  2. 假设文件已下载到Downloads目录,我们需要将其移至/ 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步

我刚试图安装Java 6(不要问)。

由于我的时间不够,我的答案很快而且很肮脏。 我注意到安装程序查找的URL是基于http的(vs https),这使得下面的解决方案成为可能。

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

  2. 下载请求的文件。 在你的情况下是jdk-7u80-linux-x64.tar.gz 。 见Meir Maor上面的回答

  3. 在本地Web服务器上,重新创建文件请求的路径结构。 在你的情况下是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服务器获取文件并成功完成。

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

由于Oracle对debian软件包的支持已经有一段时间了,我想你使用webupd8的方法

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

他们还提供了一种安装Java 8的方法: 在Ubuntu中安装Oracle Java 8 (从那里链接的Debian指令。)

编辑 :我认为Oracle不再提供Java 7的公共下载 – 您必须从Java Archive下载它。 ( http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

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

你可以在网上找到webupd8team ppa 。 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!!! 

不幸的是,我无法弄清楚如何向他们提出缺陷(但是),但可能这是一个快速解决方案

Interesting Posts