ubuntu中update-rc.d使用

原文转载:http://blog.sina.com.cn/s/blog_abee04e001016oco.html


Ubuntu或者Debian系统中update-rc.d命令,是用来更新系统启动项的脚本。这些脚本的链接位于/etc/rcN.d/目录,对 应脚本位于/etc/init.d/目录。在了解update-rc.d命令之前,你需要知道的是有关Linux 系统主要启动步骤,以及Ubuntu中运行级别的知识。

  一、Linux 系统主要启动步骤

  读取 MBR 的信息,启动 Boot Manager。

  加载系统内核,启动 init 进程, init 进程是 Linux 的根进程,所有的系统进程都是它的子进程。

  init 进程读取 /etc/inittab 文件中的信息,并进入预设的运行级别。通常情况下 /etc/rcS.d/ 目录下的启动脚本首先被执行,然后是/etc/rcN.d/ 目录。

  根据 /etc/rcS.d/ 文件夹中对应的脚本启动 Xwindow 服务器 xorg,Xwindow 为 Linux 下的图形用户界面系统。

  启动登录管理器,等待用户登录。

  二、运行级别

  Ubuntu中的运行级别

  0(关闭系统)

  1(单用户模式,只允许root用户对系统进行维护。)

  2 到 5(多用户模式,其中3为字符界面,5为图形界面。)

  6(重启系统)

  切换运行级别

  init [0123456Ss]

  例如:init 0 命令关机; init 6 命令重新启动

  启动项管理工具

  sudo install sysv-rc-conf //或者使用带gui的工具bum

  sudo sysv-rc-conf

  三、update-rc.d命令详解

  从所有的运行级别中删除指定启动项

  update-rc.d -f remove

  按指定顺序、在指定运行级别中启动或关闭

  update-rc.d start|stop

  实例:update-rc.d apachectl start 20 2 3 4 5 . stop 20 0 1 6 .

  解析:表示在2、3、4、5这五个运行级别中,由小到大,第20个开始运行apachectl;在 0 1 6这3个运行级别中,第20个关闭apachectl。这是合并起来的写法,注意它有2个点号,效果等于下面方法:

  update-rc.d apachectl defaults

  A启动后B才能启动,B关闭后A才关闭

  update-rc.d A defaults 80 20

  update-rc.d B defaults 90 10

  启动和关闭顺序为90,级别默认

  update-rc.d defaults 90

--------------------------------------------------------------

在Linux系统下,一个Services的启动、停止以及重启通常是通过/etc/init.d目录下的脚本来控制的。然而,在启动或改变运行级别时, 是在/etc/rcX.d中来搜索脚本。其中X是运行级别的number。本文将解释如何启动、关闭和修改服务的运行。当你在Debian下安装一个新的 服务,比如Apache2,安装完成后,默认情况下它会启动,并在下一次重启后自动启动。但是如果你不是一直需要这个服务,只在需要的时候启用它,你可以 禁用它。直到你需要使用的时候,执行如下指令:
/etc/init.d/apache2 start

要实现这个目的,你需要先在/etc/rcX.d目录中删除所有apache2的符号链接,但这个方法操作麻烦,且效率低下。因此,我们建议你使用update-rc.d命令来实现这个功能。

1、删除一个服务

如果你想手动的完全禁用Apache2服务,你需要删除其中的所有在/etc/rcX.d中的单一链路。但是如果使用update-rc.d,则非常简单: 

update-rc.d -f apache2 remove
参数-f是强制删除符号链接,即使/etc/init.d/apache2仍然存在。 Note:这个命令仅仅禁止该服务,直到该服务被升级。如果你想在服务升级后仍然保持被禁用。应该执行如下的命令:
update-rc.d apache2 stop 80 0 1 2 3 4 5 6  .

2、增加一个服务

如果你想重新添加这个服务并让它开机自动执行,你需要执行以下命令: 

update-rc.d apache2 defaults
并且可以指定该服务的启动顺序:
update-rc.d apache2 defaults 90
还可以更详细的控制start与kill顺序:
update-rc.d apache2 defaults 20 80
其中前面的20是start时的运行顺序级别,80为kill时的级别。也可以写成:
update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .
其中0~6为运行级别。 update-rc.d命令不仅适用Linux服务,编写的脚本同样可以用这个命令设为开机自动运行

你可能感兴趣的:(ubuntu中update-rc.d使用)