命令 /etc/init/boot.local 在某些环境变量初始化之前启动

命令 /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 来自 sonar/logs

答案1

我对 openSUSE 不太熟悉,但在我看来,最好的方法是在启动服务之前导出环境变量/etc/init/boot.local


编辑

无法启动 JVM:没有此文件或目录

JAVA_HOME/bin/ 是否已经在您的 PATH 中?

答案2

通常全局变量不会在 init 脚本中初始化。您需要的变量可能会在您的 shell 中通过 /etc/profile.local 或其他 shell 配置文件进行初始化。

如果从 shell 中找到 java,它位于哪里?

相关内容