¿Cómo configuro las variables PATH para todos los usuarios en un servidor?

52

Acabo de terminar de instalar LaTeX para el servidor Ubuntu de mi compañía que todos usamos para usar SSH. Al final de la instalación dice esto:

Add /usr/local/texlive/2010/texmf/doc/man to MANPATH, if not dynamically determined.

Add /usr/local/texlive/2010/texmf/doc/info to INFOPATH.

Most importantly, add /usr/local/texlive/2010/bin/x86_64-linux to your PATH for current and future sessions.

¿Cómo hago esto para que estas variables se configuren para todos los usuarios del sistema? (Y sí, tengo permisos de sudo).

Rob S.
fuente
La respuesta de @ geirha (con el comentario de Rob en MANPATH) resuelve esto excepto por la variable INFOPATH. Aunque imagino que los usuarios no lo usan con frecuencia (?), ¿Alguien sabe la ubicación correcta para configurarlo? ¿Debería ser también /etc/environment ?
belacqua
@jgbelacqua afaik Debian y algunas otras distribuciones de Linux lo usan pero no Ubuntu. O al menos eso es lo mejor que pude reunir buscando desde google durante una hora.
Rob S.
Cuando instaló TeXlive 2010, debería haberle preguntado si deseaba crear enlaces simbólicos para todos los archivos binarios. Si hubiera dicho que sí, esto no habría sido un problema en absoluto.
frabjous
@frabjous Nunca me preguntó. El único comando que le di fue "i" al principio para iniciar la instalación. De todos modos, después de configurar las variables, todo funciona perfectamente.
Rob S.
1
@frabjous: parece que ahora falta la opción de enlace simbólico en el instalador. Instalé TeXLive 2011 hoy y pude encontrarlo más. Instalé TeXLive en varias versiones al menos una docena de veces antes, así que me preguntaba por qué ya no está allí.
Martin Scharrer

Respuestas:

57

Los agregas a /etc/environment.

Es probable que ya tenga una línea para PATH, así que solo agrega :/usr/local/texlive/2010/bin/x86_64-linuxal final de eso. Luego agregue dos nuevas líneas para MANPATH e INFOPATH.

Ver https://help.ubuntu.com/community/EnvironmentVariables .

Después de editar /etc/environment, cierre sesión y vuelva a iniciarla, y verifique que, por ejemplo, echo "$MANPATH"genere el valor agregado.

geirha
fuente
Al final también tuve que editar /etc/manpath.config. Gracias.
Rob S.
2
He eliminado mi respuesta, ya que parece ser una mejor opción. De acuerdo con help.ubuntu.com/community/EnvironmentVariablesSystem-wide /etc/environment es el lugar para "Configuraciones de variables de entorno que afectan al sistema en su conjunto (en lugar de a un usuario en particular)" /etc/profiley /etc/bash.bashrcse enumeran como "No recomendado"
belacqua 05 de
Molesto no funciona para root!
Búho
7

Agregue estas RUTA predeterminada a /etc/profile. Funcionará para bash y sh. Bash es predeterminado en Ubuntu.

PATH=$PATH:<new path you need to add>

echo $SHELLse puede usar para determinar el shell del usuario actual o se puede ver desde el /etc/passwdarchivo.

Alternativamente, también puede incluirlo /etc/environment. Aquí puede agregar el PATH al final de la declaración PATH.

Jamess
fuente
Abrí etc / profile en vim y no había nada sobre PATH en él. Gracias por la respuesta igual.
Rob S.
17
El orden de ejecución de los archivos es / etc / environment -> / etc / profile -> /etc/bash.bashrc -> /home/<user>/.profile -> /home/<user>/.bashrc
Jamess
editar / etc / profile variable de ruta podría dañar el sistema y es mejor evitarlo. especialmente cuando se conecta a un host remoto a través de ssh.
AmirHossein Rezaei