指定一个不同的位置来安装Java – RHEL6

在Red Hat Linux 6上安装Java JDK时,有没有一种方法可以指定所有已安装文件的位置? 目前,当我遵循安装指南中提到的步骤时,它默认为/usr/java/ ,我希望将所有文件安装在不同的位置。

您可以在临时目录中执行自解压缩*.bin ,并将生成的文件移动到您想要的任何目标位置。

我真的不喜欢安装程序创build随机符号链接打破备选系统的方式。

就个人而言,我不认为在非标准位置上使用JDK会有任何实际的价值。

为了处理Oracle JDK的更新,我的解决scheme是使用fpm创build一个RPM。 它会安装到默认位置,并添加一个安装后脚本来运行update-alternatives钩子,以便最新版本立即可用。 当然,使用旧Java版本的应用程序仍然需要重新启动。

您可以通过更改--prefix参数来调整我的解决scheme以适应您的需求。

 fpm -s dir -t rpm \ --prefix /usr/lib/jvm \ --force \ --name java-1.7.0-oraclejdk \ --version 1.7.0.25 \ --iteration 1 \ --epoch 20130621 \ --license 'Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX' \ --vendor 'Oracle' \ --category 'java' \ --architecture x86_64 \ --maintainer '' \ --exclude src.zip \ --description 'The Oracle JDK runtime environment.' \ --url http://www.oracle.com/ \ --after-install java-alternatives.sh \ --template-scripts \ --template-value priority=1725 \ --rpm-os el6 \ jdk1.7.0_25 
 alternatives --install /usr/bin/java java /usr/java/jdk<%= version >/jre/bin/java <%= priority > \ --slave /usr/bin/appletviewer appletviewer /usr/java/jdk<%= version >/bin/appletviewer \ --slave /usr/bin/apt apt /usr/java/jdk<%= version >/bin/apt \ --slave /usr/bin/ControlPanel ControlPanel /usr/java/jdk<%= version >/bin/ControlPanel \ --slave /usr/bin/extcheck extcheck /usr/java/jdk<%= version >/bin/extcheck \ --slave /usr/bin/idlj idlj /usr/java/jdk<%= version >/bin/idlj \ --slave /usr/bin/jar jar /usr/java/jdk<%= version >/bin/jar \ --slave /usr/bin/jarsigner jarsigner /usr/java/jdk<%= version >/bin/jarsigner \ --slave /usr/bin/javac javac /usr/java/jdk<%= version >/bin/javac \ --slave /usr/bin/javadoc javadoc /usr/java/jdk<%= version >/bin/javadoc \ --slave /usr/bin/javafxpackager javafxpackager /usr/java/jdk<%= version >/bin/javafxpackager \ --slave /usr/bin/javah javah /usr/java/jdk<%= version >/bin/javah \ --slave /usr/bin/javap javap /usr/java/jdk<%= version >/bin/javap \ --slave /usr/bin/java_vm java_vm /usr/java/jdk<%= version >/jre/bin/java_vm \ --slave /usr/bin/javaws javaws /usr/java/jdk<%= version >/bin/javaws \ --slave /usr/bin/jcmd jcmd /usr/java/jdk<%= version >/bin/jcmd \ --slave /usr/bin/jconsole jconsole /usr/java/jdk<%= version >/bin/jconsole \ --slave /usr/bin/jcontrol jcontrol /usr/java/jdk<%= version >/bin/jcontrol \ --slave /usr/bin/jdb jdb /usr/java/jdk<%= version >/bin/jdb \ --slave /usr/bin/jhat jhat /usr/java/jdk<%= version >/bin/jhat \ --slave /usr/bin/jinfo jinfo /usr/java/jdk<%= version >/bin/jinfo \ --slave /usr/bin/jmap jmap /usr/java/jdk<%= version >/bin/jmap \ --slave /usr/bin/jps jps /usr/java/jdk<%= version >/bin/jps \ --slave /usr/bin/jrunscript jrunscript /usr/java/jdk<%= version >/bin/jrunscript \ --slave /usr/bin/jsadebugd jsadebugd /usr/java/jdk<%= version >/bin/jsadebugd \ --slave /usr/bin/jstack jstack /usr/java/jdk<%= version >/bin/jstack \ --slave /usr/bin/jstat jstat /usr/java/jdk<%= version >/bin/jstat \ --slave /usr/bin/jstatd jstatd /usr/java/jdk<%= version >/bin/jstatd \ --slave /usr/bin/jvisualvm jvisualvm /usr/java/jdk<%= version >/bin/jvisualvm \ --slave /usr/bin/keytool keytool /usr/java/jdk<%= version >/bin/keytool \ --slave /usr/bin/native2ascii native2ascii /usr/java/jdk<%= version >/bin/native2ascii \ --slave /usr/bin/orbd orbd /usr/java/jdk<%= version >/bin/orbd \ --slave /usr/bin/pack200 pack200 /usr/java/jdk<%= version >/bin/pack200 \ --slave /usr/bin/policytool policytool /usr/java/jdk<%= version >/bin/policytool \ --slave /usr/bin/rmic rmic /usr/java/jdk<%= version >/bin/rmic \ --slave /usr/bin/rmid rmid /usr/java/jdk<%= version >/bin/rmid \ --slave /usr/bin/rmiregistry rmiregistry /usr/java/jdk<%= version >/bin/rmiregistry \ --slave /usr/bin/schemagen schemagen /usr/java/jdk<%= version >/bin/schemagen \ --slave /usr/bin/serialver serialver /usr/java/jdk<%= version >/bin/serialver \ --slave /usr/bin/servertool servertool /usr/java/jdk<%= version >/bin/servertool \ --slave /usr/bin/tnameserv tnameserv /usr/java/jdk<%= version >/bin/tnameserv \ --slave /usr/bin/unpack200 unpack200 /usr/java/jdk<%= version >/bin/unpack200 \ --slave /usr/bin/wsgen wsgen /usr/java/jdk<%= version >/bin/wsgen \ --slave /usr/bin/wsimport wsimport /usr/java/jdk<%= version >/bin/wsimport \ --slave /usr/bin/xjc xjc /usr/java/jdk<%= version >/bin/xjc