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:
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:
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 :
FIREFOX=/home/agilepl/Descargas/firefox-77.0.1/firefox/firefox
export FIREFOX
Y eso quedaria asi:
5. Por ultimo guardamos los cambios y reiniciamos nuestro sistema operativo, al reiniciarse podremos usar nuestra variable de entorno global las veces que querramos:
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.
No me deja guarda el cambio, me sale esto.
Ya lo solucione, tenía que usar el comando sudo
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.
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?
¡Funciona perfecto, gracias!
yo las he guardado en el .bashrc , hay alguna ventaja sobre esta al usar el etc/profile?
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
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
wow, gracias , me quedo claro !