Java 8 jdk and update-alternatives on Leap

Having recently installed the Java 8 from Oracle I thought it might be help if I posted two scripts that I used to set the alternatives for selection.

My system has a 64 bit processor so alterations will be required for a 32 bit system.
The file downloaded was jdk-8u66-linux-x64.rpm and was installed using apper.
I then ran script:

#!/bin/bash

sudo ln -s -T /usr/java/jdk1.8.0_66/ /usr/lib64/jdk_Oracle

sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/java.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/keytool.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/orbd.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/policytool.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/rmid.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/rmiregistry.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/servertool.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/tnameserv.1)

sudo mkdir /usr/lib64/jvm-exports/jdk_Oracle
cd /usr/lib64/jvm-exports/jdk_Oracle
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jaas-1.8.0_Orac.jar
sudo ln -s jaas-1.8.0_Orac.jar jaas-1.8.0.jar
sudo ln -s jaas-1.8.0_Orac.jar jaas.jar
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/jce.jar jce-1.8.0_Orac.jar
sudo ln -s jce-1.8.0_Orac.jar jce-1.8.0.jar
sudo ln -s jce-1.8.0_Orac.jar jce.jar
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jdbc-stdext-1.8.0_Orac.jar
sudo ln -s jdbc-stdext-1.8.0_Orac.jar jdbc-stdext-1.8.0.jar
sudo ln -s jdbc-stdext-1.8.0_Orac.jar jdbc-stdext-3.0.jar
sudo ln -s jdbc-stdext-1.8.0_Orac.jar jdbc-stdext.jar
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jndi-1.8.0_Orac.jar
sudo ln -s jndi-1.8.0_Orac.jar jndi-1.8.0.jar
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jndi-cos-1.8.0_Orac.jar
sudo ln -s jndi-cos-1.8.0_Orac.jar jndi-cos-1.8.0.jar
sudo ln -s jndi-cos-1.8.0_Orac.jar jndi-cos.jar
sudo ln -s jndi-1.8.0_Orac.jar jndi.jar
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jndi-ldap-1.8.0_Orac.jar
sudo ln -s jndi-ldap-1.8.0_Orac.jar jndi-ldap-1.8.0.jar
sudo ln -s jndi-ldap-1.8.0_Orac.jar jndi-ldap.jar
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jndi-rmi-1.8.0_Orac.jar
sudo ln -s jndi-rmi-1.8.0_Orac.jar jndi-rmi-1.8.0.jar
sudo ln -s jndi-rmi-1.8.0_Orac.jar jndi-rmi.jar
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/jsse.jar jsse-1.8.0_Orac.jar
sudo ln -s jsse-1.8.0_Orac.jar jsse-1.8.0.jar
sudo ln -s jsse-1.8.0_Orac.jar jsse.jar
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar sasl-1.8.0_Orac.jar
sudo ln -s sasl-1.8.0_Orac.jar sasl-1.8.0.jar
sudo ln -s sasl-1.8.0_Orac.jar sasl.jar

sudo /usr/sbin/update-alternatives --install /usr/bin/java java /usr/lib64/jdk_Oracle/bin/java 3 \
--slave /usr/share/man/man1/java.1.gz java.1.gz /usr/lib64/jdk_Oracle/man/man1/java.1.gz \
--slave /usr/lib64/jvm/jre jre /usr/lib64/jdk_Oracle/jre \
--slave /usr/lib64/jvm-exports/jre jre_exports /usr/lib64/jvm-exports/jdk_Oracle \
--slave /usr/bin/keytool keytool /usr/lib64/jdk_Oracle/bin/keytool \
--slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/lib64/jdk_Oracle/man/man1/keytool.1.gz \
--slave /usr/bin/orbd orbd /usr/lib64/jdk_Oracle/bin/orbd \
--slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/lib64/jdk_Oracle/man/man1/orbd.1.gz \
--slave /usr/bin/policytool policytool /usr/lib64/jdk_Oracle/bin/policytool \
--slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/lib64/jdk_Oracle/man/man1/policytool.1.gz \
--slave /usr/bin/rmid rmid /usr/lib64/jdk_Oracle/bin/rmid \
--slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/lib64/jdk_Oracle/man/man1/rmid.1.gz \
--slave /usr/bin/rmiregistry rmiregistry /usr/lib64/jdk_Oracle/bin/rmiregistry \
--slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/lib64/jdk_Oracle/man/man1/rmiregistry.1.gz \
--slave /usr/bin/servertool servertool /usr/lib64/jdk_Oracle/bin/servertool \
--slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/lib64/jdk_Oracle/man/man1/servertool.1.gz \
--slave /usr/bin/tnameserv tnameserv /usr/lib64/jdk_Oracle/bin/tnameserv \
--slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/lib64/jdk_Oracle/man/man1/tnameserv.1.gz

