Назад | Перейти на главную страницу

Команды /etc/init/boot.local запускаются до инициализации некоторых переменных среды

У меня OpenSuse 11.4.

Я запускаю несколько скриптов при загрузке внутри /etc/init/boot.local.

Куда я могу переместить эти сценарии, чтобы они запускались после инициализации всех (большинства) переменных среды?

Эти скрипты нужно запускать действительно один раз, поэтому такие вещи, как /etc/profile.local не кандидаты.

Я пытаюсь запустить Sonar, который каким-то странным образом ищет Java (вместо этого просто просматривая JAVA_HOME), и он не может найти Java (журналы не говорят мне, почему именно). Из командной строки после загрузки он жестяная банка быть запущенным (как root и как пользователь).

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

РЕДАКТИРОВАТЬ: sonar.sh из sonar / bin / linux-x86-64
РЕДАКТИРОВАТЬ: sonar.log из сонара / журналов

Я не знаком с openSUSE, но, на мой взгляд, лучший способ - экспортировать переменные среды перед запуском служб в /etc/init/boot.local.


РЕДАКТИРОВАТЬ

Невозможно запустить JVM: нет такого файла или каталога

JAVA_HOME / bin / уже находится в вашем PATH?

Обычно глобальные переменные не инициализируются в сценариях инициализации. Переменные, которые вам нужны, должны быть инициализированы в вашей оболочке с помощью /etc/profile.local или другого файла конфигурации оболочки.

Если Java обнаруживается из оболочки, где он находится?