martes, 14 de abril de 2015

Chiste gráfico... para los que sepan java...


Nos vemos en los bares. Me encontraréis debajo de la mesa, como siempre ...

miércoles, 23 de julio de 2014

Configurando JDK 8 Oracle en OpenSUSE 12.3

Instalando Oracle Java JDK en openSUSE


Descargarse el RPM adecuado para tu arquitectura de PC. Lo sabrás ejecutando en un terminal :

$ uname -m


Si te responde con i486 o i586 o i686 tu arquitectura es de 32 bits. Si por el contrario te responde con x86_64 tu arquitectura es de 64 bits.

A fecha de hoy el rpm a descargar de la web de Oracle será uno de estos dos según tu arquitectura:
  • jdk-8u11-linux-i586.rpm (Arquitectura de 32 bits)
  • jdk-8u11-linux-x64.rpm (Arquitectura de 64 bits)
Una vez descargados, supongamos que quedan en el directorio "/tmp" abrimos un nuevo terminal como root e instalamos el paquete RPM con :

tuHostName:/tmp # rpm -ivh jdk-8u11-linux-x64.rpm

En caso de que la máquina fuera de 32 bits ....

tuHostName:/tmp # rpm -ivh jdk-8u11-linux-i586.rpm

Terminamos a que se instale y luego grabamos el siguiente script con un editor de texto y lo llamamos "instalaOracleJDK8", por ejemplo:

#!/bin/bash
#La variable JDKDIR apuntará al directorio raiz de la instalacion del JDK (Oracle coloca sus paquetes RPM de Java JDK y JRE en "/usr/java/")
export JDKDIR=jdk1.8.0_11

sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/appletviewer.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/extcheck.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/idlj.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jar.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jarsigner.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/java.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javac.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javadoc.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javafxpackager.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javah.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javap.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javaws.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jcmd.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jconsole.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jdb.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jdeps.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jhat.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jinfo.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jjs.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jmap.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jmc.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jps.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jrunscript.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jsadebugd.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jstack.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jstat.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jstatd.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jvisualvm.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/keytool.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/native2ascii.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/orbd.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/pack200.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/policytool.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/rmic.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/rmid.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/rmiregistry.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/schemagen.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/serialver.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/servertool.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/tnameserv.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/unpack200.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/wsgen.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/wsimport.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/xjc.1)



