如何设置 GNU/Linux 机器以自动更新较新版本的 Java 运行时环境 (JRE)?困难在于想要使用较新版本的 Java(目前为 Java 7),同时还要合理地更新错误修复,尤其是安全更新,而无需过多的手动工作。
您可以依赖 O/S 发行版,但它们天生保守,因此仅提供旧 Java 版本的错误修复版本。RedHat 6 上没有 Java 7。
您可以从 Oracle 网站手动下载 JRE,并设置JAVA_HOME
环境变量以指向它。但是,当您想要更新整个企业的多台机器时,这种方法不切实际。
是否有一种实用的方法,例如,在 RedHat 6 上使用 Java 7,并让 Java 7 JRE 随着 Oracle 发布错误修复而自动(或半自动)更新?
答案1
Oracle 没有维护一个 Yum 存储库供您指向,但您可以在本地创建一个并用新版本填充它。然后,将您的主机指向您的内部存储库,并有一个 cron 作业定期从中更新。这样做的好处是使用系统
alternatives
为所需版本设置环境变量。在大多数情况下,JAVA_HOME
将保持指向默认位置,即由 设置的符号链接alternatives
。在以前的工作中,我们有一些应用程序通过 NFS 导出。我曾经将最新版本符号链接到“最新”。可以
JAVA_HOME
默认使用此路径。这意味着只有一个地方可以更新,但允许最终用户根据需要在自己的环境中回滚或覆盖它。