在 Red Hat Linux 6 上安装 Java JDK 时,有没有办法指定所有安装文件的位置?目前,当我按照安装指南,它默认为/usr/java/
,我想将所有文件安装在单独的位置。
答案1
您可以在临时目录中执行自解压*.bin
,然后将生成的文件移动到您想要的任何目的地。
我真的不喜欢安装程序创建随机符号链接来破坏替代系统的方式。
不过,就我个人而言,我并不认为将 JDK 放置在非标准位置有任何实际价值。
为了处理 Oracle JDK 的更新,我的解决方案是使用以下方法创建 RPM平均流量。它安装到默认位置,并添加了一个安装后脚本来运行钩子,update-alternatives
以便最新版本立即可用。当然,使用旧 Java 版本的应用程序仍然需要重新启动。
您可以通过更改参数来调整我的解决方案以满足您的需求--prefix
。
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