boot – update-rc.d和init.d依赖项

所以我正在尝试编写一些满足LSB的init.d脚本,以便它们在启动和关闭时正常运行.不幸的是,我遇到了LSB / update-rc.d以满足依赖性的问题.

# Required-Start: $network $local_fs hadoop-namenode hadoop-datanode zookeeper-server
# Required-Stop:  $network $local_fs hadoop-namenode hadoop-datanode zookeeper-server
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6

但是,当我运行update-rc.d默认值时,它只会生成所涉及的默认值,其启动时间与已经存在的相同,这会破坏可怕的事情.我是否遗漏了update-rc.d或LSB来配置这个?

如果它是相关的,这是Ubuntu 12.04

要使脚本在引导串行中稍后运行,只需在以下命令中添加串行号,如98.然后将满足大多数依赖项.

有一次,我不得不使用依赖于其他启动脚本的启动脚本.这带来了很多麻烦.最后我用这个命令来解决问题:

cd /etc/init.d
sudo update-rc.d my_script defaults 98

98表示my_script在启动时获取串行号98,看起来它的范围从1到99,并且大多数其他启动脚本具有较小的数字,这确保我的脚本已准备好所有依赖项.

顺便说一句,要删除旧脚本,可以使用:

sudo update-rc.d -f my_old_script remove
# -f means 'force'

希望这可以帮助.

翻译自:https://stackoverflow.com/questions/12080294/update-rc-d-and-init-d-dependencies