[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

Instalar Java en CentOS

Cubre la instalación de Java en las versiones de CentOS-4 y CentOS-5.

1. Un acercamiento simple

Un acercamiento simple y ligero para las personas que no necesitan un acercamiento completo al JPackage (descrito más abajo), es el de instalar Java para hacer trabajar con el navegador web y ejecutar aplicaciones .jar de Sun Java. Esto está descrito en el sitio web Trading Shim

Cualquier entrega de Sun, Java 1.4 (j2sdk-1.4.2_09-fcs), 1.5 (jdk-1.5.0_10-fcs) y 1.6 (jdk-1.6.0-fcs) pueden ser instaladas y habilitadas usando esas instrucciones. Cada una ha sido probadas y trabajan. El JDK 1.5. y 1.6 son usados diariamente en las instalaciones de la serie CentOS 4 y CentOS 5.

2. Un acercamiento no tan simple

ArtWork/WikiDesign/icon-admonition-attention.png

IMPORTANTE: Este artículo está incompleto. En el canal IRC el 11 de Octubre del 2007 se reportó que la sección siguiente del artículo está desactualizada.

Existen varias formas de instalar la Máquina Virtual de Java en CentOS 4 o 5. Los requisitos para un entorno Java en servidores y estaciones de trabajo son diferentes. A menudo las estaciones de trabajo de los usuarios necesitan solamente Java para ejecutar unos pocos programas (incluyendo el applet de Java dentro de Mozilla Firefox).

2.1. Java para estaciones de trabajo

La forma más simple de instalar la Máquina Virtual de Java es descargar el último JDK de Sun en la forma de fichero auto-extraible con el RPM adentro (RPM in self-extracting file). Ejecute el fichero auto-extraible y luego instale manualmente el RPM que suministra. Esto puede ser suficiente para las estaciones de trabajo de los usuarios.

Si necesita Java para el escritorio de la computadora, no necesita seguir los pasos que se describen a continuación.

2.2. Java para desarrolladores y entornos servidores

Por otro lado, los servidores pueden hacer uso intenso de paquetes suministrados por repositorios de terceros (como JPackage), por ello es necesario asegurarse que esos programas de terceros utilizados por el JDK y o otros paquetes dependientes, entén en lugares predecibles dentro una estructura de árbol coherente y consistente. Los RPMs y binarios de JDK suministrados por Sun e IBM no traen exactamente lo que se necesita para este propósito, así que necesitamos reformar esos JDK cuando sea posible (reconstruyendo los RPMs -nosrc) o usando la compatibilidad de paquetes (usando los RPMs -compat). Siempre que sea posible, debe optar por la variante -nosrc. El proceso de reconstruir -nosrc y desarrollar -compat son descritos en este artículo.

Este artículo muestra el proceso de instalar las versiones 1.4.2, 1.5.0 y 1.6.0 de JDK desde Sun e IBM, usando el repositorio JPackage.

Al concluir, el usted estará capacitado para instalar varias versiones JDK y alternar entre ellas con el comando alternatives.

Si usted utiliza el lenguaje Java para desarrollar en sus servidores, puede usar el método que describiremos en este artículo para instalar Java y usar el repositorio JPackage.

2.3. Requisitos

Es necesario que el lector comprenda:

2.4. Paso 1. Configuración inicial

Configure ~/.rpmmacros. Si no sabe que cosa es esto, simplemente siga los pasos que mostramos en el ejemplo siguiente, remplazando <username> con su nombre de usuario:

Si todavía no ha leído http://wiki.centos.org/TipsAndTricks/YumAndRPM, recuerde que hacerlo es un pre-requisito para este artículo.

Recuerde: ~/.rpmmacros y el árbol de construcción nunca deben ser creados como usuario root.

Por ejemplo, asumimos que el contenido de ~/.rpmmacros es:

%_topdir /home/<username>/rpmbuild
%_tmppath %{_topdir}/tmp

Recuerde crear el árbol rpmbuild si es que no ha sido creado aún. En nuestro ejemplo utilizamos el nombre "rpmbuild", usted puede usar otro nombre (lea su ~/.rpmmacros para estar seguro):

mkdir -p ~/rpmbuild/{SOURCES,SRPMS,SPECS,RPMS,tmp,BUILD}

Asegúrese que los paquetes necesarios sean instalados (como root):

yum install -y rpm-build gcc gcc-c++ redhat-rpm-config

2.5. Paso 2. Instalando su JDK favorito

Seleccione el JDK de su proveedor favorito:

  1. Sun JDK 1.4.2
  2. IBM JDK 1.4.2
  3. Sun JDK 1.5.0
  4. IBM JDK 1.5.0
  5. Sun JDK 1.6.0

ArtWork/WikiDesign/icon-admonition-attention.png

IMPORTANTE: A partir de ahora, asegúrese de estar logueado como un usuario distinto a root.

2.5.1. A. Sun JDK 1.4.2

Probado en: CentOS 4.4 y CentOS 5.0

Recomendamos que solo los expertos intenten instalar este JDK, porque puede necesitar muchas dependencias. La solución es instalar Sun JDK 1.5.0 y no Sun JDK 1.4.2.

Cuando escribimos este artículo, la última actualización de Sun JDK 1.4.2 era la 1.4.2_14. Descargue el J2SE v1.4.2_14 SDK de la página http://java.sun.com/j2se/1.4.2/download.html. Compruebe que descargó el fichero auto-extraible (self-extracting file) y no el fichero auto-extraible con el RPM adentro (RPM in self-extracting file). Luego seleccione la arquitectura correcta (IA64 para los procesadores Itanium o i586 para los restantes). El nombre del fichero es j2sdk-1_4_2_14-linux-i586.bin. Cuando finalice la descarga, ubique el fichero dentro del directorio ~/rpm/SOURCES/:

mv j2sdk-1_4_2_14-linux-i586.bin ~/rpmbuild/SOURCES/

Eche un vistazo a la página http://mirrors.dotsrc.org/jpackage/1.7/generic/SRPMS.non-free y seleccione una versión apropiada para el java-1.4.2-sun-X*Z.nosrc.rpm. Cuando escribimos el artículo, este era java-1.4.2-sun-1.4.2.14-2jpp.nosrc.rpm. Descargue el fichero, luego vaya al directorio donde salvó el fichero java-1.4.2-sun-X*Z.nosrc.rpm y construya los paquetes:

rpmbuild --rebuild java-1.4.2-sun-1.4.2.14-2jpp.nosrc.rpm

Al finalizar, los ficheros siguientes habrán sido creados dentro del directorio ~/rpmbuild/RPMS/i586:

java-1.4.2-sun-1.4.2.14-2jpp.i586.rpm
java-1.4.2-sun-alsa-1.4.2.14-2jpp.i586.rpm
java-1.4.2-sun-demo-1.4.2.14-2jpp.i586.rpm
java-1.4.2-sun-devel-1.4.2.14-2jpp.i586.rpm
java-1.4.2-sun-fonts-1.4.2.14-2jpp.i586.rpm
java-1.4.2-sun-jdbc-1.4.2.14-2jpp.i586.rpm
java-1.4.2-sun-plugin-1.4.2.14-2jpp.i586.rpm
java-1.4.2-sun-src-1.4.2.14-2jpp.i586.rpm

Intente instalar los RPMs como el usuario root:

su -
cd /home/<username>/rpmbuild/RPMS/i586
yum install java-1.4.2-sun-1.4.2.14-2jpp.i586.rpm

Configure el sistema Alternatives y seleccione el JDK que desee (ejecutando como root):

alternatives --config java

There are 4 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
 + 1           /usr/lib/jvm/jre-1.5.0-sun/bin/java
*  2           /usr/lib/jvm/jre-1.6.0-sun/bin/java
   3           /usr/lib/jvm/jre-1.5.0-ibm/bin/java
   4           /usr/lib/jvm/jre-1.4.2-sun/bin/java

Enter to keep the current selection[+], or type selection number: 4

Luego intente ejecutar java:

java -version

Debe obtener:

java version "1.4.2_14"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_14-b05)
Java HotSpot(TM) Client VM (build 1.4.2_14-b05, mixed mode)

