Centos 上的 Java 更新

Centos 上的 Java 更新

我有一台 Centos 6.2 机器。目前已安装 JDK 1.6.0_26。我想将其更新到当前发布版本 1.6.0_38。

我在某处看到一条评论sudo apt-getapt-get似乎不是这个盒子知道的命令。所以我跳过了那一个。

我在盒子上看到了一些 RPM 的东西,并且 RPM 是一个可识别的命令,所以我从 Oracle 下载了 JDK RPM.bin 文件,将其传输到 Linux 机器,对其进行 chmod,然后运行 ​​bin 文件 - 这显然是假设的提取并安装 RPM。执行此操作时遇到错误(抱怨./install.sfx.5513: /lib/ld-linux.so.2: bad ELF interpreter以及有关 JavaDB 的一些问题,我不知道这很重要),并且似乎没有任何变化。我尝试提取 RPM 文件(使用 -x 开关),但似乎仍然没有任何变化 - 如果提取了它,我不知道它去了哪里,也不知道我会在相关的 rpm 命令中输入什么来让它做某事。搜索该错误让我得到了一些建议,我需要安装 glibc - 但也开始谈论 Yum。

我还有 Yum - 这看起来可能是一个更有用的工具。我可以yum list jdk,它显示有一个从 yum 安装的软件包(“jdk.x86_64”),但yum update什么也不做。我yum install jdk一时兴起尝试了一下,它说“package jdk-1.6.0_26-fcs.x86_64已经安装并且是最新版本”,这很奇怪,因为26是不是最新版本。

关于我下一步应该尝试什么有什么建议吗?

答案1

奇怪的。执行 (*rpm.bin) 应该可以工作。您是否下载了适合您操作系统的 64 位或 32 位版本?

除此之外,Oracle Java 6 将于 2 月份停产。所以您现在应该切换到 Java 7。

对于您的其他问题 - 关于现有存储库 - 您的 jdk6u26 是最新可用的。这不会检查互联网上的任何 Oracle 资源。

遗憾的是 Oracle 不提供存储库(Adobe 现在提供)。只有存储库可以将更新“在线”链接到外部资源(例如http/Internet)。

答案2

我发现了一个与 ELF 错误相关的不同帖子/评论,有帮助。

yum install /lib/ld-linux.so.2

这安装了 glibc 的东西(显然这是 32 位与 64 位的问题?)。

然后我就能够在我的 /usr/java 文件夹中运行非 RPM 版本(也许 RPM 版本可以工作,但我也下载了非 RPM 版本,以防出现问题),并且它似乎已安装JDK。

我不知道我是否在混乱中做错了什么,但是,嘿,正在慢慢走向成功。

答案3

该站点展示了如何在 RHEL/CentOS/Fedora 上安装多个不同的软件包:

http://www.if-not-true-then-false.com/

特别是对于 Java:

http://www.if-not-true-then-false.com/2010/install-sun-oracle-java-jdk-jre-7-on-fedora-centos-red-hat-rhel/

答案4

关于我下一步应该尝试什么,有什么新手友好的建议吗?

如果你愿意使用 JDK 7,有一个 Oracle.tar.gz,这使得安装非常容易。不幸的是,没有适用于 JDK 6 的(:如果周围有一个普通的 rpm,您可以以大致相同的方式轻松提取其内容;包装成 bin 的 rpm 更困难)。

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

在这种情况下,您将解压到一个目录中,这意味着可执行文件不在 $PATH 之外。您可以将路径添加到 $PATH 或 softlink java,并且javac(如果需要jarjavadoc等)添加到适当的 /bin/ 中。后一种情况可以工作,但会产生一些麻烦,特别是如果您无法首先删除当前的 java.lang.

但是,如果在 $PATH 前面添加:

export PATH=/usr/local/jdk7/bin/:$PATH

然后/usr/local/jdk7/bin将在您现有的 java 之前或任何地方进行检查/usr/bin- 没有麻烦。

相关内容