2009年06月22日 星期一 上午 11:47
使用debian工具进行工作

chkconfig --list 相等的工具:rcconf或者sysv-rc-conf(后面的比较好用)查看所有服务的启动状态
RH包含了一些用于自动管理SysV初始脚本过程的工具,也就是chkconfig与service。debian并包含这些工具,但是却提供相似的管理工具:update-rc.d与invoke-rc.d。

使用update-rc.d
debian:~# update-rc.d --help
usage: update-rc.d [-n] [-f] <basename> remove
update-rc.d [-n] <basename> defaults [NN | SS KK]
update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
-n: not really
-f: force

debian的update-rc.d与RH的chkconfig工具相类似。然而chkconfig是一个二进制程序,而update-rc.d是一个Perl脚本。这些工具有不同的命令行选项,但是却执行类似的功能。下表列出了update-rc.d的一些用法。如果要查看完整的信息,我们可以查阅相关的和手册页。

命令 功能
update-rc.d -f <service> remove 从所有的运行级别配置目录中是删除指定的服务
update-rc.d <service> start <order> <runlevels> 配置服务在运行级别列表中按指定的顺序启动
update-rc.d <service> stop <order> <runlevels> 配置服务在运行级别列表中指定的顺序停止

update-rc.d与RH的chkconfig之间最大的不同就在于update-rc.d是要设置所以指向/etc/init.d目录下服务脚本的运行级别链接,而chkconfig是要每一个运行级别单独配置服务。从本质上来说,这也就意味着每次我们使用update-rc.d改变一个运行级别,我们就不得不改变所有的。例如,下面的命令序列与命令chkconfig -level 2345 inetd off的作用相同:
$ update-rc.d -f inetd remove
$ update-rc.d inetd start 20 3 4 5 . stop 20 0 1 2 6 .

第一个命令移除了所有的指向/etc/init.d/inetd服务脚本的运行级别链接,-f标志将会使得update-rc.d即使在inetd脚本本身已经存在的情况仍然进行相应的处理。第二个命令在每一个运行级别创建了一个服务级别为20的启动/停止脚本。例如,这会创建一个/etc/rc3.d/K20inetd的符号链接来禁止运行级别3中inetd的运行。(在这里我们要注意的是我们要显示的添加reboot与 shutdown运行级别,即0和6,仅管其中所有的服务都会被设置成为“stop“)。作为另外的一个例子,下面所显示的命令将会在运行级别3到5允许 inetd的运行,而在其他的运行级别中则被禁止:debian的update-rc.d最初看起来会叫人有一些迷惑,但是一旦我们明白,我们就会发现他可以多么出色的完成我们的工作。

例如:
update-rc.d script-name start 90 1 2 3 4 5 . stop 52 0 6 .
start 90 1 2 3 4 5 . : 表示在1、2、3、4、5这五个运行级别中,按先后顺序,由小到大,第90个开始运行这个脚本。
stop 52 0 6 . :表示在0、6这两个运行级别中,按照先后顺序,由小到大,第52个停止这个脚本的运行。
使脚本开机自动执行:update-rc.d apache defaults 99

update-rc.d命令,是用来自动的升级System V类型初始化脚本,简单的讲就是,哪些东西是你想要系统在引导初始化的时候运行的,哪些是希望在关机或重启时停止的,可以用它来帮你设置。这些脚本的连接位于/etc/rcn.d/LnName,对应脚本位于/etc/init.d/Script-name。对于已经存的启动脚本链接,必须将其remove掉,再进行相关的操作。

使用invoke-rc.d控制相关服务
debian下与RH的service命令作用等同的命令为invoke-rc.d。这两个命令在大多数情况下的作用是完全相同的。例如,service inetd start与invoke-rc.d inetd start有相同的作用(启动inetd服务,相应的停止服务的命令为invoke-rc.d inetd stop)。invoke-rc.d命令也有一个额外的我们可以深入研究的命令参数,但是一般来说这两个命令是相同的。
http://www.freeoa.net/index.php?option=com_content&view=article&id=57:debian&catid=20:sysadmin&Itemid=16


本文转自:http://hi.baidu.com/171892549/blog/item/1b276fd06da78986a0ec9cca.html