Ir al contenido principal

Actualizar JAVA

Para actualizar JAVA se debe seguir lo siguiente:

Lo primero es conseguir el JDK de la pagina de Sun de la siguiente dirección:


http://java.sun.com/j2ee/1.4/download.html#sdk

Antes de continuar todo lo siguiente tenemos que hacerlos como administradores del equipo (con la cuenta root), para cambiar de cuenta es con el comando:

su -

Una vez que tengamos el jdk en nuestro equipo es buena idea ponerlo en alguna carpeta del sistema donde todos tengan acceso (por ejemplo /opt).

mv jdk-1_5_0_06-linux-i586.bin /opt

ahora damos permisos de ejecución con chmod y ejecutamos con ./ el archivo:

chmod +x jdk-1_5_0_06-linux-i586.bin
./ jdk-1_5_0_06-linux-i586.bin

Nos desplegara una licencia de uso la cual tenemos que aceptar y finalmente se creara una carpeta en el mismo lugar donde descomprimimos, llamada jdk1.5.0_06 (en el caso de esta versión)

En algunas distribuciones nuevas traen GCJ (que es un compilador de java libre) entonces necesitamos mover este para que no interfiera con el de Sun que estamos instalando, solo es cuestion de mover algunos enlaces así:

mv /usr/bin/javac /usr/bin/cgjjavac
mv /usr/bin/java /usr/bin/cgjjava
mv /usr/bin/javadocs /usr/bin/cgjjavadocs


Ahora solo nos falta poner algunos enlaces para que podamos ejecutar los comandos que necesitemos (por ejemplo javac y java), esto lo logramos con el comando "ln -s " para crear enlaces simbólicos de esta carpeta a una carpeta donde el sistema tome todos los ejecutables de nuestras aplicaciones (por ejemplo /usr/bin)

ln -s /opt/jdk1.5.0_06/bin/javac /usr/bin/javac
ln -s /opt/jdk1.5.0_06/bin/java /usr/bin/java
ln -s /opt/jdk1.5.0_06/bin/javadocs /usr/bin/java

Con esto ya tendremos disponible el jdk para todos los usuarios del equipo en el que nos encontramos.

Si requiere tener Dos Versiones se puede hacer con Update-Alternatives


A veces no hay más remedio que remangarse y trastear con los servidores para poder instalar una aplicación o un nuevo servidor de mapas. Un problema muy común es que las versiones de java que vienen por defecto en los sistemas Linux, no son las oficiales de Sun. Esta es una pequeña guía de cómo configurar java.

Si no hay opción de instalar java a través de los repositorios oficiales de nuestra distribución, que sería la opción recomendada,
también es posible instalar java de forma manual.

Lo primero es descargar de http://java.sun.com la versión de java que queramos utilizar. En el caso de RedHat es
siempre conveniente descargar la versión que acaba con extensión rpm.bin, ya que de esta forma, podremos instalar
java con el comando rpm -i nombre_de_la_version_de_java.rpm. Una vez descargado el archivo cambiaremos los permisos
con chmod +x nombre_de_la_version_de_java.rpm.bin y luego lo ejecutamos ./nombre_de_la_version_de_java.rpm.bin, se generará
un archivo nombre_de_la_version_de_java.rpm, ejecutamos entonces rpm -i nombre_de_la_version_de_java.rpm y tendremos java instalado.
Normalmente estará en /usr/java/nombre_de_la_version_de_java/. Si no está aquí podemos ejecutar como root updatedb y luego hacer un
locate /bin/javac, para ver el directorio donde está java instalado.

Ahora ya está java instalado, pero si ejecutamos java nos saldrá esto:

libgcj-java-placeholder.sh

This script is a placeholder for the /usr/bin/java
master link required by jpackage.org conventions. libgcj's
rmiregistry, rmic and jar tools are now slave symlinks to these
masters, and are managed by the alternatives(8) system.

...

Esta no es la versión de java que necesitamos, para configurarlo lo mejor (tal y como dice el libgcj-java-placeholder.sh) es utilizar alternatives.
Alternatives nos permite tener distintas versiones de un mismo componente e intercambiar entre ellas de forma transparente, sin tocar archivos
de configuración o paths:

