Okey, esta es mi segunda respuesta a esta pregunta, ¡y así es como instalas un JDK actual en Linux! (Es para Debian, pero los usuarios de Ubuntu no deberían ver muchas diferencias).
Herramientas que necesitas:
apt-get install fakeroot zip unzip mkisofs
Ahora vaya a java.sun.com y descargue un JDK6 actual. Debería ser nombres algo así jdk-6u20-linux-i586.bin
!
No queremos instalarlo directamente para que se comporte como un buen paquete. Entonces usamos fakeroot para instalarlo como usuario.
mv jdk-6u20-linux-i586.bin ~someuser
su - someuser
fakeroot
chmod a+x jdk-6u20-linux-i586.bin
sh ./jdk-6u20-linux-i586.bin
cd jdk1.6.0_20/man
for i in `find -type f`; do gzip $i; done;
cd ../..
# Tar the results to have them handy for the real installation
tar cfz jdk1.6.0_20.tgz jdk1.6.0_20/
Ahora dejamos fakeroot (Ctrl-D) y someuser-shell (Ctrl-D nuevamente), e instalamos nuestro tar en / usr / local:
cd /usr/local
tar xfvz ~someuser/jdk1.6.0_20.tgz
ln -s /usr/local/jdk1.6.0_20/ /usr/local/jdk
ln -s /usr/local/jdk1.6.0_20/jre/ /usr/local/jre
for program in appletviewer apt extcheck idlj jar jarsigner java javac \
javadoc javah javap javaws jconsole jdb jhat jinfo jmap \
jps jrunscript jsadebugd jstack jstat jstatd jvisualvm \
keytool native2ascii orbd pack200 policytool rmic rmid \
rmiregistry schemagen serialver servertool tnameserv \
unpack200 wsgen wsimport xjc ; do \
update-alternatives --install "/usr/bin/$program" "$program" \
"/usr/local/jdk1.6.0_20/bin/$program" 1130 \
--slave "/usr/share/man/man1/$program.1.gz" "$program.1.gz" \
"/usr/local/jdk1.6.0_20/man/man1/$program.1.gz"; done;
Monja testen ob alles ok ist:
java -version
man java
Hecho.