为什么不执行 rc.local?

Cho*_*One 5 boot scripts upstart

我正在 PXE 引导集群中的一些 Ubuntu 机器。突然间,我的rc.local脚本停止了工作。

我已经检查了以下权限/etc/rc.local

-rwxr-xr-x 1 root root 1087 Jan 14 11:04 /etc/rc.local
Run Code Online (Sandbox Code Playgroud)

我检查rc.local了以下文件夹中的符号链接:

/etc/rc2.d 
/etc/rc3.d
/etc/rc4.d 
/etc/rc5.d
Run Code Online (Sandbox Code Playgroud)

它们都符号链接到/etc/init.d/rc.local.

我试图将脚本中的回声行输出到/tmp/test.out但没有运气。当我rc.local在机器启动后执行脚本时,它工作正常。

什么会导致rc.local无法运行?

Cho*_*One 3

我终于让它工作了。不知道这是否是最好的解决方案,但目前有效。我把/etc/init.d/rc.local和移到/etc/rc.local了不同​​的位置,然后我跑了

update-rc.d rc.local remove
Run Code Online (Sandbox Code Playgroud)

之后我将两个脚本移回原位并运行

update-rc.d rc.local defaults
Run Code Online (Sandbox Code Playgroud)

现在看来工作正常。