Created
March 12, 2015 22:46
-
-
Save jaehoo/a39c7bfba1cd7673932e to your computer and use it in GitHub Desktop.
Java JDK installer v2.0 for Suse
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
## | |
# Install Oracle/Sun Java JDK/JRE 6 on openSUSE | |
## | |
#JDK_HOME | |
echo -n "Enter JDK_HOME:" | |
read path | |
echo -n "Enter Java version (1.5, 1.6_45):" | |
read version | |
if [ -z $path ] || [ -z $version ] | |
then | |
echo "No argument supplied" | |
exit 1 | |
fi | |
if [ ! -d "$path" ]; then | |
echo "$path is not a valid dir" | |
exit 1 | |
fi | |
# Update this with JDK_HOME | |
JDK_HOME=$path | |
#version=1.6.0 | |
# Normally not changed. Used to detect architecture, and set helper variables | |
MACHINE_TYPE=`uname -m` | |
if [ ${MACHINE_TYPE} == 'x86_64' ]; then | |
LIB_DIR=/usr/lib64 | |
JAVA_ARCH=amd64 | |
else | |
LIB_DIR=/usr/lib | |
JAVA_ARCH=i386 | |
fi | |
update-alternatives --verbose --install /usr/bin/javac javac ${JDK_HOME}/bin/javac 20000 \ | |
--slave ${LIB_DIR}/jvm/java-${version}-sun java_sdk ${JDK_HOME}/ \ | |
--slave ${LIB_DIR}/jvm-exports/java-${version}-sun java_sdk_exports ${JDK_HOME}/ \ | |
--slave /usr/bin/javah javah ${JDK_HOME}/bin/javah \ | |
--slave /usr/bin/jrunscript jrunscript ${JDK_HOME}/bin/jrunscript \ | |
--slave /usr/bin/jinfo jinfo ${JDK_HOME}/bin/jinfo \ | |
--slave /usr/bin/jconsole jconsole ${JDK_HOME}/bin/jconsole \ | |
--slave /usr/bin/native2ascii native2ascii ${JDK_HOME}/bin/native2ascii \ | |
--slave /usr/bin/apt apt ${JDK_HOME}/bin/apt \ | |
--slave /usr/bin/jhat jhat ${JDK_HOME}/bin/jhat \ | |
--slave /usr/bin/jdb jdb ${JDK_HOME}/bin/jdb \ | |
--slave /usr/bin/wsimport wsimport ${JDK_HOME}/bin/wsimport \ | |
--slave /usr/bin/extcheck extcheck ${JDK_HOME}/bin/extcheck \ | |
--slave /usr/bin/serialver serialver ${JDK_HOME}/bin/serialver \ | |
--slave /usr/bin/javadoc javadoc ${JDK_HOME}/bin/javadoc \ | |
--slave /usr/bin/jarsigner jarsigner ${JDK_HOME}/bin/jarsigner \ | |
--slave /usr/bin/jmap jmap ${JDK_HOME}/bin/jmap \ | |
--slave /usr/bin/wsgen wsgen ${JDK_HOME}/bin/wsgen \ | |
--slave /usr/bin/jps jps ${JDK_HOME}/bin/jps \ | |
--slave /usr/bin/jstat jstat ${JDK_HOME}/bin/jstat \ | |
--slave /usr/bin/rmic rmic ${JDK_HOME}/bin/rmic \ | |
--slave /usr/bin/schemagen schemagen ${JDK_HOME}/bin/schemagen \ | |
--slave /usr/bin/jstatd jstatd ${JDK_HOME}/bin/jstatd \ | |
--slave /usr/bin/xjc xjc ${JDK_HOME}/bin/xjc \ | |
--slave /usr/bin/jstack jstack ${JDK_HOME}/bin/jstack \ | |
--slave /usr/bin/appletviewer appletviewer ${JDK_HOME}/bin/appletviewer \ | |
--slave /usr/bin/jsadebugd jsadebugd ${JDK_HOME}/bin/jsadebugd \ | |
--slave /usr/bin/jar jar ${JDK_HOME}/bin/jar \ | |
--slave /usr/bin/javap javap ${JDK_HOME}/bin/javap \ | |
--slave /usr/bin/HtmlConverter HtmlConverter ${JDK_HOME}/bin/HtmlConverter \ | |
--slave /usr/bin/idlj idlj ${JDK_HOME}/bin/idlj \ | |
--slave /usr/bin/jcontrol jcontrol ${JDK_HOME}/bin/jcontrol \ | |
--slave /usr/bin/jvisualvm jvisualvm ${JDK_HOME}/bin/jvisualvm \ | |
--slave /usr/share/man/man1/jstack.1.gz jstack.1.gz ${JDK_HOME}/man/man1/jstack.1 \ | |
--slave /usr/share/man/man1/native2ascii.1.gz native2ascii.1.gz ${JDK_HOME}/man/man1/native2ascii.1 \ | |
--slave /usr/share/man/man1/javadoc.1.gz javadoc.1.gz ${JDK_HOME}/man/man1/javadoc.1 \ | |
--slave /usr/share/man/man1/jstatd.1.gz jstatd.1.gz ${JDK_HOME}/man/man1/jstatd.1 \ | |
--slave /usr/share/man/man1/jstat.1.gz jstat.1.gz ${JDK_HOME}/man/man1/jstat.1 \ | |
--slave /usr/share/man/man1/schemagen.1.gz schemagen.1.gz ${JDK_HOME}/man/man1/schemagen.1 \ | |
--slave /usr/share/man/man1/jinfo.1.gz jinfo.1.gz ${JDK_HOME}/man/man1/jinfo.1 \ | |
--slave /usr/share/man/man1/javap.1.gz javap.1.gz ${JDK_HOME}/man/man1/javap.1 \ | |
--slave /usr/share/man/man1/jarsigner.1.gz jarsigner.1.gz ${JDK_HOME}/man/man1/jarsigner.1 \ | |
--slave /usr/share/man/man1/jrunscript.1.gz jrunscript.1.gz ${JDK_HOME}/man/man1/jrunscript.1 \ | |
--slave /usr/share/man/man1/xjc.1.gz xjc.1.gz ${JDK_HOME}/man/man1/xjc.1 \ | |
--slave /usr/share/man/man1/wsimport.1.gz wsimport.1.gz ${JDK_HOME}/man/man1/wsimport.1 \ | |
--slave /usr/share/man/man1/serialver.1.gz serialver.1.gz ${JDK_HOME}/man/man1/serialver.1 \ | |
--slave /usr/share/man/man1/apt.1.gz apt.1.gz ${JDK_HOME}/man/man1/apt.1 \ | |
--slave /usr/share/man/man1/rmic.1.gz rmic.1.gz ${JDK_HOME}/man/man1/rmic.1 \ | |
--slave /usr/share/man/man1/jconsole.1.gz jconsole.1.gz ${JDK_HOME}/man/man1/jconsole.1 \ | |
--slave /usr/share/man/man1/jmap.1.gz jmap.1.gz ${JDK_HOME}/man/man1/jmap.1 \ | |
--slave /usr/share/man/man1/appletviewer.1.gz appletviewer.1.gz ${JDK_HOME}/man/man1/appletviewer.1 \ | |
--slave /usr/share/man/man1/jps.1.gz jps.1.gz ${JDK_HOME}/man/man1/jps.1 \ | |
--slave /usr/share/man/man1/jsadebugd.1.gz jsadebugd.1.gz ${JDK_HOME}/man/man1/jsadebugd.1 \ | |
--slave /usr/share/man/man1/jhat.1.gz jhat.1.gz ${JDK_HOME}/man/man1/jhat.1 \ | |
--slave /usr/share/man/man1/javah.1.gz javah.1.gz ${JDK_HOME}/man/man1/javah.1 \ | |
--slave /usr/share/man/man1/jar.1.gz jar.1.gz ${JDK_HOME}/man/man1/jar.1 \ | |
--slave /usr/share/man/man1/wsgen.1.gz wsgen.1.gz ${JDK_HOME}/man/man1/wsgen.1 \ | |
--slave /usr/share/man/man1/jdb.1.gz jdb.1.gz ${JDK_HOME}/man/man1/jdb.1 \ | |
--slave /usr/share/man/man1/javac.1.gz javac.1.gz ${JDK_HOME}/man/man1/javac.1 \ | |
--slave /usr/share/man/man1/extcheck.1.gz extcheck.1.gz ${JDK_HOME}/man/man1/extcheck.1 \ | |
--slave /usr/bin/unpack200 unpack200 ${JDK_HOME}/jre/bin/unpack200 \ | |
--slave /usr/bin/pack200 pack200 ${JDK_HOME}/jre/bin/pack200 \ | |
--slave /usr/share/man/man1/unpack200.1.gz unpack200.1.gz ${JDK_HOME}/man/man1/unpack200.1 \ | |
--slave /usr/share/man/man1/pack200.1.gz pack200.1.gz ${JDK_HOME}/man/man1/pack200.1 | |
update-alternatives --verbose --install /usr/bin/java java ${JDK_HOME}/jre/bin/java 20000 \ | |
--slave ${LIB_DIR}/jvm/jre-${version}-sun jre ${JDK_HOME}/jre \ | |
--slave ${LIB_DIR}/jvm-exports/jre-${version}-sun jre_exports ${JDK_HOME}/jre \ | |
--slave /usr/bin/ControlPanel ControlPanel ${JDK_HOME}/bin/ControlPanel \ | |
--slave /usr/bin/rmid rmid ${JDK_HOME}/jre/bin/rmid \ | |
--slave /usr/bin/policytool policytool ${JDK_HOME}/jre/bin/policytool \ | |
--slave /usr/bin/orbd orbd ${JDK_HOME}/jre/bin/orbd \ | |
--slave /usr/bin/rmiregistry rmiregistry ${JDK_HOME}/jre/bin/rmiregistry \ | |
--slave /usr/bin/tnameserv tnameserv ${JDK_HOME}/jre/bin/tnameserv \ | |
--slave /usr/bin/keytool keytool ${JDK_HOME}/jre/bin/keytool \ | |
--slave /usr/bin/servertool servertool ${JDK_HOME}/jre/bin/servertool \ | |
--slave /usr/share/man/man1/keytool.1.gz keytool.1.gz ${JDK_HOME}/man/man1/keytool.1 \ | |
--slave /usr/share/man/man1/rmid.1.gz rmid.1.gz ${JDK_HOME}/man/man1/rmid.1 \ | |
--slave /usr/share/man/man1/orbd.1.gz orbd.1.gz ${JDK_HOME}/man/man1/orbd.1 \ | |
--slave /usr/share/man/man1/servertool.1.gz servertool.1.gz ${JDK_HOME}/man/man1/servertool.1 \ | |
--slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz ${JDK_HOME}/man/man1/rmiregistry.1 \ | |
--slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz ${JDK_HOME}/man/man1/tnameserv.1 \ | |
--slave /usr/share/man/man1/java.1.gz java.1.gz ${JDK_HOME}/man/man1/java.1 \ | |
--slave /usr/share/man/man1/policytool.1.gz policytool.1.gz ${JDK_HOME}/man/man1/policytool.1 | |
update-alternatives --verbose --install ${LIB_DIR}/browser-plugins/libjavaplugin.so javaplugin ${JDK_HOME}/jre/lib/${JAVA_ARCH}/libnpjp2.so 20000 \ | |
--slave /usr/bin/javaws javaws ${JDK_HOME}/jre/bin/javaws \ | |
--slave /usr/share/man/man1/javas.1.gz javaws.1.gz ${JDK_HOME}/man/man1/javaws.1 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Great script. I was looking for something like that, but for JRE. Anyway, I was trying to add an "auto path discovering" to avoid ask user for any path, based on next command:
rpm -ql $(rpm -qa | grep jre) | grep libnpjp2.so
That will return absolute path to libnpjp2.so and use it like in:
plugin=$(rpm -ql $(rpm -qa | grep jre) | grep libnpjp2.so) && ln -svf "$plugin" /usr/lib/browser-plugins/
for 32bits or
plugin=$(rpm -ql $(rpm -qa | grep jre) | grep libnpjp2.so) && ln -svf "$plugin" /usr/lib64/browser-plugins/
for 64bits.
But you solved perfectly the architecture difficulty, so I would like to make universal your script, only asking user about version, as actual JDK version, 8u71 to simplify the user input.
Please, any suggestion?
Thank you