Prakash Sawarkar: Kernel 3.8 Released, how to Compile in Redhat, CenOS and Fedora..

Kernel 3.8 Released, how to Compile in Redhat, CentOS and Fedora.

Monday, 14 October 2013

Install Oracle Java JDK/JRE 7u25 on RHEL/CentOS 6.x/5.x and Fedora 1.x

Most of the Linux operating systems comes with pre-installed OpenJDK package to run java-based applications and plugins. Now, you’re thinking if Java already ships with OS, why we need to install it again?. Yes! right good question, but in certain cases we need Sun/Oracle Java program to compile and run particular development applications. This is the reason we are compiling this article on how to install Sun/Oracle Java JDK /JRE 7u25 on RHEL 6.x/5.8, CentOS 6.x5.8 and Fedora 1.x systems using binary RPM files.
1) Update the system
2) Remove any installed versions
3) Download JAVA JDK6 or JDK7
4) Install JAVA JDK6 or JDK7
5) Set-up JAVA JDK6 or JDK7
6) Confirm JAVA JDK6 or JDK7 installation
7) Post-Installation Setup
Step:-1. The first thing I’ve done was to make sure the CentOS 6 system is fully up-to-date,
# yum update
Step:-2. Once the update completed, I then checked the system for any other installed JAVA packages using:
# rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]'
there was the ‘java-1.6.0-openjdk-1.6.0.0-1.56.1.11.8.el6_3.i686‘ package already installed so I removed it by running:
# yum remove java-1.6.0-openjdk
Step:-3. The next step was to go and download the required JAVA JDK package for the system I was working on. It was a 64 bit CentOS 6 so I needed to get the 64 bit JAVA JDK package from Oracle’s JAVA download page. 
Note: that I needed to install an older version of JAVA JDK since it was specific to the software I was setting up.
Download JAVA JDK6 Binary at:
http://www.oracle.com/technetwork/java/javase/downloads/jdk6u35-downloads-1836443.html
Download JAVA JDK7 at:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Step:-4. Once the JAVA JDK package got downloaded I proceeded with installing the package.
A) Installing the JAVA JDK6 package in CentOS 6 set executable bit using:
# chmod +x jdk-6u35-linux-x64-rpm.bin
and installed the JAVA JDK6 package by running:
# ./jdk-6u35-linux-x64-rpm.bin
B) Installing the JAVA JDK7 package in CentOS 6
# rpm -Uvh jdk-7u45-linux-x64.rpm
Step:-5. Once the JAVA JDK package is installed I then needed to configure it on the system using the `alternatives` command. This is in order to tell the system what are the  default commands for JAVA. Most _sys_admins_ aren’t aware about this and I think that it is a vital part when setting the JAVA package.
A) Setting up the JAVA JDK6 package
# alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_35/jre/bin/java 20000
# alternatives --install /usr/bin/jar jar /usr/java/jdk1.6.0_35/bin/jar 20000
# alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_35/bin/javac 20000
# alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.6.0_35/jre/bin/javaws 20000
After that
# alternatives --set java /usr/java/jdk1.6.0_35/jre/bin/java
# alternatives --set javaws /usr/java/jdk1.6.0_35/jre/bin/javaws
# alternatives --set javac /usr/java/jdk1.6.0_35/bin/javac
# alternatives --set jar /usr/java/jdk1.6.0_35/bin/jar
This set the default commands for JAVA JDK6 and listing the ‘/etc/alternatives/’ directory showed the following:
# ls -lA /etc/alternatives/
total 0
lrwxrwxrwx. 1 root root 29 Feb 22 03:39 jar -> /usr/java/jdk1.6.0_35/bin/jar
lrwxrwxrwx. 1 root root 34 Feb 22 03:39 java -> /usr/java/jdk1.6.0_35/jre/bin/java
lrwxrwxrwx. 1 root root 31 Feb 22 03:39 javac -> /usr/java/jdk1.6.0_35/bin/javac
lrwxrwxrwx. 1 root root 36 Feb 22 03:39 javaws -> /usr/java/jdk1.6.0_35/jre/bin/javaws
B) Setting up the JAVA JDK7 package
# alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_45/jre/bin/java 20000
# alternatives --install /usr/bin/jar jar /usr/java/jdk1.7.0_45/bin/jar 20000
# alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_45/bin/javac 20000
# alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.7.0_45/jre/bin/javaws 20000
# alternatives --set java /usr/java/jdk1.7.0_45/jre/bin/java
# alternatives --set javaws /usr/java/jdk1.7.0_45/jre/bin/javaws
# alternatives --set javac /usr/java/jdk1.7.0_45/bin/javac
# alternatives --set jar /usr/java/jdk1.7.0_45/bin/jar
This set the default commands for JAVA JDK7 and listing the ‘/etc/alternatives/’ directory showed the following
# ls -lA /etc/alternatives/
total 0
lrwxrwxrwx. 1 root root 29 Feb 22 03:39 jar -> /usr/java/jdk1.7.0_45/bin/jar
lrwxrwxrwx. 1 root root 34 Feb 22 03:39 java -> /usr/java/jdk1.7.0_45/jre/bin/java
lrwxrwxrwx. 1 root root 31 Feb 22 03:39 javac -> /usr/java/jdk1.7.0_45/bin/javac
lrwxrwxrwx. 1 root root 36 Feb 22 03:39 javaws -> /usr/java/jdk1.7.0_45/jre/bin/javaws
Step:-6. Finally I verified the installed version of JAVA via:
# java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) Server VM (build 20.10-b01, mixed mode)
and
# java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
Step:-7) Post-Installation Setup
Add JAVA_HOME environment variable to /etc/profile file or # HOME/.bash_profile file
Java JDK and JRE latest version (/usr/java/latest)
## export JAVA_HOME JDK/JRE ##
export JAVA_HOME="/usr/java/latest"
Java JDK and JRE absolute version (/usr/java/jdk1.7.0_45)
## export JAVA_HOME JDK ##
export JAVA_HOME="/usr/java/jdk1.7.0_45"
 ## export JAVA_HOME JRE ##
export JAVA_HOME="/usr/java/jre1.7.0_45"
I know this how-to will serve me as a quick reference for installing JAVA in the future and I truly hope this will help someone else too.