# Añadiendo alternative Java compiler
sudo /usr/sbin/update-alternatives --install /usr/bin/javac javac /usr/java/$JDKDIR/bin/javac 3 \
--slave /usr/bin/appletviewer appletviewer /usr/java/$JDKDIR/bin/appletviewer \
--slave /usr/share/man/man1/appletviewer.1.gz appletviewer.1.gz /usr/java/$JDKDIR/man/man1/appletviewer.1.gz \
--slave /usr/bin/extcheck extcheck /usr/java/$JDKDIR/bin/extcheck \
--slave /usr/share/man/man1/extcheck.1.gz extcheck.1.gz /usr/java/$JDKDIR/man/man1/extcheck.1.gz \
--slave /usr/bin/jar jar /usr/java/$JDKDIR/bin/jar \
--slave /usr/share/man/man1/jar.1.gz jar.1.gz /usr/java/$JDKDIR/man/man1/jar.1.gz \
--slave /usr/bin/jarsigner jarsigner /usr/java/$JDKDIR/bin/jarsigner \
--slave /usr/share/man/man1/jarsigner.1.gz jarsigner.1.gz /usr/java/$JDKDIR/man/man1/jarsigner.1.gz \
--slave /usr/lib64/jvm/java java_sdk /usr/java/$JDKDIR \
--slave /usr/share/man/man1/javac.1.gz javac.1.gz /usr/java/$JDKDIR/man/man1/javac.1.gz \
--slave /usr/bin/javadoc javadoc /usr/java/$JDKDIR/bin/javadoc \
--slave /usr/share/man/man1/javadoc.1.gz javadoc.1.gz /usr/java/$JDKDIR/man/man1/javadoc.1.gz \
--slave /usr/bin/javah javah /usr/java/$JDKDIR/bin/javah \
--slave /usr/share/man/man1/javah.1.gz javah.1.gz /usr/java/$JDKDIR/man/man1/javah.1.gz \
--slave /usr/bin/javap javap /usr/java/$JDKDIR/bin/javap \
--slave /usr/share/man/man1/javap.1.gz javap.1.gz /usr/java/$JDKDIR/man/man1/javap.1.gz \
--slave /usr/share/man/man1/jcmd.1.gz jcmd.1.gz /usr/java/$JDKDIR/man/man1/jcmd.1.gz \
--slave /usr/bin/jconsole jconsole /usr/java/$JDKDIR/bin/jconsole \
--slave /usr/share/man/man1/jconsole.1.gz jconsole.1.gz /usr/java/$JDKDIR/man/man1/jconsole.1.gz \
--slave /usr/bin/jdb jdb /usr/java/$JDKDIR/bin/jdb \
--slave /usr/share/man/man1/jdb.1.gz jdb.1.gz /usr/java/$JDKDIR/man/man1/jdb.1.gz \
--slave /usr/bin/jhat jhat /usr/java/$JDKDIR/bin/jhat \
--slave /usr/share/man/man1/jhat.1.gz jhat.1.gz /usr/java/$JDKDIR/man/man1/jhat.1.gz \
--slave /usr/bin/jinfo jinfo /usr/java/$JDKDIR/bin/jinfo \
--slave /usr/share/man/man1/jinfo.1.gz jinfo.1.gz /usr/java/$JDKDIR/man/man1/jinfo.1.gz \
--slave /usr/bin/jmap jmap /usr/java/$JDKDIR/bin/jmap \
--slave /usr/share/man/man1/jmap.1.gz jmap.1.gz /usr/java/$JDKDIR/man/man1/jmap.1.gz \
--slave /usr/bin/jps jps /usr/java/$JDKDIR/bin/jps \
--slave /usr/share/man/man1/jps.1.gz jps.1.gz /usr/java/$JDKDIR/man/man1/jps.1.gz \
--slave /usr/bin/jrunscript jrunscript /usr/java/$JDKDIR/bin/jrunscript \
--slave /usr/share/man/man1/jrunscript.1.gz jrunscript.1.gz /usr/java/$JDKDIR/man/man1/jrunscript.1.gz \
--slave /usr/bin/jsadebugd jsadebugd /usr/java/$JDKDIR/bin/jsadebugd \
--slave /usr/share/man/man1/jsadebugd.1.gz jsadebugd.1.gz /usr/java/$JDKDIR/man/man1/jsadebugd.1.gz \
--slave /usr/bin/jstack jstack /usr/java/$JDKDIR/bin/jstack \
--slave /usr/share/man/man1/jstack.1.gz jstack.1.gz /usr/java/$JDKDIR/man/man1/jstack.1.gz \
--slave /usr/bin/jstat jstat /usr/java/$JDKDIR/bin/jstat \
--slave /usr/share/man/man1/jstat.1.gz jstat.1.gz /usr/java/$JDKDIR/man/man1/jstat.1.gz \
--slave /usr/bin/jstatd jstatd /usr/java/$JDKDIR/bin/jstatd \
--slave /usr/share/man/man1/jstatd.1.gz jstatd.1.gz /usr/java/$JDKDIR/man/man1/jstatd.1.gz \
--slave /usr/bin/native2ascii native2ascii /usr/java/$JDKDIR/bin/native2ascii \
--slave /usr/share/man/man1/native2ascii.1.gz native2ascii.1.gz /usr/java/$JDKDIR/man/man1/native2ascii.1.gz \
--slave /usr/bin/pack200 pack200 /usr/java/$JDKDIR/bin/pack200 \
--slave /usr/share/man/man1/pack200.1.gz pack200.1.gz /usr/java/$JDKDIR/man/man1/pack200.1.gz \
--slave /usr/bin/rmic rmic /usr/java/$JDKDIR/bin/rmic \
--slave /usr/share/man/man1/rmic.1.gz rmic.1.gz /usr/java/$JDKDIR/man/man1/rmic.1.gz \
--slave /usr/bin/schemagen schemagen /usr/java/$JDKDIR/bin/schemagen \
--slave /usr/share/man/man1/schemagen.1.gz schemagen.1.gz /usr/java/$JDKDIR/man/man1/schemagen.1.gz \
--slave /usr/bin/serialver serialver /usr/java/$JDKDIR/bin/serialver \
--slave /usr/share/man/man1/serialver.1.gz serialver.1.gz /usr/java/$JDKDIR/man/man1/serialver.1.gz \
--slave /usr/bin/unpack200 unpack200 /usr/java/$JDKDIR/bin/unpack200 \
--slave /usr/share/man/man1/unpack200.1.gz unpack200.1.gz /usr/java/$JDKDIR/man/man1/unpack200.1.gz \
--slave /usr/bin/wsgen wsgen /usr/java/$JDKDIR/bin/wsgen \
--slave /usr/share/man/man1/wsgen.1.gz wsgen.1.gz /usr/java/$JDKDIR/man/man1/wsgen.1.gz \
--slave /usr/bin/wsimport wsimport /usr/java/$JDKDIR/bin/wsimport \
--slave /usr/share/man/man1/wsimport.1.gz wsimport.1.gz /usr/java/$JDKDIR/man/man1/wsimport.1.gz \
--slave /usr/bin/xjc xjc /usr/java/$JDKDIR/bin/xjc \
--slave /usr/share/man/man1/xjc.1.gz xjc.1.gz /usr/java/$JDKDIR/man/man1/xjc.1.gz

