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

ohs*_*bot 7 boot init.d rc

所以我正在尝试编写一些满足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
Run Code Online (Sandbox Code Playgroud)

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

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

And*_*510 12

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

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

cd /etc/init.d
sudo update-rc.d my_script defaults 98
Run Code Online (Sandbox Code Playgroud)

98点my_script获取序列号98在启动,它看起来就像是从1到99的范围,和大多数其他启动脚本有更小的数字,这样可以保证我的脚本有它的依赖性准备.

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

sudo update-rc.d -f my_old_script remove
# -f means 'force'
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


dav*_*dhq 8

这种方法在某些系统上不再起作用(例如Debian Squeeze).这个数字只是被忽略而没有任何解释.首选方法是:http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html

查看"Required-Start:"脚本声明.