Як встановити змінні PATH для всіх користувачів на сервері?


52

Я щойно закінчив установку LaTeX на сервер Ubuntu моєї компанії, який ми всі SSH використовували. В кінці інсталяції говориться так:

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.

Як це зробити, щоб ці змінні були встановлені для всіх користувачів системи? (І так, у мене є дозволи на судо).


Відповідь @ geirha (з коментарем Роба щодо MANPATH) вирішує це за винятком змінної INFOPATH. Хоча я думаю, що користувачі не часто його використовують (?), Хтось знає правильне місце, щоб це встановити? Чи має бути також /etc/environment ?
belacqua

@jgbelacqua afaik Debian та деякі інші дистрибутиви Linux використовують його, але не Ubuntu. Або, принаймні, найкраще, що я міг зібрати пошукові запити на Google протягом години.
Роб С.

Коли ви встановили TeXlive 2010, він мав би запитати вас, чи хочете ви створити посилання для всіх бінарних файлів. Якби ви сказали "так", це взагалі не було б проблемою.
frabjous

@frabjous Мене ніколи не просили. Єдиною командою, яку я коли-небудь давав, було "я" на початку ініціювати встановлення. У будь-якому разі, після встановлення змінних, все працює чудово.
Роб С.

1
@frabjous: Можливо, параметр symlink відсутній у програмі встановлення. Я встановив TeXLive 2011 сьогодні і міг знайти його більше. Я встановив TeXLive в декількох версіях принаймні десяток разів раніше, тому я задумався, чому його більше немає.
Мартін Шеррер

Відповіді:


57

Ви додаєте їх до /etc/environment.

Він, ймовірно, вже має рядок для PATH, тому ви просто додаєте :/usr/local/texlive/2010/bin/x86_64-linuxйого до кінця. Потім додайте два нових рядки для MANPATH та INFOPATH.

Див. Https://help.ubuntu.com/community/EnvironmentVariables .

Після редагування /etc/environmentвийдіть із системи та увійдіть назад, і перевірте, наприклад, echo "$MANPATH"виводить додане значення.


Зрештою мені також довелося редагувати /etc/manpath.config. Дякую.
Роб С.

2
Я видалив свою відповідь, оскільки це, здається, є кращим вибором. За інформацією help.ubuntu.com/community/EnvironmentVariablesSystem-wide /etc/environment - це місце для "параметрів змінних середовищ, які впливають на систему в цілому (а не лише на конкретного користувача) [...]" /etc/profileі /etc/bash.bashrcвказані як "Не рекомендується"
belacqua

Дратівливо не працює корінь!
Сова

7

Додайте ці PATH за замовчуванням до /etc/profile. Це буде працювати для bash і sh. Bash за замовчуванням в Ubuntu.

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

echo $SHELLможе використовуватися для визначення оболонки поточного користувача або може бути переглянуто з /etc/passwdфайлу.

Ви також можете включити його /etc/environment. Тут ви можете просто додати PATH в кінці оператора PATH.


Я відкрив і т. Д. / Профіль у vim, і в ньому не було нічого щодо PATH. Дякую за відповідь так само.
Роб С.

17
Порядок виконання файлів / etc / environment -> / etc / profile -> /etc/bash.bashrc -> /home/<user>/.profile -> /home/<user>/.bashrc
Jamess

редагування / etc / змінної контуру профілю може пошкодити систему та її краще уникати. особливо під час підключення до віддаленого хоста через ssh.
AmirHossein Rezaei
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.