domingo, 18 de mayo de 2008

java 6 en Debian etch

Hoy he tenido que instalarle java 1.6 a la ultima distro de debian estable que hay en el mercado, para ello logicamente tuve que tirar de un repositorio inestable, pero es que para lo que quiero hacer correr en la máquina requeria de la nueva java 1.6 o 6.0 existe ambiguedad entre su nombre.

Por ello creo que es interesante este árticulo en el que se explica como desistalar tu java 1.5 si la tuvieras instalada y acto seguido instalar java 1.6 (en este caso las jdk + jre).

Seguro que le servirá a alguién más ademas de a mí ;).

======================
Desinstalar sun-java5
======================
en mi caso tengo instalado sun-java5

1) Para ver los paquetes sun-java instalados

# dpkg -l |grep sun-java

2) en mi caso, aparecen:
- sun-java5-bin
- sun-java5-demo
- sun-java5-jdk
- sun-java5-jre

3) Para eliminar los paquetes

# apt-get --purge remove sun-java5-bin sun-java5-demo sun-java5-jdk sun-java5-jre

4) para ver si se había creado algún enlace:

# update-alternatives --display java
# update-alternatives --display javac

5) se eliminan los enlaces que se habian creado

# update-alternatives --remove-all java
# update-alternatives --remove-all javac

=====================
Instalar sun-java6
=====================
En mi caso, tengo Debian etch y los paquetes de sun-java6 estan en unstable. Para poder instalar estos paquetes desde la rama inestable hay que hacer lo siguiente:

1) Se necesita agregar una línea de apt source (repositorio para la rama unstable) a la lista en /etc/apt/sources.list:

Por ejemplo, en mi caso:

deb http://ftp.fi.debian.org/debian/ unstable main contrib non-free

2) Una vez que esto esté hecho, se actualiza la lista con:

# apt-get update


3) Ahora ya estamos listos para instalar los paquetes. Para ver los paquetes disponibles, tecleamos:

# apt-cache search sun-java6

Nos mostrará una lista con los paquetes disponibles.

4) En mi caso deseo instalar sun-java6-jdk

# apt-get -t unstable install sun-java6-jdk

mostrará que instalará tambien los paquetes: sun-java6-bin, sun-java6-jre



5) Establecemos la alternativa por defecto de la VM de java:

# /usr/sbin/update-alternatives --config java


mostraría algo como esto:

There is only 1 program which provides java
(/usr/lib/jvm/java-6-sun/jre/bin/java). Nothing to configure.
rcs:/etc/apt# update-alternatives --display java
java - status is auto.
link currently points to /usr/lib/jvm/java-6-sun/jre/bin/java
/usr/lib/jvm/java-6-sun/jre/bin/java - priority 63
slave java.1.gz: /usr/lib/jvm/java- 6-sun-1.6.0.00/jre/man/man1/java.1.gz
Current `best' version is /usr/lib/jvm/java-6-sun/jre/bin/java.

6) si queremos ver los enlaces que nos ha creado, tecleamos:

# /usr/sbin/update-alternatives --display java

y nos saldría algo como esto:

java - status is auto.

link currently points to /usr/lib/jvm/java-6-sun/jre/bin/java
/usr/lib/jvm/java-6-sun/jre/bin/java - priority 63
slave java.1.gz: /usr/lib/jvm/java- 6-sun-1.6.0.00/jre/man/man1/java.1.gz
Current `best' version is /usr/lib/jvm/java-6-sun/jre/bin/java.

7) hacemos lo mismo que en el paso 6, pero con javac:

# /usr/sbin/update-alternatives --config javac

mostraría algo como esto:

There is only 1 program which provides javac
(/usr/lib/jvm/java-6-sun/bin/javac). Nothing to configure.


7.1) si queremos ver los enlaces que nos ha creado, tecleamos:

# /usr/sbin/update-alternatives --display javac

y nos saldría algo como esto:

javac - status is auto.
link currently points to /usr/lib/jvm/java-6-sun/bin/javac
/usr/lib/jvm/java-6-sun/bin/javac - priority 63
slave javac.1.gz: /usr/lib/jvm/java-6-sun-1.6.0.00 /man/man1/javac.1.gz
Current `best' version is /usr/lib/jvm/java-6-sun/bin/javac.

8) si toda va bien, tecleamos:

# java -version

y mostraría:

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


9) para instalar la documentación de sun-java6, me conecto a http://java.sun.com/javase/download y me descargo el archivo jdk-6-doc.zip.

10) el fichero jdk-6-doc.zip lo descargo en /tmp y establezco como propietario y grupo a root.

11) instalo el paquete sun-java6-doc, que tira del jdk-6-doc.zip

# apt-get -t unstable install sun-java6-doc

Una vez instalado puedes borrar el fichero jdk-6-doc.zip de /tmp

Bueno, pues con esto parece que ya va ;)

No hay comentarios: