@JavaBoy
Студент

Где найти файл с переменными среды?

Прочитав множество материала так и не разобрался, где лежит файл в котором записаны переменные среды(на многих сайтах указывали пути, по которым у меня ничего нет) и есть ли вообще такой файл или в файле лишь прописано какие создать переменные при старте процесса и хранятся они в оперативной памяти? Можно ли из моей программы открыть данный файл для чтения и поменять в нем некоторые значения или добавить новые(не используя setenv, putenv, а именно вручную дописать в файл)? Что произойдет?
P.s. очень долго и честно гуглил, но не смог найти внятного ответа, разъясните, пожалуйста на пальцах
  • Вопрос задан
  • 562 просмотра
Решения вопроса 1
selivanov_pavel
@selivanov_pavel
Linux admin
Практически в каждом дистрибутиве используется pam_env, который читает настройки из /etc/security/pam_env.conf и /etc/environment. Обычно он подключен для login, ssh, cron и таким образом заданные в этих файлах переменные будут видны всем процессам, запущенным из консоли либо по расписанию.

Кроме того, переменные можно задавать в локальных и глобальных конфигах шелла (/etc/profile, /etc/profile.d/*, /etc/bashrc, ...) , но это повлияет только на процессы, запускаемые из шелла.

Ещё могут быть какие-то специфичные для используемого дистрибутива варианты, например в Gentoo есть общесистемная /etc/env.d/*

Но вообще, это зависит от способа запуска софта, которому нужно скормить переменную. Может быть, надо указывать что-то в его конфигах. Для передачи специфичных переменных демонам в Debian обычно используется /etc/default/{service_name}, а в RedHat /etc/sysconfig/{service_name}. Но стоит проверить init-файл демона, читает ли он эти конфиги.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AVKor

очень долго и честно гуглил, но не смог найти внятного ответа

Специально проверил, поскольку утверждение сие выглядит, мягко говоря, странным:
google://environment+variables+linux
Масса релевантных ссылок на первой странице.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы