viernes, 31 de agosto de 2007

Instalar Java Plugin en Linux Debian Etch

Este articulo esta disenado especialmente para Linux Debian Etch y ha sido probado unicamente con dicho sistema. Su utilidad es por ejemplo que gracias a esto sera posible visitar paginas en internet que ejecuten applets de Java. Para comprobar si Java esta correctamente instalado y configurado en un navegador, se puede visitar la siguiente pagina: www.jaimemontoya.com/parachat.php. Si es posible entrar a la sala de chat, significa que Java esta funcionando bien en el navegador desde el que se ejecuta esta accion.

Tengase en cuenta que las acciones que se describen a continuacion deben ejecutarse como root o superusuario, por lo cual se pone el simbolo "#" antes de los comandos. Para entrar como superusuario habra que escribir "su" y luego la contrasena de superusuario o usuario root.

En caso de haber realizado instalaciones de Java anteriormente y querer actualizar la version de Java, el primer paso sera desinstalar la version que se tiene. Para ello, entrar como root a la consola y escribir:

# dpkg -l |grep sun-java

Eliminar los paquetes que aparezcan usando "# apt-get --purge remove" y poniendo despues de "remove" cada uno de los paquetes de la lista, como lo cual se eliminaran.

Para ver si se habia creado algun enlace, escribir:

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

Luego eliminar los enlaces que se habian creado, de esta forma:

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

Con lo anterior se han eliminado versiones de Java instaladas previamente.

El siguiente paso es instalar una version reciente de Java.

Primeramente, escribir lo siguiente:

# nano /etc/apt/apt.conf

Escribir lo siguiente:

APT::Default-Release "testing";

Posteriormente presionar Ctrl + O y luego Enter para guardar y Ctrl + X para cerrar el documento.

A continuacion escribir

# nano /etc/apt/sources.list

Aparecera algo como esto (variara dependiendo de la configuracion que cada quien le haya dado):

#
# deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Binary-1 20070407-11:29]/ etch contrib main

deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Binary-1 20070407-11:29]/ etch contrib main

deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
deb http://ftp.debian.org/debian etch main

Modificar el archivo de tal forma que quede asi (nótese la última línea que aparece abajo del comentario "# Para instalar Java". Esta no puede faltar, pues es el cambio o adición que se debe hacer para que la instalación funcione):

GNU nano 2.0.2 File: /etc/apt/sources.list

#
# deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Binary-1 20070407-11:29]/ etch contrib main

deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Binary-1 20070407-11:29]/ etch contrib main

deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
deb http://ftp.debian.org/debian etch main
# Para instalar Java.
deb http://ftp.fi.debian.org/debian/ unstable main contrib non-free

Presionar Ctrl + O y luego Enter para guardar y Ctrl + X para cerrar el documento.

Actualizar ahora asi:

# apt-get update

Estando ya listos en este momento para instalar los paquetes, el siguiente paso es ver los paquetes disponibles, de esta forma:

# apt-cache search sun-java6

Instalar el "sun-java6-jdk" que aparece en la lista, asi:

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

Aparecera entonces lo siguiente:

The following NEW packages will be installed:

gcc-3.3-base
gcc-4.2-base
java-common
libltdl3
libstdctt5
adbcinst1debian1
sun-java6-bin
sun-java6-jdk
sun-java6-jre
unixodbc

Need to get 59.6 MB of archives.
After unpacking 112 MB of additional disk space will be used.
Do you want to continue [Y/n]?

Escribir "Y".

Entonces comienza a hacer las descargas:

Get:1 http://ftp.fi.debian.org unstable/main tzdata 2007g-1[722kB]
Get:2 http://ftp.fi.debian.org unstable/main locales 2.6.1[4397kB]
Get:3 http://ftp.fi.debian.org unstable/main libc6 2.6.1-1tb1[4405kB]
Get:4 http://ftp.fi.debian.org unstable/main libc6.i686 2.6.1-1tb1[1201kB]
-------------------------------------------------
-------------------------------------------------
Get:15 http://ftp.fi.debian.org unstable/main java-common 0.26 [75.7kB]
------------------------------------------------
------------------------------------------------
Get:21 http:ftp.fi.debian.org unstable/non-free sun-java6-bin 6-02-1 [26.4MB]
Get:22 http:ftp.fi.debian.org unstable/non-free sun-java6-jre 6-0201 [6327kB]
Get:23 http:ftp.fi.debian.org unstable/non-free sun-java6-jdk 6-02-1 [9508kB]

Si diera error en alguna de las descargas, volver a ejecutar la instalacion escribiendo:

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

Cuando se hayan realizado correctamente todas esas descargas, aparecera el acuerdo de licencia y la primera linea del documento dice:

Operating System Distributor License for Java v1.1 (DLJ)

Darle Enter para ir leyendo el acuerdo de licencia y al final aparecera el mensaje:

Do you agree with the DLJ license terms?

Escribir "yes" para aceptar el acuerdo y darle Enter.

Aparecera entonces:

Setting up sun-java6-jre (6-02-1)...
Setting up sun java6-bin (6-02-1)...
Setting up sun-java6-jdk (6-02-1)...

Luego escribir lo siguiente:

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

Aparecera lo siguiente:

There is only 1 program which provides java

(/usr/lib/jvm/java-6-sun/jre/bin/java). Nothing to configure.

Debido a que anteriormente se eliminaron las versiones de Java, solamente se encuentra 1 programa que provee Java.

Para ver los enlaces que se han creado, escribir:

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

Aparecera lo siguiente:

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.

Ahora escribir:

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

Aparecera esto:

There is only 1 program which provides javac

(/usr/lib/jvm/java-6-sun/bin/javac). Nothing to configure.

Si todos los pasos se han hecho bien, ya debera estar instalado Java correctamente. Para ver la version escribir:

# java -version

Va a aparecer la descripcion de la version de Java instalada:

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

Habiendo seguido los pasos anteriores, la instalacion habra tenido exito. Ahora lo que falta es crear los enlaces simbolicos para los directorios de plugins de los navegadores en los que se desea que sea posible ejecutar los applet de Java. Para ello se daran dos ejemplos. Supongase que se desea que los applet de Java se puedan ejecutar en el navegador Epiphany Web Browser y en Iceweasel Web Browser (si no se tiene todavia instalado el Iceweasel, hacerlo con "# apt-get install iceweasel").

Primeramente deberan asignarse permisos de escritura en las carpetas de plugins de los navegadores Epiphany y Iceweasel, de esta manera:

# chmod 777 /usr/lib/iceweasel/plugins
# chmod 777 /usr/lib/epiphany/2.14/plugins

Luego moverse hasta el directorio de plugins de Iceweasel, de esta forma:

# cd /usr/lib/iceweasel/plugins

Escribir "# pwd" para confirmar que se ha llegado a la ubicacion /usr/lib/iceweasel/plugins

Ahora crear el enlace simbolico para /usr/lib/iceweasel/plugins simplemente escribiendo:

# ln -s /usr/lib/jvm/java-6-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so

Ahora repetir el proceso para el navegador Epiphany:

# cd /usr/lib/epiphany/2.14/plugins

Escribir "# pwd" para confirmar que se ha llegado a la ubicacion /usr/lib/epiphany/2.14/plugins

Ahora crear el enlace simbolico para /usr/lib/iceweasel/plugins simplemente escribiendo:

# ln -s /usr/lib/jvm/java-6-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so

Para confirmar que los enlaces simbolicos se han creado, se puede ir a buscar con entorno grafico que "libjavaplugin_oji.so" aparezca en los directorios de plugins de los navegadores a los que se les ha creado el enlace simbolico, o puede hacerse mediante la consola. Tengase en cuenta que el la creacion del enlace simbolico con "ln -s" no necesariamente se tiene que hacer como superusuario, sino tambien como usuario normal, al tener permisos de escritura para este usuario sobre los directorios de plugins. Salirse del modo superusuario con "# exit". Ahora confirmar en la consola que "libjavaplugin_oji.so" se encuentra en las carpetas de plugins, asi:

$ cd /usr/lib/iceweasel/plugins

Ahora escribir el comando para listar:

$ ls

Aparecera una lista de archivos, entre la cual debera aparecer "libjavaplugin_oji.so":

libflashplayer.so
libtotem-gmp-plugin.xpt
libjavaplugin_oji.so
libtotem-mully-plugin.so
libtotem-basic-plugin.so
libtotem-mully-plugin.xpt
libtotem-basic-plugin.xpt
libtotem-narrowspace-plugin.so
libtotem-complex-plugin.so
libtotem-narrowspace-plugin.xpt
libtotem-complex-plugin.xpt
libunixprintplugin.so
libtotem-gmp-plugin.so

Repetir el proceso correspondiente para verificar que "libjavaplugin_oji.so" se encuentra en el directorio de plugins del navegador Epiphany.

Finalmente abrir los navegadores Iceweasel Web Browser y Epiphany Web Browser, y escribir en la barra de direcciones: "about:plugins". Debera aparecer:

Java(TM) Plug-in 1.6.0_02-b05
File name: libjavaplugin_oji.so
Java(TM) Plug-in 1.6.0_02
MIME Type Description Suffixes Enabled
application/x-java-vm Java
Yes
application/x-java-applet Java
Yes
application/x-java-applet;version=1.1 Java
Yes
application/x-java-applet;version=1.1.1 Java
Yes
application/x-java-applet;version=1.1.2 Java
Yes
application/x-java-applet;version=1.1.3 Java
Yes
application/x-java-applet;version=1.2 Java
Yes
application/x-java-applet;version=1.2.1 Java
Yes
application/x-java-applet;version=1.2.2 Java
Yes
application/x-java-applet;version=1.3 Java
Yes
application/x-java-applet;version=1.3.1 Java
Yes
application/x-java-applet;version=1.4 Java
Yes
application/x-java-applet;version=1.4.1 Java
Yes
application/x-java-applet;version=1.4.2 Java
Yes
application/x-java-applet;version=1.5 Java
Yes
application/x-java-applet;version=1.6 Java
Yes
application/x-java-applet;jpi-version=1.6.0_02 Java
Yes
application/x-java-bean Java
Yes
application/x-java-bean;version=1.1 Java
Yes
application/x-java-bean;version=1.1.1 Java
Yes
application/x-java-bean;version=1.1.2 Java
Yes
application/x-java-bean;version=1.1.3 Java
Yes
application/x-java-bean;version=1.2 Java
Yes
application/x-java-bean;version=1.2.1 Java
Yes
application/x-java-bean;version=1.2.2 Java
Yes
application/x-java-bean;version=1.3 Java
Yes
application/x-java-bean;version=1.3.1 Java
Yes
application/x-java-bean;version=1.4 Java
Yes
application/x-java-bean;version=1.4.1 Java
Yes
application/x-java-bean;version=1.4.2 Java
Yes
application/x-java-bean;version=1.5 Java
Yes
application/x-java-bean;version=1.6 Java
Yes
application/x-java-bean;jpi-version=1.6.0_02 Java
Yes

Ahora sera posible visitar sitios en internet que tengan applets de Java, por ejemplo sera posible tener sesiones de chat en sitios como www.jaimemontoya.com/parachat.php o cualquier otro sitio web que requiera de Java applets.

Jaime Montoya
jaimemontoya@jaimemontoya.com
www.jaimemontoya.com