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 *