Переменные окружения - где они хранятся в linux, как их изменить и безопасно ли это делать?

13

Я пытаюсь настроить сборку из исходного кода старой версии gcc на моем компьютере разработчика. В документации выделены несколько переменных среды, которые необходимо изменить, чтобы сделать это. Мне было интересно, как это сделать, а также где Linux хранит их и требуется ли перезагрузка системы для регистрации каких-либо изменений ??

mathematician1975
источник
Можете ли вы перечислить переменные окружения, которые необходимо изменить?
Хашкен

Ответы:

14

В глобальные переменные окружения вашей системы хранятся в /etc/environment.
Любые изменения здесь будут отражены во всей системе и затронут всех пользователей системы. Кроме того, вам нужна перезагрузка, чтобы любые изменения, внесенные здесь, вступили в силу.

Пользователь переменных уровня окружающей среды, в основном хранятся в .bashrcи .profileфайлы в папке Home. Изменения здесь затрагивают только этого конкретного пользователя. Просто закройте и откройте терминал для изменения конфигурации.

Редактировать : если вы не хотите перезагружать или перезагружать свой терминал, вы можете использовать исходную команду.
Например. source /etc/environmentилиsource .bashrc

Hashken
источник
4
Вам не нужна перезагрузка. Вы можете использовать исходную команду для загрузки переменных после изменения.
Например
То, что вы пытаетесь сделать, меняется .profileне правильно. .bashrcНе следует использовать, так как это может привести к проблемам в некоторых ситуациях. И /etc/environmentесть выход (не меняйте систему для выполнения одной работы).
Ctrl-Alt-Delor
2

Что вам нужно, это местные временные изменения. Вам они не понадобятся завтра, когда вы делаете что-то еще, это может сломать то, что вы делаете завтра. Однако вы можете сохранить его как build-script / makefile для использования завтра.

export VARIABLE=value
export VARIABLE2=another_value
gcc …

или

VARIABLE=value VARIABLE2=another_value gcc …

примечание: при использовании makeпервый пример не сработает. Make запускает новую оболочку (sh) для каждой строки.

Ctrl-Alt-Делор
источник
1

Вы должны поместить переменные окружения для каждого пользователя в ~ / .pam_environment

Создайте файл, если он не существует. Смотрите здесь

Жюль Мулз
источник