# Añadiendo alternative Java application launcher
sudo /usr/sbin/update-alternatives --install /usr/bin/java java /usr/java/$JDKDIR/jre/bin/java 3 \
--slave /usr/share/man/man1/java.1.gz java.1.gz /usr/java/$JDKDIR/man/man1/java.1.gz \
--slave /usr/lib64/jvm/jre jre /usr/java/$JDKDIR/jre \
--slave /usr/lib64/jvm-exports/jre jre_exports /usr/lib64/jvm-exports/jdk_Oracle \
--slave /usr/bin/keytool keytool /usr/java/$JDKDIR/jre/bin/keytool \
--slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/java/$JDKDIR/man/man1/keytool.1.gz \
--slave /usr/bin/orbd orbd /usr/java/$JDKDIR/jre/bin/orbd \
--slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/java/$JDKDIR/man/man1/orbd.1.gz \
--slave /usr/bin/policytool policytool /usr/java/$JDKDIR/jre/bin/policytool \
--slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/java/$JDKDIR/man/man1/policytool.1.gz \
--slave /usr/bin/rmid rmid /usr/java/$JDKDIR/jre/bin/rmid \
--slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/java/$JDKDIR/man/man1/rmid.1.gz \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/$JDKDIR/jre/bin/rmiregistry \
--slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/java/$JDKDIR/man/man1/rmiregistry.1.gz \
--slave /usr/bin/servertool servertool /usr/java/$JDKDIR/jre/bin/servertool \
--slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/java/$JDKDIR/man/man1/servertool.1.gz \
--slave /usr/bin/tnameserv tnameserv /usr/java/$JDKDIR/jre/bin/tnameserv \
--slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/java/$JDKDIR/man/man1/tnameserv.1.gz

# Añadiendo alternative Web browser plug-in
sudo /usr/sbin/update-alternatives --install /usr/lib64/browser-plugins/javaplugin.so javaplugin /usr/java/$JDKDIR/jre/lib/amd64/libnpjp2.so 3 \
--slave /usr/bin/javaws javaws /usr/java/$JDKDIR/jre/bin/javaws \
--slave /usr/share/man/man1/javaws.1.gz javaws.1.gz /usr/java/$JDKDIR/man/man1/javaws.1.gz

# El usuario puede seleccionar ahora que JAVA, JDK y plugin de JAVA a usar ...
sudo /usr/sbin/update-alternatives --config java
sudo /usr/sbin/update-alternatives --config javac
sudo /usr/sbin/update-alternatives --config javaplugin


