不同的Unix版本以各式各样的形式确定系统服务的启动顺序,有些Unix系统是通过为文件编号和/或将其单独放进不同的运行级别目录来实现的。 (Solaris 是依靠通配符,像/etc/rc[23].d/S* 以数字的扩展名排序.) 或者它们简单地将所有需要随系统启动的命令放进统一的脚本里, 这样会很乱。(这也是老的BSD和出现rc系统前的NetBSD的做法). 在目前的NetBSD上这项工作由rc脚本及其内容完成. 请注意NetBSD并不像System V 系统,像Solaris, 或Linux那样具有多种运行级别 .
At the beginning of each of the rc-scripts in 位于/etc/rc.d/*中的所有rc脚本文件在开始处有一系列注释掉的行, 包含了下列项目之一:
REQUIRE
PROVIDE
BEFORE
KEYWORD
这些注释描述了此rc脚本的依赖体,因此 rcorder (根据其依赖关系) 可以轻易地推论出它应该 “先” 或 “后”启动。 下例是关于 /etc/rc.d/nfsd 脚本的:
...
PROVIDE: nfsd
REQUIRE: mountd
. /etc/rc.subr
...
这些我们看见了这个脚本提供了 “nfsd” 服务, 但是, 它需要先运行 “mountd” . rcorder(8) 工具被用来在系统启动时阅读所有的rc脚本, 并且判定出正确运行的顺序 (也因此,它被命名为rcorder).
《NetBSD指南-7.3.rcorder的作用和rc脚本》
版主: lionux
在线用户
正浏览此版面之用户: 没有注册用户 和 1 访客