繁体   English   中英

无法使用 wget 在 CentOS 机器上安装 oracle jdk

[英]Not able to install oracle jdk on CentOS machine using wget

我想在 CentOS 上安装 oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk

[root@ADARSH-PROD1 ~]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b27/jdk-8u131-linux-x64.rpm"

我收到输出:

Connecting to edelivery.oracle.com 
(edelivery.oracle.com)|23.211.196.232|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://download.oracle.com/otn-pub/java/jdk/8u131-b27/jdk-8u131-    linux-x64.rpm?AuthParam=1495864027_230ebffd10615c26528e8d2496500338 [following]
--2017-05-27 11:15:07--  http://download.oracle.com/otn-pub/java/jdk/8u131-    b27/jdk-8u131-linux-x64.rpm?    AuthParam=1495864027_230ebffd10615c26528e8d2496500338
Connecting to download.oracle.com (download.oracle.com)|184.25.109.32|:80...     connected.
HTTP request sent, awaiting response... 404 Not Found
2017-05-27 11:15:09 ERROR 404: Not Found.

Oracle 已更新链接生成机制。 它现在包含一些序列,这些序列对于某个版本似乎是持久的,但是以未知的机制生成。 此外,要下载除latest版本之外的任何版本,您现在需要拥有 Oracle 帐户:

对于生产用途,Oracle 建议下载最新的 JDK 和 JRE 版本并允许自动更新。

只有开发人员和企业管理员才能下载这些版本。

下载这些版本需要一个 oracle.com 帐户。 如果您没有 oracle.com 帐户,您可以使用本页顶部的链接了解更多信息并免费注册一个。

Oracle Java 档案页面查看更多信息。

所以你现在有两个选择。

选项 1.通过新的直接链接使用最新版本(现在是8u131 )。 在您接受许可协议后,可以在Java SE Development Kit 8 下载页面上找到该链接。 你的命令将是:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"

选项 2.切换到openjdk包:

yum install java-1.8.0-openjdk

OpenJDK 上查看有关 openjdk 安装的更多信息:下载和安装页面。

这种事情反复出现。 根本问题是 Oracle 希望您阅读并同意许可条款。

这是一件合法的事情。 如果您可以实施一种无需人工单击“我同意”按钮即可自动下载的方案,则某些法官可能会裁定协议条款不适用于您。

因此,Oracle 试图使自动下载 Java 的“免费”版本变得困难(或至少……不简单)。 他们时不时地改变机制。

解决这个问题的几种方法是:

  1. 询问 Oracle 如果您支付了许可费用,他们是否会让您访问稳定的下载站点(大概有密码访问控制)。 (我实际上不知道他们是否这样做。)

  2. 手动下载您需要的每个 Java 版本的发行版,并将它们保存在安全的私人位置1 然后更改您的自动部署代码以从该位置获取发行版。

  3. 切换到 OpenJDK 的 3rd 方提供商; 例如,Linux 包源,或提供免费和无限制下载 OpenJDK 二进制发行版的提供商之一。

我知道以上所有这些都需要付出一些努力。 但是,每次出现未预知的变化时,从“ http://download.oracle.com ” 进行脚本下载也会“开玩笑”。


1 - 1) 首先咨询您的律师。 我认为许可证允许这样做,但 IANAL。 2)请勿故意或不小心发布它们,否则您很可能会陷入侵犯版权的诉讼中!

对我来说,无论使用什么脚本,每次直接在我的远程 Linux 服务器上使用wget都会失败。 它要么将文件下载为 HTML,要么根本不下载。

执行此安装的最佳和最可靠的方法是

  1. 忘记wget并直接将文件下载到您的系统
  2. 使用 WinSCP 或任何其他免费的 SFTP 或 FTP 客户端将文件传输到您的服务器
  3. 然后从文件位置运行yum localinstall <file-name.rpm>

我遇到了与 jdk-8u131 的 OP 相同的问题,在检查了上面答案中的选项 1 命令后,我注意到它完全相同。 我剪切粘贴了选项 1 的答案,但它起作用了! 所以,然后我用我原来的电话(完全相同)再次尝试了几次,但它再次失败了几次,并显示相同的消息,然后在第 5 或 6 次去它工作......所以我想,一旦你使用最新的 URL,它与选项 1 一起工作正常,但您可能不止一次看到 404 错误 - 如果是这样,请等待然后重试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM