java-package: Crear paquetes debian de Java a partir del .tar.gz | Algo de Linux

viernes, 19 de octubre de 2012

java-package: Crear paquetes debian de Java a partir del .tar.gz

Normalmente, los usuarios de Debian, tenemos que descargar java desde la web de Java en formato .tar.gz para luego hacer una instalación manual.

Existe un paquete en Debian llamado java-package que nos proporciona una utilidad cuyo nombre es make-jpkg. Esta utilidad nos va a permitir convertir el archivo java .tar.gz descargado en un paquete deb. De este modo, lograremos tener un paquete .deb que es más automático instalar que el .tar.gz

He probado el java-package 0.50 en Debian Squeeze y me ha funcionado sin problemas. Podéis descargarlo desde aquí mismo: https://www.box.com/s/ntmtdd2j4thv0khg1wwi

El paquete java-package tiene como dependencia fakeroot, así que podemos instalar primero fakeroot y luego java-package:

# apt-get -y install fakeroot
# dpkg -i java-package_0.50_all.deb

En cualquier caso, si hemos instalado java-package sin instalar fakeroot, no pasa nada. Hacemos después un apt-get -f install para resolver dependencias y listo:

# dpkg -i java-package_0.50_all.deb
# apt-get -fy install

Una vez instalado el paquete, no tenemos más que ir a la web de Java y descargar la versión correspondiente al sistema de nuestra máquina. Como normalmente tenemos tanto máquinas con sistema de 32 bits como máquinas con sistema de 64 bits, descargamos los dos paquetes y listo. Una vez descargados los archivos,  ejecutamos make-jpkg para crear los paquetes:

# make-jpkg jre-7u9-linux-i586.tar.gz
# make-jpkg jre-7u9-linux-x64.tar.gz

Cuando termine,  ya tendremos los paquetes:
  • oracle-j2re1.7_1.7.0+update9_amd64.deb
  • oracle-j2re1.7_1.7.0+update9_i386.deb
Para instalarlos en nuestras máquinas, no tenemos más que usar una tarea puppet y listo.

Si los enlaces de java han sido definidos manualmente, se preservarán al instalar el paquete que hemos creado.

Si queremos resetear los enlaces de java a sus valores por defecto, debemos usar la opción --auto.

# update-alternatives --auto java
# update-alternatives --auto iceweasel-javaplugin.so
# update-alternatives --auto mozilla-javaplugin.so

Del modo anterior reseteamos el enlace de java, y los enlaces para los plugins de iceweasel (iceweasel-javaplugin.so) y firefox (mozilla-javaplugin.so).

Si tuviéramos que crear los enlaces a los plugins de java manualmente en un sistema de 32 bits:

# ln -sf /usr/lib/jvm/j2re1.7-oracle/lib/i386/libnpjp2.so /etc/alternatives/mozilla-javaplugin.so
# ln -sf /usr/lib/jvm/j2re1.7-oracle/lib/i386/libnpjp2.so /etc/alternatives/iceweasel-javaplugin.so


Y si tuviéramos que crear los enlaces a los plugins de java manualmente en un sistema de 64 bits:

# ln -sf /usr/lib/jvm/j2re1.7-oracle/lib/amd64/libnpjp2.so /etc/alternatives/mozilla-javaplugin.so
# ln -sf /usr/lib/jvm/j2re1.7-oracle/lib/amd64/libnpjp2.so /etc/alternatives/iceweasel-javaplugin.so


Las versiones soportadas por java_package en la actualidad son las siguientes:
  • Oracle JDK, version 6 (update >= 10), 7
  • Oracle JRE, version 6 (update >= 10), 7
  • Oracle J2SE API Javadoc, version 6 (update >= 10), 7
Fuente: http://wiki.debian.org/JavaPackage

Importante: Hay una actualización del paquete  a la versión 0.51. 
Ver artículo: http://enavas.blogspot.com.es/2013/01/actualizacion-de-java-package-crear.html