gentoo linux, java, software libre y otras hierbas
jul, 08 2006 - 6:17 pm

¿Cómo instalar java en distro de linux basada en Debian?

Pues nada, es una de las preguntas más frecuentes que en los que, como yo, están dando sus primeros pasos en la programación. La gente de Sun te permite descargar los kit de desarrollo (SDK) para programar en Java bajo linux, tanto para J2SE como para J2ME, etc. Pero estos archivos “binarios” que vienen con la extensión *. bin, solo se “autoextraen”, mas no se organizan, ni actualizan adecuadamente el sistema, y cosas por el estilo.

Ahora, en sistemas basados en Debian, como por ejemplo el famoso Ununtu, se pueden utilizar paquetes *.deb (algo así como los *.rpm de redHat), para instalar fcilmente aplicaciones en nuestro sistema. Pues bien, en este artículo vamos a hacer una práctica para convertir los molestos archivos *.bin a *.deb, para instalarlos fácilmente en un sistema basado en debian.

El software a utilizar…

Lo primero que vamos a hacer es descargarnos una versión del J2SDK, desde la página de Sun. La versión más reciente a fecha de hoy es la 1.5.

Ahora, utilizaremos un programa llamado fakeroot cuya función es, como su nombre lo indica, falsear ser el root del sistema y ejecutar ciertos comandos. Así que vamos a la página oficial y descargamos una versión adecuada a nuestro sistema.
Nota: en distros como Ubuntu, el programa se encuentra dentro del CD de instalación. Otra opción es utilizar los comandos apt-get o aptitude que lo descargarán e instalaran por ti. No voy a explicar el manejo de estos programas, ya que el objetivo de este articulo es otro.

Y solo nos falta descargar un programa llamado java-package. Descarga de su página principal la versión que se acomode a tu sistema.

Si ya tienes el fakeroot y el java-package, bastará con utilizar el comando dpkg para instalarlos así:

dpkg -i nombre_archivo.deb

Creando paquetes *.deb a partir de un *.bin

Ya instalados los programas anteriormente mencionados, abrimos una consola y nos ubicamos en la carpeta donde tengamos el archivo *.bin con el SDK, y escribimos el siguiente comando:

fakeroot make-jpkg nombre_archivo*.bin

Con esto, y si todo ha salido bien, obtendriamos un archivo *.deb listo para instalar Java con el dpkg. Solo agregar que el java-package soporta estos SDK y Runtime’s de:

  • Sun Microsystems(TM) 1.4 and 1.5 Standard Edition
  • IBM(TM) 1.3, 1.4, and 5.0 Standard Edition
  • Blackdown Java-Linux 1.3 and 1.4 Standard Edition

Saludos!!!

14 Comentarios | deja el tuyo

14 Comentarios en “¿Cómo instalar java en distro de linux basada en Debian?”

  1. The Neko dice:

    Quisiera hacerte unas preguntas, yo lo hice de otra forma, solo extraje los archivos del .bin, y despues modifique mi .profile para dar de alta mi JAVA_HOME, que es mas conveniente???
    Cual es la diferencia???
    Si quisiera activar mi JAVA_HOME como Daemon (es decir, dandola de alta en init.d y enlazar con las entradas con el comando update-rc.d)como lo haria? por que lo he intentado como si fuera un daemon y no funciona.. podrias ayudarme? desde ya gracias….

  2. Casidiablo dice:

    Lo que yo haría sería añadir algo como esto en el archivo .bashrc:

    export JAVA_HOME='/ruta/jdk/bin'

    No velo la necesidad de hacer algo en el init.d.

    Un saludo!

  3. The Neko dice:

    Bueno, lo que yo pensaba, era algo basico, parecido a lo que hace mysql (que levanta el servicio de la base de datos) y aparece el comentario cuando se esta levantando el sistema, entonces yo lo que queria hacer era algo parecido, obvio no se iba a levantar algun servicio, pero queria, no se incrustar las variables de entorno, y a su vez aplicar un java -version para que, cuando se estuviera levantando el sistema mostrara la version de jdk (si ya se que estoy loco, pero que quieres, bien dicen que el ocio es la madre de todos los vicios, jajaja)por eso queria manejar algo asi, espero haber sido claro, y gracias por tu sugerencia, trabaja perfectamente asi como lo mencionas…saludos!!!

  4. gory dice:

    Disculpas, tengo problemas con el procedimiento, esto es loq ue me resulta sin aparecer el .deb

    fakeroot make-jpkg jre-6u11-linux-i586_2.bin
    Creating temporary directory: /tmp/make-jpkg.PaQXVSxGCw
    Loading plugins: blackdown-j2re.sh blackdown-j2sdk.sh common.sh ibm-j2re.sh ibm-j2sdk.sh j2re.sh j2sdk-doc.sh j2sdk.sh j2se.sh sun-j2re.sh sun-j2sdk-doc.sh sun-j2sdk.sh

    Detected Debian build architecture: i386
    Detected Debian GNU type: i486-linux-gnu

    No matching plugin was found.
    Removing temporary directory: done

    Teagradeceria y me ayudaras

  5. Cristian dice:

    Hola gory… la verdad esto fue escrito hace mucho, y en esa época no se contaba con mucho soporte para Java en Linux.

    Pero ahora las cosas han cambiado, y lo mejor es instalar Java directamente desde los repositorios. ¿qué distro usas?

  6. The Neko dice:

    Hola de nuevo…después de mucho estar trasteando sitios en la Web, encontré (segun yo) la forma más facil de instalar el JDK …bueno, te explico rápido y sin dolor..
    primero, te bajas el JDK que quieras de la página de sun(imaginemos que la que bajas es la 1.6.0), pero te bajas la que tiene como extension .BIN no .RPM ok??
    Después, en consola y como ROOT, le das permisos de ejecución con: # chmod +x jdk1.6.0.bin
    Después extraes el contenido con # ./jdk1.6.0 , te saldrá una licencia que debes aceptar y después te va a extraer tooodo el contenido en una carpeta (que tiene el mismo nombre y versión del JDK).
    Entonces, mueves esa carpeta de donde la vayas a querer, supongamos que la mueves y queda como /usr/java/jdk1.6.0
    De aquí instalas tu jdk como alternativa para compilación con el comando: # update-alternatives –install “/usr/bin/java” “java” /usr/java//jdk1.6.0/bin/java 1 (observa las comillas, éstas son para que, en la carpeta /usr/bin/haga un enlace al comando java de tu carpeta, y al último el número 1 para que sea la primera opción de compilación, por si instalas varios JDK’s), después insertas el valor con: # update-alternatives –set java /usr/java/jdk1.6.0/bin/java
    Al último, te cercioras de la versión de JDK con el comando: # update-alternatives –config java
    Para que te veas cuál es el JDK que se esta tomando en cuenta en ése momento(es el que tiene el número 1), y también para que lo cambies por si quieres trabajar con otra versión…
    Y para que certifiques, das un java –version …..voilá JDK instalado y configurado…espero que te sea útil la información, saludos!

  7. gory dice:

    uso debian, sucede que instale algunos programas, pero me piden que instale java, y se suponia que ya lo tenia instalado

  8. Cristian dice:

    Fíjate que tienes configuradas las variables de entorno (algunos programas buscan algo como JAVA_PATH, JAVA_HOME, etc.)

    Un saludo.

  9. The Neko dice:

    Tambien checa la salida con el comando java -version a ver que gestos hace… o con el comando SET pero en modo root, para ver las variables establecidas….

  10. gorylong dice:

    $ java –version
    java version “1.5.0″
    gij (GNU libgcj) version 4.3.2

    Copyright (C) 2007 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    $ sudo java set
    sudo: unable to resolve host psycho-bunny
    Exception in thread “main” java.lang.NoClassDefFoundError: set
    at gnu.java.lang.MainThread.run(libgcj.so.90)
    Caused by: java.lang.ClassNotFoundException: set not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
    at java.net.URLClassLoader.findClass(libgcj.so.90)
    at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.90)
    at java.lang.ClassLoader.loadClass(libgcj.so.90)
    at java.lang.ClassLoader.loadClass(libgcj.so.90)
    at gnu.java.lang.MainThread.run(libgcj.so.90)

    ok, y ahora que onda? que busco exactamente o que onda?

  11. Cristian dice:

    Yo nunca he confiado en la versión GNU de java… prefiero la versión oficial :P

  12. The Neko dice:

    Yo tampoco… a ver mi estimado GORYLONG … ya hiciste lo que te dije en mi comentario con fecha de diciembre 15?? si es asi ya deberias tener instalado el JDK… ahora en segundo lugar, al decir que ejecutaras el comando SET como root, solo era teclear SET (sudo SET pues), una disculpa por no explicarme bien….pero de todos modos, la salida que tienes muestra que efectivamente tienes el JDK 1.5 instalado, por eso te aparecio la tira de error, me explico: Al poner java set, el comando JAVA busca una clase llamada SET en el directorio donde estas, por eso te tira toooda esa linea de errores…mira, para que veas si tienes el jdk corriendo correctamente, haz lo siguiente bajate de http://www.jtattoo.net/Download.html
    el archivo JTattooDemo.jar(es el primerito), por consola te posicionas donde hayas dejado el jar y ejecutas (como root) # java -jar JTattooDemo.jar.jar … si te corre, es que tienes bien instalado el JDK, sino, pega la salida que te aviente… un saludote, por cierto cheque tu blog, esta buena la rolita…

  13. The Neko dice:

    Ups !!! perdon, puse doble extension .jar en el archivo, bueno el comando correcto es #java -jar JTattooDemo.jar oki?, y como te digo, si salen errores los copias/pegas.. saludos…si te siguen saliendo errores, seria bueno que quitaras la version libre que tienes del JDK e instalar la de Sun, como lo describi hace unos comments mas arriba…

  14. Si te interesa yo siempre actualizo en mi blog esta sección, instalar desde cero la última versión de Java JRE y JDK, el tema central es:

    http://www.elleonplateadodeojosrojos.es/blog/java

    Hasta Siempre

¡Déjanos tu comentario!