Suponiendo que hemos grabado el fichero script también en "/tmp" desde una consola ejecutamos el script con la sentencia :

tuUsuario@tuHostName:/tmp> sh instalaOracleJDK8

Nos pedirá la clave de root, y ejecutará lo necesario para configurar el JDK 8 de Oracle en nuestra máquina. Al final nos saldrá un menú para que elijamos las opciones de Java, el JDK y el plugin del navegador Firefox (Chromium se configura aparte, si tengo tiempo y ganas lo explicaré en otro artículo). Nos fijaremos en las rutas y seleccionaremos la de Oracle. Os adjunto una captura de la salida del script con la opción seleccionada en rojo:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                       Priority   Status
------------------------------------------------------------
  0            /usr/lib64/jvm/jre-1.7.0-openjdk/bin/java   17147     auto mode
  1            /usr/java/jdk1.8.0_11/jre/bin/java          3         manual mode
* 2            /usr/lib64/jdk7_Oracle/bin/java             3         manual mode
  3            /usr/lib64/jvm/jre-1.7.0-openjdk/bin/java   17147     manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/java/jdk1.8.0_11/jre/bin/java to provide /usr/bin/java (java) in manual mode
update-alternatives: warning: skip creation of /usr/lib64/jvm-exports/jre because associated file /usr/lib64/jvm-exports/jdk_Oracle (of link group java) doesn't exist
There are 3 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib64/jvm/java-1.7.0-openjdk/bin/javac   17147     auto mode
  1            /usr/java/jdk1.8.0_11/bin/javac               3         manual mode
* 2            /usr/lib64/jdk7_Oracle/bin/javac              3         manual mode
  3            /usr/lib64/jvm/java-1.7.0-openjdk/bin/javac   17147     manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/java/jdk1.8.0_11/bin/javac to provide /usr/bin/javac (javac) in manual mode
There are 3 choices for the alternative javaplugin (providing /usr/lib64/browser-plugins/javaplugin.so).

  Selection    Path                                              Priority   Status
------------------------------------------------------------
  0            /usr/lib64/IcedTeaPlugin.so                        17106     auto mode
  1            /usr/java/jdk1.8.0_11/jre/lib/amd64/libnpjp2.so    3         manual mode
  2            /usr/lib64/IcedTeaPlugin.so                        17106     manual mode
* 3            /usr/lib64/jdk7_Oracle/jre/lib/amd64/libnpjp2.so   3         manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/java/jdk1.8.0_11/jre/lib/amd64/libnpjp2.so to provide /usr/lib64/browser-plugins/javaplugin.so (javaplugin) in manual mode



Espero que os sirva de ayuda.

NOTA: Me he basado en la ayuda del wiki de OpenSUSE en la dirección :

http://en.opensuse.org/SDB:Installing_Java#Procedure_with_development_environment_included_.28JDK.29

Corrigiendo ciertos "errorcillos" en el procedimiento... ;-)

martes, 12 de noviembre de 2013

El Atazar en otoño de 2013

lunes, 4 de noviembre de 2013

Eres lo que ...

 (Imagen obtenida de un blog muy recomendable: Desmotivar)
  • Eres lo que comes ...
  • Eres lo que bebes ...
  • Eres lo que piensas ...
  • Eres lo que dices ...
  • Eres lo que publicas ...
  • Eres lo que escribes ...
  • Eres lo que eres ... (y te jodes, aunque eso va implícito y no lo dicen nunca)
  • Eres lo que viajas ....
  • ...
  • Eres del ERE ... (Este es mu chungo a la par que actual)


¡A ver si se ponen de acuerdo porque al final voy a padecer de personalidad múltiple!

P.D: Ya tengo bastante con mis enfermadades mentales como para que me provoquen otras ....

Me veréis en los bares, debajo de una mesa.

miércoles, 30 de octubre de 2013

Dando una vuelta por Marte...

Me llegó un artículo de Microsiervos hoy espectacular, impresionante, demoledor, fantástico, enorme, muy grande ....

Poned el video a tope de resolución, a pantalla completa y subid los altavoces ...(siempre que no estéis currando, claro):



Me veréis en los bares, debajo de la mesa...