Advertisement
peetaur

sun java Linux install using update-alternatives

Jan 12th, 2016
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.79 KB | None | 0 0
  1. ###################
  2. # oracle jdk Final solution (to run, just copy and paste everything here and below into a shell)
  3. ###################
  4.  
  5. #-------------------------------
  6. # Settings (optional; automatic)
  7. #-------------------------------
  8.  
  9. # Path to jdk, eg. /opt/jdk1.7.0_17/
  10. # Optional. If blank, it's automatically found (latest in /opt/jdk*).
  11. export XSUNJAVA=
  12.  
  13. #======================
  14. # Optional, for openjdk
  15.  
  16. # opensuse 13.1:
  17. export XOPENJDK=/usr/lib64/jvm/java-1.7.0-openjdk/
  18.  
  19. # ubuntu 12:
  20. #export XOPENJDK=/usr/lib/jvm/java-6-openjdk-amd64/
  21. #======================
  22.  
  23. #-----------
  24. # automatic config
  25. #-----------
  26.  
  27. # number to identy this alternative (for having more than 1 version)
  28. export n=1
  29.  
  30. if [ -z "$XSUNJAVA" ]; then
  31.     XSUNJAVA=$(ls -1d /opt/jdk* | sort | tail -n1)
  32. fi
  33.  
  34. # Depending on if you have a 64 bit or 32 bit machine
  35. # Only relevant for the browser plugin
  36. if [ -e /usr/lib64 ]; then
  37.     libDir=/usr/lib64
  38. else
  39.     libDir=/usr/lib
  40. fi
  41.  
  42. #-----------
  43. # Main
  44. #-----------
  45.  
  46. update-alternatives --remove-all java
  47. update-alternatives --remove-all javac
  48. update-alternatives --remove-all keytool
  49. update-alternatives --remove-all javaplugin
  50. update-alternatives --remove-all javaws
  51. update-alternatives --remove-all java_home
  52. update-alternatives --remove-all jdk_home
  53.  
  54. # Directories (for use in JAVA_HOME environment variable)
  55. update-alternatives --install /opt/java java_home ${XSUNJAVA} $n
  56. update-alternatives --install /opt/jdk  jdk_home  ${XSUNJAVA} $n
  57. if [ ! -e "${XOPENJDK}" ]; then
  58.     echo "SKIPPING OpenJDK"
  59. elif [ -n "${XOPENJDK}" ]; then
  60.     update-alternatives --install /opt/java java_home ${XOPENJDK} $((n+1))
  61.     update-alternatives --install /opt/jdk  jdk_home  ${XOPENJDK} $((n+1))
  62. fi
  63. update-alternatives --set java_home ${XSUNJAVA}
  64. update-alternatives --set jdk_home ${XSUNJAVA}
  65.  
  66. # Commands using alternative directories
  67. update-alternatives --install /usr/bin/java java /etc/alternatives/jdk_home/bin/java 1
  68. update-alternatives --install /usr/bin/javac javac /etc/alternatives/jdk_home/bin/javac 1
  69. update-alternatives --install /usr/bin/keytool keytool /etc/alternatives/jdk_home/bin/keytool 1
  70. update-alternatives --install /usr/bin/javaws javaws /etc/alternatives/jdk_home/bin/javaws 1
  71. update-alternatives --set java /etc/alternatives/jdk_home/bin/java
  72. update-alternatives --set javac /etc/alternatives/jdk_home/bin/javac
  73. update-alternatives --set keytool /etc/alternatives/jdk_home/bin/keytool
  74. update-alternatives --set javaws /etc/alternatives/jdk_home/bin/javaws
  75.  
  76. if [ -d "${libDir}/browser-plugins/" ]; then
  77. # For the browser plugin
  78.     update-alternatives --install ${libDir}/browser-plugins/javaplugin.so javaplugin /etc/alternatives/java_home/jre/lib/amd64/libnpjp2.so 1
  79.     update-alternatives --install ${libDir}/browser-plugins/javaplugin.so javaplugin ${libDir}/IcedTeaPlugin.so 2
  80.     update-alternatives --set javaplugin /etc/alternatives/java_home/jre/lib/amd64/libnpjp2.so
  81. fi
  82.  
  83. if [ -n "${XOPENJDK}" ]; then
  84.     # add the normal name for javaws to openJDK
  85.     ln -s /usr/bin/itweb-javaws "${XOPENJDK}"/bin/javaws
  86.     ln -s /usr/bin/itweb-javaws "${XOPENJDK}"/jre/bin/javaws
  87.     ln -s /etc/alternatives/jdk_home /usr/lib64/jvm/jre
  88. fi
  89.  
  90. # add JAVA_HOME to current shell
  91. export JAVA_HOME=/etc/alternatives/java_home/
  92.  
  93. # add JAVA_HOME to your environment
  94. if ! egrep -c "^JAVA_HOME=/etc/alternatives/java_home/$" /etc/profile >/dev/null 2>&1; then
  95.     # ^ if the exact line we want is not in /etc/profile
  96.     echo "Updating /etc/profile"
  97.     # remove any JAVA_HOMEs in there
  98.     egrep -v "^JAVA_HOME" /etc/profile > /etc/profile.javatmp
  99.     # add JAVA_HOME
  100.     echo "JAVA_HOME=$JAVA_HOME" >> /etc/profile.javatmp
  101.     mv /etc/profile.javatmp /etc/profile
  102.     echo "Done updating /etc/profile"
  103. fi
  104.  
  105. java -version
  106.  
  107.  
  108. experimental removal
  109. =======
  110.  
  111. update-alternatives --config jdk_home
  112. update-alternatives --config java_home
  113. update-alternatives --config javaplugin
  114.  
  115.  
  116.  
  117.  
  118.  
  119. ###################
  120. undo
  121. ###################
  122.  
  123. update-alternatives --remove-all java
  124. update-alternatives --remove-all javac
  125. update-alternatives --remove-all keytool
  126. update-alternatives --remove-all javaplugin
  127. update-alternatives --remove-all javaws
  128. update-alternatives --remove-all jar
  129. update-alternatives --remove-all java_home
  130. update-alternatives --remove-all javah
  131. update-alternatives --remove-all jdk_home
  132.  
  133. jre=/usr/lib64/jvm/java-openjdk/jre
  134. jdk=/usr/lib64/jvm/java-openjdk
  135. plugin=/usr/lib64/java-1_8_0-openjdk-plugin/lib/IcedTeaPlugin.so
  136. libDir=/usr/lib64
  137.  
  138. update-alternatives --install /usr/bin/java java "$jre"/bin/java 1
  139. update-alternatives --install /usr/bin/javac javac "$jdk"/bin/javac 1
  140. update-alternatives --install /usr/bin/keytool keytool "$jre"/bin/keytool 1
  141.  
  142. update-alternatives --install ${libDir}/browser-plugins/javaplugin.so javaplugin "$plugin" 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement