Чим відрізняється / etc / середовище та / etc / profile?


24

Я розумію, що перший завантажується до останнього, але в чому полягає концептуальна різниця? Чи є якісь вагомі причини, що я повинен встановлювати деякі змінні в одній, а не в іншій? За винятком того факту, який, /etc/environmentздається, існує для створення середовища для всіх процесів, керованих системою, а /etc/profileдля налаштування середовища, що використовується і розповсюджується з оболонки входу, правильно?

Також, на сторонній записці, яку програму традиційно читають /etc/environment? Це пов’язано з POSIX чи просто умовою?

Відповіді:


10

Витяг з довідки Ubuntu

/etc/environment- Цей файл призначений спеціально для системних параметрів змінної середовища. Це не файл скриптів, а складається з виразів призначення, по одному на рядок. Зокрема, цей файл зберігає загальносистемні параметри та параметри шляху.

/etc/profile - Цей файл виконується щоразу, коли вводиться оболонка для входу в баш (наприклад, при вході в систему з консолі або над ssh), а також DisplayManager при завантаженні сеансу на робочому столі.

Я думаю, що все це лише умова, але далеко не стандартна (я не знаю про RedHat подібні системи).


Він працює на RedHat (станом на 7.6). "/ Etc / environment" порожній був моїм сервером, і налаштування VAR=valueдіяло в оболонці (після повторного входу).
DKroot

35

/etc/environmentне є частиною POSIX, він належить до PAM (Pluggable Authentication Module), і лише програми, зібрані з підтримкою PAM, можуть використовувати його (насамперед системи входу, які згодом запускають оболонку або середовище користувача). Це означає, що вона навіть не читається вашою оболонкою.

Ви можете бачити програми, що використовують за /etc/environmentдопомогою grep -l pam_env /etc/pam.d/*.

Так /etc/environmentвикористовується для встановлення змінних для програм, які зазвичай не запускаються з оболонки.

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