Los otros RPMs generados en el proceso pueden ser instalados según vayan haciendo falta:

2.5.2. B. IBM JDK 1.4.2

Probado en: CentOS 4.4 y CentOS 5.0

Cuando escribimos este artículo, la última actualización de IBMJDK 1.4.2 era la 8 y el fichero que obtuvimos fue el IBMJava2-SDK-1.4.2-8.0.tgz (Compatible con Intel) desde la página http://www-106.ibm.com/developerworks/java/jdk/linux140/ (para esto es necesario estar registrado en el sitio de IBM).

Después de haber realizado la descarga, renombre el fichero a IBMJava2-SDK-142.tgz y ubíquelo bajo el directorio ~/rpmbuild/SOURCES:

mv IBMJava2-SDK-1.4.2-8.0.tgz ~/rpmbuild/SOURCES/IBMJava2-SDK-142.tgz

Descargue el fichero: http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/java-1.6.0-sun-compat-1.6.0.01-1jpp.i586.rpm (el cual está reportado como funcional -- 11 Oct 2007)

Construya los paquetes:

rpmbuild --rebuild java-1.4.2-ibm-1.4.2.3-1jpp.nosrc.rpm

Si todo resultó bien, en el directorio ~/rpmbuild/RPMS/i386 se crearon los RPMs siguientes:

