En este artículo voy a explicar rápidamente cómo detectar la versión de Java instalada en un servidor Linux.
Ejemplo 1: un servidor que no posee Java instalado
El primer paso consiste en verificar si existe algún comando llamado "java" en las rutas a ejecutables del entorno actual:
No hay coincidencias, por lo que si se intenta ejecutar "java" no se encuentra el comando:
Sin embargo es posible que Java esté instalado, pero el binario no esté en un ruta del entorno actual. Por ejemplo, cuando está instalado sólo para proveer el entorno de ejecución Java para un servidor Web (Glassfish, Jetty, Tomcat).
El último paso consiste en buscar un archivo ejecutable llamado "java" en todo el filesystem:
find / -name java -type f -executable
No existe en todo el servidor un archivo ejecutable llamado "java". Por ende, este servidor Debian no tiene Java instalado.
Ejemplo 2: un servidor que posee JRE 1.7
En este caso, el binario java se encuentra en la ruta /usr/local/j2sdk/bin/java:
Se trata de un servidor CentOS con la versión 1.7 de Oracle:
Y es el único instalado en el sistema (/usr/local/j2sdk es un enlace simbólico):
Ejemplo 3: un servidor posee Java pero no está en el PATH
En este caso, el sistema posee una versión de Java instalada en un directorio fuera del PATH. Sólo para propósito de proveer el entorno de ejecución Java a un servidor HTTP:
Al buscar en el filesystem, se encuentran binarios ejecutables de nombre "java":
Al no estar en el PATH, es necesario especificar toda la ruta para consultar la versión:
Se trata de Java 1.6. Este es el caso típico en el que cierta aplicación depende de una versión específica de Java, por lo que este debe ser instalado por fuera del gestor de paquetes, en un directorio local de dicha aplicación.
Ejemplo 3: un servidor que posee Java instalado desde paquete
Cuando Java es instalado desde paquete , el binario se encuentra en un directorio protegido del servidor (típicamente /usr/bin):
Se observa que se trata de la versión 1.7 de OpenJDK:
Es posible determinar si el paquete está instalado utilizando dpkg:
ii indica que el paquete openjdk-7-jre está instalado.
Además se trata de la única versión instalada (/usr/bin/java es un enlace simbólico):
El autor de este post es: Emiliano Marini
No hay comentarios:
Publicar un comentario