Cómo instalar Java 1.6 en CentOS 5

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2011 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

De modo predeterminado, CentOS 5 y Red Hat™ Enterprise Linux 5 incluyen la versión 1.4.2 y 1.6.0 de OpenJDK, es la versión libre de la plataforma de desarrollo Java, que actualmente pertenece a Oracle, distribuida bajo los términos de la licencia GNU/GPLv2. Sin embargo, algunos desarrollos, sobre todo aplicaciones comerciales para Apache Tomcat, pueden requerir utilizar una versión distinta de Java. Este documento explica como instalar JDK 1.6.0, la implementación Java comercial y privativa de Oracle, en CentOS 5 y Red Hat™ Enterprise Linux 5.

Instalación del equipamiento lógico necesario.

Instalación a través de yum.

Si utiliza CentOS 5 o Red Hat™ Enterprise Linux 5, necesita realizar lo siguiente para instalar o actualizar los paquetes necesarios:

yum -y install rpm-build gcc gcc-c++ redhat-rpm-config automake autoconf
yum -y install xorg-x11-font-utils chkfontpath ttmkfdir

Procedimientos.

Creación de usuario para utilizar rpmbuild.

Es poco conveniente y representa un alto riego utilizar rpmbuild como root. Por lo tanto es recomendable crear una cuenta de usuario destinada exclusivamente a utilizar el mandato rpmbuild.

su - root
useradd rpmbuilduser
passwd rpmbuilduser

Creación de estructura de directorios para rpmbuild.

A fin de poder trabajar cómodamente, se creará como usuario un conjuto de directorios que serán utilizados para crear paquetería RPM.

su - rpmbuilduser
mkdir -p ~/rpmbuild/{SOURCES,SRPMS,SPECS,RPMS,TMP,BUILD}

Utilizando vi o cualquier otro editor detexto, configure el archivo ~/.rpmmacros con el siguiente contenido:

%_topdir /home/rpmbuilduser/rpmbuild
%_tmppath %{_topdir}/TMP
%_unpackaged_files_terminate_build 0
%packager               Mi nombre 
%distribution           Mi distribución o área de trabajo.
%vendor                 Mi empresa.

Descargar el archivo java-1.6.0-sun-1.6.0.14-1jpp.nosrc.rpm o bien una versión posterior a la edición de este documento, localizado en http://mirrors.dotsrc.org/jpackage/6.0/generic/non-free/SRPMS/.

A continuación, se debe descargar JDK de Oracle, Inc. desde www.oracle.com/technetwork/java/javase/downloads/index.html (jdk-6u14-linux es la versión más reciente soportada por Jakarta)

Sí utiliza una arquitrectura x86, debe hacer ejecutable el archivo descargado utilizando el siguiente mandato:

chmod +x jdk-6u14-linux-i586.bin

Y mover éste último dentro de ~/rpmbuild/SOURCES/

mv jdk-6u14-linux-i586.bin ~/rpmbuild/SOURCES/

Sí utiliza una arquitrectura x86_64, debe hacer ejecutable el archivo descargado utilizando el siguiente mandato:

chmod +x jdk-6u14-linux-x64.bin

Y mover éste último dentro de ~/rpmbuild/SOURCES/

mv jdk-6u14-linux-x64.bin ~/rpmbuild/SOURCES/

Reconstruir el paquete java-1.6.0-sun-1.6.0.14-1jpp.nosrc.rpm para generar los paquetges de Java 1.6.

rpmbuild --rebuild java-1.6.0-sun-1.6.0.14-1jpp.nosrc.rpm

Si utiliza una arquitectura x86, lo anterior generará los siguientes paquetes dentro del directorio ~/rpmbuild/RPMS/i586/:

Para instalar, cambiarse al directorio ~/rpmbuild/RPMS/i586/ e instalar solo la paquetería requerida. Ejemplo:

cd ~/rpmbuild/RPMS/i586/
su
rpm -Uvh java-1.6.0-sun-1.6.0.14-1jpp.i586.rpm java-1.6.0-sun-alsa-1.6.0.14-1jpp.i586.rpm java-1.6.0-sun-fonts-1.6.0.14-1jpp.i586.rpm java-1.6.0-sun-plugin-1.6.0.14-1jpp.i586.rpm
exit

Si utiliza una arquitectura x86_64, lo anterior generará los siguientes paquetes dentro del directorio ~/rpmbuild/RPMS/x86_64/:

Para instalar, cambiarse al directorio ~/rpmbuild/RPMS/x86_64/ e instalar solo la paquetería requerida. Ejemplo:

cd ~/rpmbuild/RPMS/x86_64/
su
rpm -Uvh java-1.6.0-sun-1.6.0.14-1jpp.x86_64.rpm java-1.6.0-sun-alsa-1.6.0.14-1jpp.x86_64.rpm java-1.6.0-sun-fonts-1.6.0.14-1jpp.x86_64.rpm java-1.6.0-sun-plugin-1.6.0.14-1jpp.x86_64.rpm
exit

De modo predeterminado, el sistema utiliza la versión 1.4.2 de GNU.org.Se puede definir desde la terminal que versión de Java utilizar a través delmandato alternatives con la opción --config java.

/usr/sbin/alternatives --config java

Lo anterior devuelve una salida similar a la siguiente:

Hay 2 programas que proporcionan 'java'.

  Selección    Comando
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
   2           /usr/lib/jvm/jre-1.6.0-sun/bin/java

Presione Intro para mantener la selección actual[+] o escriba el
número de la selección:  

Seleccione la versión 1.6 de de Sun Microsystems pulsando la tecla del número 2 y luego la tecla ENTER.

Para verificar que la versión de Java 1.6 ha sido instalada correctamente, solo basta ejecutar el siguiente mandato:

java -version

Para finalizar, si el sistema dispone de Mozilla Firefox, se puede configurar el complemento Java (Plugin Java) creando un enlace simbólico de /usr/lib/jvm/java-1.6.0-sun-1.6.0.14/jre/lib/*/libjavaplugin_jni.so dentro de /usr/lib/mozilla/plugins/ de la siguiente manera:

cd /usr/lib/mozilla/plugins/
ln -s /usr/lib/jvm/java-1.6.0-sun-1.6.0.14/jre/lib/*/libjavaplugin_jni.so ./