这个问题是关于 Debian 的,但我想在许多 linux 环境中都是一样的。
该/etc/init.d目录定义了在启动时运行的服务。在我看来,有两种机制可以定义谁运行以及何时运行:
/etc/rcN.d/目录,其中有脚本的符号链接,init.d其中包含定义运行顺序的数字。这些符号链接是通过运行生成的update-rc.d。.depend.start/stop/boot从实用程序生成的文件insserv。在这些文件中,您会在 下看到正在运行的脚本TARGETS,它们出现的顺序就是运行顺序(请参阅此帖子)那么第一个问题 - 这些中的哪一个决定了启动顺序?
为了更改引导顺序,我想您可以编辑rc.N目录中的符号链接名称,或者更改.depend.start. 但是这两个更改都将被对insserv或的调用覆盖update-rc.d。
那么第二个问题 - 你如何控制启动顺序 init.d 脚本,以在调用insservor后持续update-rc.d?