Cambiar JAVA_HOME al usuario root en linux

 

Para cambiar o modificar el JAVA_HOME al usuario root tras una instalación de otra versión de Java tenemos que seguir los siguientes pasos:

 

 

Comprobar versión actual de Java:

Una vez que hemos instalado una nueva versión de Java JDK y/o JRE en nuestra máquina Linux, por ejemplo jre1.8.0_101, chequeamos la versión que está utilizando el usuario root (por defecto será la que viene en el SO):

[root@rhel ~]# java -version
java version "1.6.0_32"
OpenJDK Runtime Environment (IcedTea6 1.13.4) (rhel-11.1.13.4.el6-x86_64)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

Como vemos en el resultado anterior la versión de Java que detecta es la 1.6.0_32 y no la nueva que hemos instalado hace un momento jre1.8.0_101.

Editar fichero .bashrc:

Para solucionar esto y que el usuario root utilice por defecto Java 1.8 hay que modificar el fichero .bashrc dentro del home del usuario:

[root@rhel ~]# vi ~/.bashrc

Y añadir las siguientes líneas al final del fichero, suponiendo que la ruta donde hemos instalado el nuevo Java es /usr/local/pr/jre1.8.0_101:

# Ejemplo si hemos instalado Java en /usr/local/pr/jre1.8.0_101
JAVA_HOME="/usr/local/pr/jre1.8.0_101"; export JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH

Aplicar los cambios:

Para aplicar los cambios tenemos varias opciones. Cargar el fichero .bash_profile:

[root@rhel ~]# source ~/.bash_profile

o

[root@rhel ~]# . ~/.bash_profile

O también podemos hacer un exit y luego un login con el usuario root para tener una nueva sesión.

[root@rhel ~]# exit
logout

login as: root
root@rhel's password:
[root@rhel ~]#

Ahora si volvemos a ejecutar el chequeo de versión ya nos detecta la versión que hemos instalado:

[root@rhel ~]# java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

 

NOTA:  La diferencia entre modificar el fichero .bash_profile o el fichero .bashrc es que con el primero sólo aplican los cambios a usuarios que hagan login en la máquina y utilicen la shell bash y con el segundo aplica a los usuarios que ejecuten un programa bash.

Dentro de .bash_profile se carga todo el contenido de .bashrc si este existe.

Sin embargo si modificásemos el fichero /etc/profile o el /etc/bashrc afectaría a cualquier usuario del Sistema.

Fuente:  https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Installation_Guide/Install_OpenJDK_on_Red_Hat_Enterprise_Linux.html

 

Compartir:

This article was written by RoberMB

💻OS, ☁️Cloud, 🛡️Cybersecurity, ✈️Traveling #Linux, #Ansible, #AWS, #VMware, #Docker 🏴‍☠️ CEH v10, CPHE 🏴‍☠️ ... Always learning, always enjoying.

Leave a Reply

Your email address will not be published. Required fields are marked *