Ubuntu,控制init启动

Xol*_*lve 3 upstart runlevel init ubuntu

Ubuntu 使用 upstart 而不是 sysvinit。但是仍然有运行级别和其中的链接。

我已经安装了 tor 并且它已将自己添加到操作系统的启动中。现在我想删除它,流行的选项是从运行级别删除启动和停止服务的链接或使 /etc/init.d/ 脚本不可执行。这很好,但是如果我想再次将 tor 放在启动列表中,这将是有问题的。我怎么知道将正确的序列放在正确的运行级别目录中。

有没有完整的指南?这有什么规则?任何工具来管理初始化?

请告诉

qua*_*ote 8

SysVinit 是这样工作的。每个包的初始化脚本位于/etc/init.d 中。这些脚本的链接位于/etc/rcS.d/etc/rc[0-6].d。这些链接以S(开始)或K(终止)和一个 2 位数字开头。

  • 当系统启动并且 SysVinit 进程启动时,它会在/etc/rcS.d 中查找并执行以S开头的脚本,按编号排序。(我相信它将“开始”参数传递给脚本,但我不确定。)

  • 在处理完所有 /etc/rcS.d 脚本后,系统开始进入某个运行级别。在 Ubuntu 中,启动到正常桌面,默认运行级别为2。所以 SysVinit 查看/etc/rc2.d

    1. 停止所有链接以K开头的服务,按编号排序;和
    2. S开头的链接启动所有服务,按编号排序。

    如果您已启动到 Ubuntu 的恢复模式,则您将启动到运行级别1。启动所有服务后,正式设置系统运行级别。

  • 最后,系统运行/etc/rc.local脚本。

如果稍后切换运行级别,SysVinit 运行相同的基本过程:它不检查/etc/rcS.d,而是直接处理/etc/rcN.d 中的链接(其中 N 是输入的任何运行级别)。


您还可以编写一个 Upstart 脚本。我以前写过关于 Upstart 的文章,所以请查看那里了解更多详细信息。新贵脚本保存在/etc/init 中;要编写它们,查看现有脚本以了解其工作原理,并阅读init(5) 联机帮助页