Then

#!/bin/bash

sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/appletviewer.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/extcheck.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/idlj.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jar.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jarsigner.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/javac.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/javadoc.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/javafxpackager.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/javah.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/javap.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/javapackager.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/javaws.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jcmd.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jconsole.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jdb.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jdeps.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jhat.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jinfo.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jjs.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jmap.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jmc.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jps.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jrunscript.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jsadebugd.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jstack.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jstat.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jstatd.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/jvisualvm.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/native2ascii.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/pack200.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/rmic.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/schemagen.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/serialver.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/unpack200.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/wsgen.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/wsimport.1)
sudo gzip $(readlink -f /usr/java/jdk1.8.0_66/man/man1/xjc.1)
sudo /usr/sbin/update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_66/bin/javac 3 \
--slave /usr/bin/appletviewer appletviewer /usr/java/jdk1.8.0_66/bin/appletviewer \
--slave /usr/share/man/man1/appletviewer.1.gz appletviewer.1.gz /usr/java/jdk1.8.0_66/man/man1/appletviewer.1.gz \
--slave /usr/bin/extcheck extcheck /usr/java/jdk1.8.0_66/bin/extcheck \
--slave /usr/share/man/man1/extcheck.1.gz extcheck.1.gz /usr/java/jdk1.8.0_66/man/man1/extcheck.1.gz \
--slave /usr/bin/jar jar /usr/java/jdk1.8.0_66/bin/jar \
--slave /usr/share/man/man1/jar.1.gz jar.1.gz /usr/java/jdk1.8.0_66/man/man1/jar.1.gz \
--slave /usr/bin/jarsigner jarsigner /usr/java/jdk1.8.0_66/bin/jarsigner \
--slave /usr/share/man/man1/jarsigner.1.gz jarsigner.1.gz /usr/java/jdk1.8.0_66/man/man1/jarsigner.1.gz \
--slave /usr/lib64/jvm/java java_sdk /usr/java/jdk1.8.0_66 \
--slave /usr/share/man/man1/javac.1.gz javac.1.gz /usr/java/jdk1.8.0_66/man/man1/javac.1.gz \
--slave /usr/bin/javadoc javadoc /usr/java/jdk1.8.0_66/bin/javadoc \
--slave /usr/share/man/man1/javadoc.1.gz javadoc.1.gz /usr/java/jdk1.8.0_66/man/man1/javadoc.1.gz \
--slave /usr/bin/javah javah /usr/java/jdk1.8.0_66/bin/javah \
--slave /usr/share/man/man1/javah.1.gz javah.1.gz /usr/java/jdk1.8.0_66/man/man1/javah.1.gz \
--slave /usr/bin/javap javap /usr/java/jdk1.8.0_66/bin/javap \
--slave /usr/share/man/man1/javap.1.gz javap.1.gz /usr/java/jdk1.8.0_66/man/man1/javap.1.gz \
--slave /usr/share/man/man1/jcmd.1.gz jcmd.1.gz /usr/java/jdk1.8.0_66/man/man1/jcmd.1.gz \
--slave /usr/bin/jconsole jconsole /usr/java/jdk1.8.0_66/bin/jconsole \
--slave /usr/share/man/man1/jconsole.1.gz jconsole.1.gz /usr/java/jdk1.8.0_66/man/man1/jconsole.1.gz \
--slave /usr/bin/jdb jdb /usr/java/jdk1.8.0_66/bin/jdb \
--slave /usr/share/man/man1/jdb.1.gz jdb.1.gz /usr/java/jdk1.8.0_66/man/man1/jdb.1.gz \
--slave /usr/bin/jhat jhat /usr/java/jdk1.8.0_66/bin/jhat \
--slave /usr/share/man/man1/jhat.1.gz jhat.1.gz /usr/java/jdk1.8.0_66/man/man1/jhat.1.gz \
--slave /usr/bin/jinfo jinfo /usr/java/jdk1.8.0_66/bin/jinfo \
--slave /usr/share/man/man1/jinfo.1.gz jinfo.1.gz /usr/java/jdk1.8.0_66/man/man1/jinfo.1.gz \
--slave /usr/bin/jmap jmap /usr/java/jdk1.8.0_66/bin/jmap \
--slave /usr/share/man/man1/jmap.1.gz jmap.1.gz /usr/java/jdk1.8.0_66/man/man1/jmap.1.gz \
--slave /usr/bin/jps jps /usr/java/jdk1.8.0_66/bin/jps \
--slave /usr/share/man/man1/jps.1.gz jps.1.gz /usr/java/jdk1.8.0_66/man/man1/jps.1.gz \
--slave /usr/bin/jrunscript jrunscript /usr/java/jdk1.8.0_66/bin/jrunscript \
--slave /usr/share/man/man1/jrunscript.1.gz jrunscript.1.gz /usr/java/jdk1.8.0_66/man/man1/jrunscript.1.gz \
--slave /usr/bin/jsadebugd jsadebugd /usr/java/jdk1.8.0_66/bin/jsadebugd \
--slave /usr/share/man/man1/jsadebugd.1.gz jsadebugd.1.gz /usr/java/jdk1.8.0_66/man/man1/jsadebugd.1.gz \
--slave /usr/bin/jstack jstack /usr/java/jdk1.8.0_66/bin/jstack \
--slave /usr/share/man/man1/jstack.1.gz jstack.1.gz /usr/java/jdk1.8.0_66/man/man1/jstack.1.gz \
--slave /usr/bin/jstat jstat /usr/java/jdk1.8.0_66/bin/jstat \
--slave /usr/share/man/man1/jstat.1.gz jstat.1.gz /usr/java/jdk1.8.0_66/man/man1/jstat.1.gz \
--slave /usr/bin/jstatd jstatd /usr/java/jdk1.8.0_66/bin/jstatd \
--slave /usr/share/man/man1/jstatd.1.gz jstatd.1.gz /usr/java/jdk1.8.0_66/man/man1/jstatd.1.gz \
--slave /usr/bin/native2ascii native2ascii /usr/java/jdk1.8.0_66/bin/native2ascii \
--slave /usr/share/man/man1/native2ascii.1.gz native2ascii.1.gz /usr/java/jdk1.8.0_66/man/man1/native2ascii.1.gz \
--slave /usr/bin/pack200 pack200 /usr/java/jdk1.8.0_66/bin/pack200 \
--slave /usr/share/man/man1/pack200.1.gz pack200.1.gz /usr/java/jdk1.8.0_66/man/man1/pack200.1.gz \
--slave /usr/bin/rmic rmic /usr/java/jdk1.8.0_66/bin/rmic \
--slave /usr/share/man/man1/rmic.1.gz rmic.1.gz /usr/java/jdk1.8.0_66/man/man1/rmic.1.gz \
--slave /usr/bin/schemagen schemagen /usr/java/jdk1.8.0_66/bin/schemagen \
--slave /usr/share/man/man1/schemagen.1.gz schemagen.1.gz /usr/java/jdk1.8.0_66/man/man1/schemagen.1.gz \
--slave /usr/bin/serialver serialver /usr/java/jdk1.8.0_66/bin/serialver \
--slave /usr/share/man/man1/serialver.1.gz serialver.1.gz /usr/java/jdk1.8.0_66/man/man1/serialver.1.gz \
--slave /usr/bin/unpack200 unpack200 /usr/java/jdk1.8.0_66/bin/unpack200 \
--slave /usr/share/man/man1/unpack200.1.gz unpack200.1.gz /usr/java/jdk1.8.0_66/man/man1/unpack200.1.gz \
--slave /usr/bin/wsgen wsgen /usr/java/jdk1.8.0_66/bin/wsgen \
--slave /usr/share/man/man1/wsgen.1.gz wsgen.1.gz /usr/java/jdk1.8.0_66/man/man1/wsgen.1.gz \
--slave /usr/bin/wsimport wsimport /usr/java/jdk1.8.0_66/bin/wsimport \
--slave /usr/share/man/man1/wsimport.1.gz wsimport.1.gz /usr/java/jdk1.8.0_66/man/man1/wsimport.1.gz \
--slave /usr/bin/xjc xjc /usr/java/jdk1.8.0_66/bin/xjc \
--slave /usr/share/man/man1/xjc.1.gz xjc.1.gz /usr/java/jdk1.8.0_66/man/man1/xjc.1.gz

If you then run:

sudo update-alternatives --display java

you should see the Oracle Java option which you can select with

sudo update-alternatives --config java

I hope that this gives a view under the hood for the alternatives.