4

¿ Como crear variables de entorno globales persistentes ?

Como nos enseñaron en el curso una variable de entorno es una definicion global a la que la terminal y en general todos los procesos tienen acceso. En el curso nos enseñaron a crear este tipo de variables con export pero el problema de este comando es que cuando cerramos la terminal ya no podemos usar esta variable y si queremos usarla tenemos que volverla a crear lo cual es ineficiente, pero estoy aqui para enseñarles en este tutorial a como crear una variable de entorno persistente a la que podamos acceder cada vez que queramos sin necesidad de crearla cada vez.

Un ejemplo de un tipo de variable global persistente es la variable PATH esta variable siempre existe cada vez que iniciamos nuestro sistema operativo, podemos verla de estas dos maneras:Captura de pantalla de 2021-01-11 21-07-08.png

Pero, ¿Porqué la variable PATH siempre existe?
La respuesta es que en el momento en que el sistema operativo arranca y hacemos un login en nuestro usuario en ese momento se carga un archivo shell de inicio de sesion que es el archivo /etc/profile y este archivo contiene codigo de programacion shell en el que se encuentra la creacion de la variable PATH.

Ahora conociendo esto lo que podemos hacer es modificar este archivo agregando una variable de entorno global al final del archivo para que nuestra variable cargue al momento de iniciar sesion en nuestro sistema linux:

1. Primero tenemos que loguearnos como root ya que para modificar este archivo debemos tener permisos suficientes:

su -

2. Segundo tenemos que usar un editor de texto para abrir el archivo /etc/profile en mi caso uso gedit pero ustedes pueden usar nano, vim o el que mas les guste:

	gedit /etc/profile

3. Tercero recomiendo que pongamos nuestra variable al final del archivo asi cargara justamente despues de que carguen las variables que vienen por default y cuando querramos borrarla o modificarla la encontraremos facil:
Captura de pantalla de 2021-01-11 21-33-32.png

4. Cuarto paso debemos asignar un nombre a nuestra variable y recomiendo seguir el estandar que usa el archivo /etc/profile para crear variables, lo que hace es :

  • Primero crear una variable local (en mi caso quiero crear una variable para abrir firefox ya que lo descargue portable y mi variable guardara la ruta de la aplicacion y cuando use la variable en la terminal esta me abrira firefox sin tener que dirigirme a la carpeta donde este se encuentra):
FIREFOX=/home/agilepl/Descargas/firefox-77.0.1/firefox/firefox

  • Segundo usa export para transformar esa variable de tipo local a tipo global.
export FIREFOX

Y eso quedaria asi:
Captura de pantalla de 2021-01-11 21-52-37.png
5. Por ultimo guardamos los cambios y reiniciamos nuestro sistema operativo, al reiniciarse podremos usar nuestra variable de entorno global las veces que querramos:
Captura de pantalla de 2021-01-11 21-59-07.png
Espero les haya gustado el tutorial y hayan aprendido a crear variables de entorno persistentes si tienen dudas pueden dejarla en comentarios y con gusto les ayudare.

Escribe tu comentario
+ 2
Ordenar por:
2
3079Puntos

No me deja guarda el cambio, me sale esto.

Ad.jpg
2
3079Puntos
4 años

Ya lo solucione, tenía que usar el comando sudo

2
4 años

Jaja si justo el error era que no podias modificar el archivo por no tener permisos suficientes para ello, el comando sudo te eleva los permisos del usuario actual como si fuera el usuario root.

1
1393Puntos

Me pasa algo raro al querer borrar una variable no se me permite borrarla ya que las líneas que había puesto al final del documento no me aparecen más¿Cómo hago para borrar la variable?

1
840Puntos

¡Funciona perfecto, gracias!

0
2007Puntos

yo las he guardado en el .bashrc , hay alguna ventaja sobre esta al usar el etc/profile?

3
4 años

La diferencia de /etc/profile es que este archivo es gestionado por el usario root y solo existe un archivo por sistema operativo, en cambio ~/.bashrc existe por usuario es decir si tenemos 3 usuarios entonces tenemos 3 archivos ~/.bashrc cada uno en la carpeta home de cada usuario; Entonces la ventaja de usar /etc/profile es que la variable de entorno servira para cualquier tipo de usuario que quiera usarla, en cambio si usamos ~/.bashrc la variable solo servira para el usuario dueño del archivo ~/.bashrc

1
4 años

Y si queremos que todos los usarios de nuestro SO tengan acceso a la variable pues modificamos todos los archivos ~/.bashrc de cada uno de los usuario o podemos simplemente modificar /etc/profile

Puedes revisar este link para mas informacion de estos archivos y otros 2 mas que tambien tienen algo en comun:
https://elpuig.xeill.net/Members/rborrell/articles/los-archivos-bashrc-bash_profile-etc-bashrc-etc-profile-los-archivos-bashrc-bash_profile-etc-bashrc-etc-profile-cual-utilizar

0
2007Puntos

wow, gracias , me quedo claro !