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

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

12.6.1. 自动重启队列

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

12.6.2. 单用户模式

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

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

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

Example 12-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)

12.6.3. 多用户模式

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

12.6.3.1. 资源配置 (rc)

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

rc(8) 联机手册是关于资源配置的很好的参考。