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


13

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


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

Ответы:


14

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

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

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


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) для каждой строки.


1

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.