How can a GNU/Linux machine be set up to automatically update a newer version of the Java Runtime Environment (JRE)? The difficulty is wanting to use a newer version of Java (Java 7, at present) and also be reasonably up to date with bugfixes, especially security updates, without excessive manual work.
You can rely on the the O/S distribution, but they are naturally conservative and therefore provide only bug-fixed versions of an older Java version. No Java 7 on RedHat 6.
You can manually download the JRE from the Oracle website, and set your JAVA_HOME
environment variable to point to it. But that is impractical when you want multiple machines across an enterprise to be updated.
Is there a practical way to, for example, use Java 7 on RedHat 6 and have the Java 7 JRE automatically (or semi automatically) updated as Oracle release bug fixes for it?
Best Answer
Oracle doesn't maintain a Yum repository to point to, but you could create one locally and populate it with new releases. Then, point your hosts at your internal repository and have a cron job that regularly updates from it. This has the benefit of using the
alternatives
system to setup the environment variables for a desired release. In most cases,JAVA_HOME
would stay pointing at the default location which is a symlink setup byalternatives
.In a previous job, we had some apps exported via NFS. And I used to symlink the latest version to "latest." The
JAVA_HOME
can default to this path. This meant one place to update but allowed end users to rollback or override it as needed in their own environment.