java-1.4.2-ibm-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-alsa-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-demo-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-devel-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-fonts-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-jdbc-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-plugin-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-src-1.4.2.3-1jpp.i386.rpm

Instale estos RPMs como root:

su -
Password: <type root password>
cd /home/<username>/rpmbuild/RPMS/i386
rpm -Uvh java-1.4.2-ibm-1.4.2.3-1jpp.i386.rpm
rpm -Uvh java-1.4.2-ibm-alsa-1.4.2.3-1jpp.i386.rpm
rpm -Uvh java-1.4.2-ibm-jdbc-1.4.2.3-1jpp.i386.rpm

Configure el sistema Alternatives y seleccione el JDK que desee (ejecutando como root):

alternatives --config java

Intente ejecutar java:

java -version

Debe obtener:

java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
Classic VM (build 1.4.2, J2RE 1.4.2 IBM build cxia32142-20070321 (SR8) (JIT enabled: jitc))

2.5.3. C. Sun JDK 1.5.0

Probado en: CentOS 4.4 y CentOS 5.5

Descargue el fichero: http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/SRPMS/java-1.5.0-sun-1.5.0.13-1jpp.nosrc.rpm http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/SRPMS/java-1.5.0-sun-1.5.0.13-1jpp.nosrc.rpm (el cual está reportado como funcional -- 11 Oct 2007)

Descargue la actualización 11 de Sun JDK 1.5 desde http://java.sun.com/javase/downloads/index_jdk5.jsp. Compruebe que haya descargado el fichero auto-extraible (self-extracting file) y no el fichero auto-extraible con el RPM adentro (RPM in self-extracting file) y seleccione la arquitectura correcta (IA64 para los procesadores Itanium o i586 para el resto).

Muévase al directorio ~/rpmbuild/SOURCES:

mv jdk-1_5_0_13-linux-i586.bin ~/rpmbuild/SOURCES

Construya los paquetes:

rpmbuild --rebuild java-1.5.0-sun-1.5.0.13-1jpp.nosrc.rpm

Al finalizar, si todo resultó satisfactorio, en el directorio ~/rpmbuild/RPMS/i586 se crearon los RPMs siguientes:

java-1.5.0-sun-1.5.0.13-1jpp.i586.rpm
java-1.5.0-sun-alsa-1.5.0.13-1jpp.i586.rpm
java-1.5.0-sun-demo-1.5.0.13-1jpp.i586.rpm
java-1.5.0-sun-devel-1.5.0.13-1jpp.i586.rpm
java-1.5.0-sun-fonts-1.5.0.13-1jpp.i586.rpm
java-1.5.0-sun-jdbc-1.5.0.13-1jpp.i586.rpm
java-1.5.0-sun-plugin-1.5.0.13-1jpp.i586.rpm
java-1.5.0-sun-src-1.5.0.13-1jpp.i586.rpm

Puede eliminar el fichero java-1.5.0-sun-src-1.5.0.13-1jpp.nosrc.rpm.

Instale los RPMs como usuario root:

su -
cd /home/<username>/rpmbuild/RPMS/i586
rpm -Uvh java-1.5.0-sun-1.5.0.13-1jpp.i586.rpm
rpm -Uvh java-1.5.0-sun-alsa-1.5.0.13-1jpp.i586.rpm
rpm -Uvh java-1.5.0-sun-plugin-1.5.0.13-1jpp.i586.rpm

Configure el sistema Alternatives y seleccione el JDK que desee (ejecutando como root):

alternatives --config java

Intente ejecutar java:

java -version

Debe obtener:

java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)

2.5.4. D. IBM JDK 1.5.0

Probado en CentOS 4.4

Descargue el fichero: http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/SRPMS/java-1.5.0-ibm-1.5.0.2.3-3jpp.nosrc.rpm

Descargue el IBM JDK 1.5 (en formato tgz, no el rpm) desde la página: http://www-128.ibm.com/developerworks/java/jdk/linux/download.html (para esto necesita estar registrado en la página de IBM). Descargue desde el mismo lugar de la API de Comunicación de Java.

Renombre los ficheros y ubíquelos bajo el directorio: ~/rpmbuild/SOURCES/:

