Як встановити змінні 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.