[root@equipo /]# update-alternatives
versiones alternativas 1.3.11 - Copyright (C) 2001 Red Hat, Inc.
Este programa puede que sea libremente distribuido bajo los términos de la
licencia pública de GNU.
uso: alternativas --install /> [--initscript /> [--slave /> alternatives --remove /> alternatives --auto /> alternatives --config /> alternatives --display /> alternatives --set />
opciones comunes: --verbose --test --help --usage --version
--altdir --admindir />
Lo que tenemos que hacer es añadir (--install) el nuevo java y para ello necesitamos saber la ruta del ejecutable de java:

[root@equipo /]# locate java | grep bin/java
/usr/sbin/javaconfig
/usr/bin/java
/usr/bin/javac
/usr/bin/java_cup
/usr/bin/java_cup-10.11
/usr/java/j2sdk1.4.2_13/bin/java-rmi.cgi
/usr/java/j2sdk1.4.2_13/bin/java
/usr/java/j2sdk1.4.2_13/bin/javac
/usr/java/j2sdk1.4.2_13/bin/javadoc
/usr/java/j2sdk1.4.2_13/bin/javah
/usr/java/j2sdk1.4.2_13/bin/javap
/usr/java/j2sdk1.4.2_13/jre/bin/java
/usr/java/j2sdk1.4.2_13/jre/bin/java_vm

El que nos interesa es /usr/java/j2sdk1.4.2_13/bin/java. Ahora simplemente hay que ejecutar el comando de instalación en el que le
decimos el nombre del enlace simbólico (/usr/bin/java) el nombre del paquete (java), la ruta del ejecutable java y la prioridad (300 por
defecto):

[root@equipo /]# update-alternatives --install /usr/bin/java java /usr/java/j2sdk1.4.2_13/bin/java 300

Para terminar comprobamos que ahora java utiliza el ejecutable que necesitamos y hacemos un java -version:

[root@equipo /]# update-alternatives --config java

Hay 2 programas que proporcionan 'java'.

Selección Comando
-----------------------------------------------
1 /usr/share/java/libgcj-java-placeholder.sh
*+ 2 /usr/java/j2sdk1.4.2_13/bin/java

Presione Intro para mantener la selección actual[+], o escriba el número de la selección:

[root@equipo /]# java -version
java version "1.4.2_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_13-b06)
Java HotSpot(TM) Client VM (build 1.4.2_13-b06, mixed mode)
[root@equipo /]#

Más información en:
http://www.yiluda.net/manual/linux/man/alternatives.html
http://blog.stevenkroon.com/2006/08/29/debian-update-alternatives/

Cuando se presentan problemas de entorno de variabale, se puede realizar lo siguiente:
tomado de http://ubuntulife.wordpress.com/2008/05/06/instalar-javaeclipsetomcat-en-ubuntu-804/


Si nos da algun error seguramente sea porque no esta definida
la variable JAVA_HOME, obtendriamos al intentar arrancar un mensaje parecido a este:

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

La variable JAVA_HOME es una variable de entorno que el sistema
usa para conocer el JDK que queremos utilizar. P.ej en el caso de
que tuvieramos varios instalados.

Si has instalado el JDK como te comentaba al principio:

$ sudo apt-get install sun-java6-jdk

Entonces lo tendras instalado en el siguiente directorio:

/usr/lib/jvm/java-6-sun

que realmente es una ligadura y que apunta a

/usr/lib/jvm/java-6-sun-1.6.0.06

No nos importa. Lo que tenemos que hacer es crear una variable de la
forma:

JAVA_HOME=/usr/lib/jvm/java-6-sun

Que podemos guardar en nuestro profile.
Yo lo que suelo hacer es añadir esta cadena:

JAVA_HOME=/usr/lib/jvm/java-6-sun

Al principio del script catalina.sh

$ cd /usr/share/tomcat5.5/bin
$ gedit catalina.sh

y al comienzo del script añadimos ya la ruta a donde esta nuestro JDK:

JAVA_HOME=/usr/lib/jvm/java-6-sun

Y nos despreocupamos. Ahora si intentamos volver a arrancar:

$ ./startup.sh



Comentarios

Entradas populares de este blog

Vulnerabilidad en Bluetooth -- BIAS

Será el fin de TCP con la llegada de HTTP/3

La  IETF (Internet Engineering Task Force)  ha  publicado  información sobre lo que será el nuevo protocolo de transferencia de hypertexto que tanto usamos a diario, cuando accedemos a sitios web. HTTP/3 ya no usará TCP nunca más. En su lugar se ejecutará sobre el protocolo QUIC. El protocolo QUIC fue elaborado conceptualmente por Google en 2012 y tiene como objetivo mejorar tanto la seguridad como el rendimiento ofrecido por  TCP - Transmission Control Protocol , sobre todo lo segundo. ¿Qué es Quic y sus diferencias con TCP?   Quick UDP Internet Connections, es un protocolo de capa de transporte que se basa en el multiplexado de conexiones UDP. De hecho, QUIC utiliza esta combinación: TCP + TLS + SDPY sobre UDP Esto lo hace con varias mejoras respecto a la actual implementación de TCP. La IETF ha estado desde 2016 trabajando a fondo con una versión global del protocolo alumbra do por Google, y finalmente ha sido este año cuando ha decidido incluirlo en la nueva versión HTTP/3.   Sin e

Zoom y sus vulnerabilidades

Leyendo acerca de todas las quejas en cuanto a brechas de seguridad que tiene Zoom la plataforma de videoconferencia que conocí hace unos años, pero que ahora debido a la necesidad de estar en casa debido al COVID19, la ha convertido en la herramienta que muchos usan para sus reuniones empresariales virtuales, sus llamadas privadas o incluso para las fiestas virtuales o noches de Netflix.   Solo precisar que no es la única herramienta que se tiene para tener este tipo de video conferencias, alternativas como WhatsApp (Vulnerable- Facebook de por medio.. hmm) o como Teams de Microsoft, Cisco Webex, Webex Meetings (se necesita pago) o  Jitsi , esta última es de uso gratuito también y con algunas mejoras en su seguridad realizadas hace poco, puede ser una plataforma para cubrir esta necesidad.   Si  la opción es usar Zoom, no esta de más revisar este  link  para tratar de asegurar esta aplicación y sentirse un poco más tranquilo, o también puede ver el siguiente video.   Aquí les comparto