mv ibm-java2-sdk-5.0-4.0-linux-i386.tgz ~/rpmbuild/SOURCES/ibm-java2-sdk-50-linux-i386.tgz
mv ibm-java2-javacomm-5.0-4.0-linux-i386.tgz ~/rpmbuild/SOURCES/ibm-java2-javacomm-50-linux-i386.tgz

Construya los RPMs:

rpmbuild --rebuild java-1.5.0-ibm-1.5.0.2.3-3jpp.nosrc.rpm

Instale los RPMs:

su -
cd ~/rpmbuild/RPMS/i386
rpm -Uvh java-1.5.0-ibm-*.rpm

Configure el sistema Alternatives y seleccione el JDK que desee (ejecutando como root):

alternatives --config java

There are 3 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
 + 1           /usr/lib/jvm/jre-1.5.0-sun/bin/java
*  2           /usr/lib/jvm/jre-1.6.0-sun/bin/java
   3           /usr/lib/jvm/jre-1.5.0-ibm/bin/java


Enter to keep the current selection[+], or type selection number: 3

Intente ejecutar java:

java -version

Debe obtener:

java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pxi32dev-20070201 (SR4))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20070201 (JIT enabled)
J9VM - 20070131_11312_lHdSMR
JIT  - 20070109_1805ifx1_r8
GC   - 200701_09)
JCL  - 20070126

2.5.5. E. Sun JDK 1.6.0

Probado en: CentOS 4.4 y CentOS 5.0

Si está usando CentOS 4, primero instale el paquete jpackage-utils (versión 1.7b) desde JPackages. Descargue el último RPM jpackage-utils desde http://mirrors.dotsrc.org/jpackage/1.7/generic/free/RPMS/ e instálelo:

rpm -Uvh jpackage-utils-1.7.3-1jpp.noarch.rpm

Si está usando CentOS 5, el paquete jpackage-utils está disponible en los repositorios estándares de CentOS:

yum install -y jpackage-utils

Descargue la actualización 1 de Sun JDK 1.6 desde http://java.sun.com/javase/downloads/index.jsp. Compruebe que descargó el fichero auto-extraible con el RPM adentro (RPM in self-extracting file) y seleccione la arquitectura correcta (IA64 para los procesadores Itanium o i586 para el resto de los procesadores). El nombre del fichero es jdk-6u1-linux-i586-rpm.bin.

Cuando finalice la descarga, haga el fichero ejecutable y ejecútelo:

chmod +x jdk-6u1-linux-i586-rpm.bin
./jdk-6u1-linux-i586-rpm.bin

Acepte los acuerdos de la licencia, si lo desea. Luego se extraerá el fichero jdk-6u1-linux-i586.rpm. Descargue el fichero http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/java-1.6.0-sun-compat-1.6.0.01-1jpp.i586.rpm. Instale ambos RPMs:

rpm -Uvh jdk-6u1-linux-i586.rpm java-1.6.0-sun-compat-1.6.0.01-1jpp.i586.rpm

Configure el sistema Alternatives y seleccione el JDK de su preferencia (ejecutando como root):

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
   1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
*+ 2           /usr/lib/jvm/jre-1.6.0-sun/bin/java

Enter to keep the current selection[+], or type selection number: 2

Intente ejecutar java:

java -version

Debe obtener:

java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)

2.6. Paso 3. Instalar el repositorio JPackages

Solo para CentOS 4. Este paso es opcional, está incompleto

Instale la llave GPG de JPackage:

rpm --import http://www.jpackage.org/jpackage.asc

Descargue el fichero de configuración del repositorio JPackage e instálelo en: /etc/yum.reposd/:

cd /etc/yum.repos.d/
wget http://jpackage.org/jpackage.repo

Edite el fichero jpackage.repo y habilite jpackage-generic, jpackage-rhel y jpackage-generic-nonfree. Compruebe que su fichero se parece al que mostramos a continuación, principalmente en las líneas donde aparece enabled=:

[jpackage-generic]
name=JPackage (free), generic
mirrorlist=http://www.jpackage.org/jpackage_generic.txt
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=1

[jpackage-fc]
name=JPackage (free) for Fedora Core $releasever
mirrorlist=http://www.jpackage.org/jpackage_fedora-$releasever.txt
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=0

[jpackage-rhel]
name=JPackage (free) for Red Hat Enterprise Linux $releasever
mirrorlist=http://www.jpackage.org/jpackage_rhel-$releasever.txt
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=1

[jpackage-generic-nonfree]
name=JPackage (non-free), generic
mirrorlist=http://www.jpackage.org/jpackage_generic_nonfree.txt
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=1

Instale el paquete jpackage-utils:

yum install -y jpackage-utils

2023-09-11 07:23