Actualmente en los repositorios de Ubuntu/Debian, la versión para el JDK o el JRE es OpenJDK, la versión Open Source que tomó fuerza luego de que Oracle comprara a Sun, estos paquetes son lo suficientemente buenos para cualquier desarrollador Java, el problema es que están un poco desfasados y no se actualizan con tanta premura. Existe la posibilidad de instalarlos mediante los PPA disponibles, existe mucha información acerca de como agregarlos e instalarlos.
Esta vez les muestro un mecanismo un tanto distinto, bajar el instalador de la página de Oracle y transformarlos a paquetes deb.
El paquete que hace la magia es JavaPackage, está en los repos de Debian pero no en los de Ubuntu, así que eso es lo que vamos a hacer.
Instalar JavaPackage
Agregamos a nuestro /etc/apt/sources.list el repo debian:
# Debian 7 "Wheezy" deb http://http.debian.net/debian/ wheezy main contri
Al hacer apt-get update nos saldrá un error de clave:
W: Error de GPG: [PAQUETE] Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY [CLAVE] NO_PUBKEY [CLAVE]
Que se corrige con el siguiente comando
gpg --keyserver keyserver.ubuntu.com --recv [CLAVE] gpg --export --armor [CLAVE] | sudo apt-key add -
Reemplazando [CLAVE] por nuestros datos. Nuevamente actualizamos e instalamos:
sudo apt-get update sudo apt-get install java-package
Usando JavaPackage
De la página de Oracle por ejemplo hemos descargado el siguiente archivo:
Por lo tanto, el comando para generar el paquete deb será:
make-jpkg jdk-8u40-linux-i586.tar.gz
Tendremos que responder afirmativamente a algunas preguntas como la arquitectura, el sistema operativo y al final tendremos nuestro deb listo para instalar.
Si tenemos instalado en nuestro sistema el programa GDebi podemos instalar el JDK 8 simplemente dando doble clic sobre el paquete deb. Sino con este comando en el terminal ubicados donde esté el paquete deb.
sudo dpkg -i oracle-java8-jdk_8u40_i386.deb
Configurando
Finalmente podemos usar el comando update-alternatives para poder escoger el jdk que va a estar configurado para el sistema si es que tenemos mas de una versión instalada:
sudo update-alternatives --config java
Y nos mostrará nuestros jdk’s instalados:
Selección Ruta Prioridad Estado ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 modo automático * 1 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 modo manual 2 /usr/lib/jvm/jdk-7-oracle-i586/jre/bin/java 317 modo manual 3 /usr/lib/jvm/jdk-8-oracle-i586/jre/bin/java 318 modo manual Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección:
Como pueden ver, usando el número de selección se puede escoger el jkd deseado
También se puede dejar en manos de la herramienta que escoja el «mejor» java
sudo update-alternatives --auto java
El tener nuestros paquetes instalados directamente de los repositorios es una gran ventaja frente a este mecanismo, pero en algunos casos(como en el mío) no siempre tenemos acceso a todo lo que queramos y tenemos que «acomodarnos» a ciertas limitantes.
Espero sea de utilidad
Fuente: https://wiki.debian.org/JavaPackage