Cómo configurar $ PATH de forma permanente en Linux

    Comprensión de la variable $ PATH

    En este tutorial, le mostraremos cómo configurar permanentemente su PATH en Linux.

    En primer lugar, ¿por qué debería importarle?

    La variable $ PATH, o simplemente PATH, sin las variables $ indicadoras, especifica una lista de directorios que afecta la funcionalidad de su plataforma informática de manera crítica. Esto se debe a que $ PATH es la lista de directorios en los que el sistema busca programas, scripts o archivos ejecutables.

    Imagínese tratando de ejecutar el ssh comando, por ejemplo, para conectarse a un servidor. ¿Qué sucede si el sistema no puede encontrar el ssh ¿programa? No puede conectarse a servidores y ejecutar cálculos. Tiene una gran cantidad de programas útiles, ejemplos como python, javac, npm, make, chmod, apt-get y así sucesivamente, que su computadora necesita poder encontrar cuando los invoca en la línea de comando.

    La variable $ PATH es la clave que hace posible encontrar el programa correcto y ejecutarlo en su comando sin necesidad de la ruta completa del directorio del ejecutable. Cuando su PATH está configurado incorrectamente, su shell no podrá encontrar programas y ciertos comandos fallarán.

    Usando bash_profile para establecer su RUTA

    Un error común con la variable $ PATH es establecerla solo en el shell actual, sin persistir el cambio. Cuando abre un nuevo shell, los cambios se pierden y, una vez más, no puede ejecutar ciertos comandos porque esos programas no se encuentran en el PATH.

    La primera forma de configurar su $ PATH de forma permanente es modificar la variable $ PATH en su archivo de perfil Bash, ubicado en /home/<user>/.bash_profile.

    Por ejemplo, digamos que quiero agregar un nuevo directorio /home/tomahawk/tools/jdk1.8.0_92/bin a mi RUTA. Puede reconocer esto como una instalación de Java Development Kit. Sin embargo, eso no viene al caso. Cualquiera que sea el directorio que contenga, puedo agregarlo a nuestra ruta y hacer que los programas que este bin El directorio contiene accesible desde la línea de comando agregando la siguiente línea al final del archivo ~/.bash_profile:

    ...
    export PATH="$PATH:/home/tomahawk/tools/jdk1.8.0_92/bin"
    

    Una buena forma de editar el archivo es usar nano, vi, vim o emacs. Puedes usar el comando sudo <editor> ~/.bash_profilee ingrese su contraseña de administrador cuando se le solicite, luego agregue esa línea al final y guarde el archivo.

    Para activar los cambios en el shell actual, debe “obtener” el actualizado bash_profile archivo. Haz esto con el comando:

    $ source ~/.bash_profile
    

    Esto simplemente importa la configuración del archivo al shell actual. Ahora, cada vez que abres tu caparazón, tu bash_profile será automáticamente “originado” y no necesitará ejecutar este comando cada vez.

    Ahora podemos invocar comandos o programas en el nuevo directorio. /home/tomahawk/tools/jdk1.8.0_92/bin, como javac, situado en /home/tomahawk/tools/jdk1.8.0_92/bin/javac simplemente escribiendo en el símbolo del sistema el nombre del programa. Podemos hacer esto ahora desde cualquier directorio, porque el PATH se ha actualizado para buscar programas ejecutables en nuestro nuevo directorio.

    El comando:

    $ javac --version
    

    Ahora ejecuta el correcto javac programa, imprimiendo algo como lo siguiente:

    Java Compiler, version 1.8.0_92
    

    bash_profile es apropiado cuando desea establecer una variable PATH personalizada para un solo usuario del sistema. Si quisiera establecer PATH para todas usuarios de un sistema, existen mejores formas de hacerlo, que cubriremos más adelante en esta guía.

    Usando bashrc para establecer su RUTA

    En lugar de configurar el PATH en ~/.bash_profile, también podemos agregar los directorios que queramos al PATH en ~/.bashrc en lugar. Configurar el PATH en bashrc parece idéntico a cómo lo configuramos bash_profile.

    Por ejemplo, para incluir el directorio /home/tomahawk/.rbenv/bin en mi camino, edito o creo el archivo /home/tomahawk/.bashrc, agregando la siguiente línea:

    ...
    export PATH="$PATH:/home/tomahawk/.rbenv/bin"
    

    Observe que, como la última vez, lo primero en nuestra nueva exportación PATH es la inclusión de la variable $ PATH existente. Esto asegura que preservamos el valor actual de PATH, y simplemente agregamos directorios adicionales a PATH, después de la variable $ PATH. Si no hace esto, sobrescribirá la variable PATH por completo y perderá los directorios críticos que el sistema necesita para estar en PATH. Como resultado, su sistema puede volverse inutilizable.

    La diferencia entre usar bashrc y bash_profile es eso bash_profile se utiliza para shells de inicio de sesión. Estos se ejecutan cuando inicia sesión a través de la consola o inicia sesión usando ssh. Por el contrario, una vez que haya iniciado sesión y abra un shell de comandos o ejecute el bash comando, el bashrc el archivo se ejecutará. Su configuración de PATH de bashrc entonces estará disponible.

    El efecto de configurar PATH es similar. Además, debemos activar cualquier cambio en el bashrc archivo en el shell actual la primera vez que hacemos este cambio, tal como lo hicimos para el bash_profile archivo. Esta vez, corremos source ~/.bashrc. Ahora podemos acceder a la nueva RUTA en la línea de comando. Se ha configurado de forma permanente y permanecerá igual entre varios inicios de sesión en el sistema.

    Usando un archivo de perfil para configurar su RUTA

    También podemos establecer la RUTA de forma permanente utilizando el archivo de perfil de un usuario. Esto es diferente de ~/.bash_profile ya que está configurado no solo para shells, sino para todos los programas.

    Los perfiles de usuario se cargan al iniciar sesión. La variable PATH se puede establecer en el ~/.profile archivo.

    Para configurar mi PATH para incluir todo lo que ya está en $ PATH, así como un nuevo directorio /home/tomahawk/.exenv/bin, Edito el archivo en ~/.profile y establezca la RUTA de la siguiente manera

    export PATH="$PATH:/home/tomahawk/.exenv/bin"
    

    Como en todos los ejemplos anteriores, necesitaremos obtener estos cambios para activarlos para el shell actual, pero los inicios de sesión posteriores conservarán los cambios.

    Una vez hecho esto, puedo ejecutar el exenv comando, que es uno de los programas disponibles en la carpeta que acabo de agregar a la RUTA, y obtengo la salida de mi exenv versión:

    $ exenv version
    1.3.4 (set by /home/tomahawk/.exenv/version)
    

    Puede leer más sobre el exenv programa aquí, pero puede usar este proceso para configurar PATH permanentemente para incluir cualquier programa o directorio que desee.

    Configuración permanente de su PATH para otros shells como ZSH y KSH

    Si usa Shells alternativas como zsh, ksh y otros, puede establecer el PATH permanentemente usando la configuración de esos shells.

    Me gusta intento, ambos zsh y ksh utilizar una zshrc y khsrc file, respectivamente, para establecer la ruta para shells sin inicio de sesión. Para los shells de inicio de sesión, utilizan los archivos de perfil de shell análogos zprofile y kprofile.

    Por lo tanto, puede establecer el PATH de forma permanente para estos shells de manera similar a lo que hicimos para Bash. Xa zsh, puede encontrar estos archivos o crearlos si no existen, en ~/.zshrc y ~/.zprofile.

    Del mismo modo, puede establecer PATH de forma permanente para ksh en los archivos de configuración ubicados en ~/.kshrc y ~/.kprofile.

    Hay muchas otras carcasas que puede usar, como la C Shell y el tcsh cáscara. Establecer el PATH permanentemente para ellos generalmente seguirá el patrón que hemos visto aquí.

    Configuración permanente de PATH en todo el sistema para todos los usuarios

    La configuración de todo el sistema para todos los usuarios se puede establecer en /etc/profile. Existe una flexibilidad considerable y múltiples opciones para configurar el PATH de forma permanente en todo el sistema.

    Su sistema Linux ejecutará todos los archivos de script que terminen en .sh en /etc/profile.d siempre que se ingresa a un shell bash, así como cuando se carga la sesión de escritorio.

    Por lo tanto, puede agregar un nuevo archivo, como env.sh dentro del directorio /etc/profile.d. En este archivo, podemos exportar la variable PATH, configurándola permanentemente en nuestra elección de directorios de ruta, por ejemplo:

    export PATH="$PATH:/home/tomahawk/.rbenv/bin:/home/tomahawk/bin:/home/tomahawk/.local/bin"
    

    Archivos en /etc/profile.d son adquiridos por / etc / profile, activando así nuestra RUTA en todo el sistema cada vez que un usuario inicia sesión.

    También podemos establecer PATH para todos los usuarios en /etc/environment, que toma pares clave-valor de la forma:

    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
    

    Solución de problemas de PATH

    Como vimos, configurar PATH permanentemente en Linux tiene muchas opciones. Puede establecer la RUTA solo para un determinado usuario, para todos los usuarios o solo para ciertos tipos de shells de comandos. Sin embargo, es una buena idea no jugar con la configuración de PATH de todo el sistema a menos que realmente sepa lo que está haciendo.

    Si encuentra problemas, un buen punto de partida es averiguar el valor actual de $ PATH, ejecutando el comando:

    $ echo $PATH
    

    Para obtener más consejos para la resolución de problemas, consulte este recurso.

     

    Etiquetas:

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *