7.6. Init:进程控制及初始化

一旦内核完成引导, 它就把控制权交给了用户进程 init(8),它放置在/sbin/init, 或者init_path变量指定的程序路径中. 这个变量是在 loader里面设置的.

7.6.1. 自动重启队列

自动重启队列保证了可用的文件系统是稳定的. 如果不是,且fsck(8)不能 修复这些错误, init(8) 会进入单用户模式 以便系统管理员直接解决问题.

7.6.2. 单用户模式

此模式可以通过 自动重启队列或者通过带有 -s选项的用户引导或通过在loader 里设置boot_single变量等多种方式来达到 .

也可以在多用户模式下调动无reboot(-r)选项和 halt (-h)选项的shutdown(8)命令来进入单用户 模式.

如果系统控制台 在文件/etc/ttys中被设置为 不安全(insecure),在初始化单用户模式前会出现要求输入root 密码的命令行提示符.

Example 7-3. 在/etc/ttys文件中的不安全控制台

# name  getty                           type    status          comments
#
# If console is marked "insecure", then init will ask for the root password # when going to single-user mode.
console none                            unknown off insecure

Note: 把控制台设置成不安全(insecure)使只知道root密码的 人才能进入单用户模式因为你认为控制台在物理上是不安全的.因此如果你考虑到安全性, 请选择不安全(insecure),而非 安全(secure).

7.6.3. 多用户模式

如果init(8) 发现你的文件系统一切正常, 又或者用户在单用户模式完成了工作,系统就会进入 多用户模式,开始系统的资源配四置.

7.6.3.1. 资源配置(rc)

资源配置分别从文件/etc/defaults/rc.conf,/etc/rc.conf 读取默认配置,和细节配置.然后加载在文件/etc/fstab中提及的文件系统, 启动网络服务,启动各种系统守护进程, 最后启动本地安装包的启动脚本.

rc(8)手册页是关于资源配置的很好的参考.