15.2.07

Configurar las Versiones de Java con update-alternatives

A veces no hay más remedio que remangarse y trastear con los servidores para poder instalar una aplicación o un nuevo servidor de mapas. Un problema muy común es que las versiones de java que vienen por defecto en los sistemas Linux, no son las oficiales de Sun. Esta es una pequeña guía de cómo configurar java.



Si no hay opción de instalar java a través de los repositorios oficiales de nuestra distribución, que sería la opción recomendada,

también es posible instalar java de forma manual.



Lo primero es descargar de http://java.sun.com la versión de java que queramos utilizar. En el caso de RedHat es

siempre conveniente descargar la versión que acaba con extensión rpm.bin, ya que de esta forma, podremos instalar

java con el comando rpm -i nombre_de_la_version_de_java.rpm. Una vez descargado el archivo cambiaremos los permisos

con chmod +x nombre_de_la_version_de_java.rpm.bin y luego lo ejecutamos ./nombre_de_la_version_de_java.rpm.bin, se generará

un archivo nombre_de_la_version_de_java.rpm, ejecutamos entonces rpm -i nombre_de_la_version_de_java.rpm y tendremos java instalado.

Normalmente estará en /usr/java/nombre_de_la_version_de_java/. Si no está aquí podemos ejecutar como root updatedb y luego hacer un

locate /bin/javac, para ver el directorio donde está java instalado.



Ahora ya está java instalado, pero si ejecutamos java nos saldrá esto:



libgcj-java-placeholder.sh



This script is a placeholder for the /usr/bin/java

master link required by jpackage.org conventions. libgcj's

rmiregistry, rmic and jar tools are now slave symlinks to these

masters, and are managed by the alternatives(8) system.



...




Esta no es la versión de java que necesitamos, para configurarlo lo mejor (tal y como dice el libgcj-java-placeholder.sh) es utilizar alternatives.

Alternatives nos permite tener distintas versiones de un mismo componente e intercambiar entre ellas de forma transparente, sin tocar archivos

de configuración o paths:



[root@equipo /]# update-alternatives

versiones alternativas 1.3.11 - Copyright (C) 2001 Red Hat, Inc.

Este programa puede que sea libremente distribuido bajo los términos de la

licencia pública de GNU.

uso: alternativas --install /> [--initscript /> [--slave /> alternatives --remove /> alternatives --auto /> alternatives --config /> alternatives --display /> alternatives --set />

opciones comunes: --verbose --test --help --usage --version

--altdir --admindir />

Lo que tenemos que hacer es añadir (--install) el nuevo java y para ello necesitamos saber la ruta del ejecutable de java:



[root@equipo /]# locate java | grep bin/java

/usr/sbin/javaconfig

/usr/bin/java

/usr/bin/javac

/usr/bin/java_cup

/usr/bin/java_cup-10.11

/usr/java/j2sdk1.4.2_13/bin/java-rmi.cgi

/usr/java/j2sdk1.4.2_13/bin/java

/usr/java/j2sdk1.4.2_13/bin/javac

/usr/java/j2sdk1.4.2_13/bin/javadoc

/usr/java/j2sdk1.4.2_13/bin/javah

/usr/java/j2sdk1.4.2_13/bin/javap

/usr/java/j2sdk1.4.2_13/jre/bin/java

/usr/java/j2sdk1.4.2_13/jre/bin/java_vm



El que nos interesa es /usr/java/j2sdk1.4.2_13/bin/java. Ahora simplemente hay que ejecutar el comando de instalación en el que le

decimos el nombre del enlace simbólico (/usr/bin/java) el nombre del paquete (java), la ruta del ejecutable java y la prioridad (300 por

defecto):



[root@equipo /]# update-alternatives --install /usr/bin/java java /usr/java/j2sdk1.4.2_13/bin/java 300



Para terminar comprobamos que ahora java utiliza el ejecutable que necesitamos y hacemos un java -version:



[root@equipo /]# update-alternatives --config java



Hay 2 programas que proporcionan 'java'.



Selección Comando

-----------------------------------------------

1 /usr/share/java/libgcj-java-placeholder.sh

*+ 2 /usr/java/j2sdk1.4.2_13/bin/java



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



[root@equipo /]# java -version

java version "1.4.2_13"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_13-b06)

Java HotSpot(TM) Client VM (build 1.4.2_13-b06, mixed mode)

[root@equipo /]#



Más información en:

http://www.yiluda.net/manual/linux/man/alternatives.html

http://blog.stevenkroon.com/2006/08/29/debian-update-alternatives/





powered by performancing firefox

Share/Save/Bookmark