我有一台 Centos 6.2 机器。目前已安装 JDK 1.6.0_26。我想将其更新到当前发布版本 1.6.0_38。
我在某处看到一条评论sudo apt-get
;apt-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
答案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
(如果需要jar
,javadoc
等)添加到适当的 /bin/ 中。后一种情况可以工作,但会产生一些麻烦,特别是如果您无法首先删除当前的 java.lang.
但是,如果在 $PATH 前面添加:
export PATH=/usr/local/jdk7/bin/:$PATH
然后/usr/local/jdk7/bin
将在您现有的 java 之前或任何地方进行检查/usr/bin
- 没有麻烦。