3.1.4. 第四阶段:常规 Debian 系统

常规 Debian 系统是启动流程的第四阶段,由迷你 Debian 系统启动。迷你 Debian 系统的内核在此环境下继续运行。根文件系统将由内存切换到实际的硬盘文件系统上。

init 程序是系统执行的第一个程序(PID=1),它启动其它各种程序以完成主引导流程。init 程序的默认路径是 ”/sbin/init“,但可通过内核启动参数修改,例如 ”init=/path/to/init_program“。

默认的 init 程序一直在变化中:

  • squeeze 之前的 Debian,使用简单的 SysV 风格的 init。

  • wheezy 版本的 Debian 对 SysV 风格的 init 做了改进:使用 LSB 头将启动步骤排序,同时并行执行启动脚本。

  • jessie 版本的 Debian 将默认 init 切换成 systemd,以使用事件驱动和并行初始化。

[提示]提示

你的系统中实际使用的 init 命令可以使用 “ps —pid 1 -f” 命令确认。

[提示]提示

在 Debian jessie 版本后,”/sbin/init“ 是一个到 “/lib/systemd/systemd“ 的符号链接。

表 3.3. Debian 系统启动工具列表

软件包流行度大小说明
systemdV:750, I:85813484基于事件且支持并发的 init(8) 守护进程(可替代 sysvinit
systemd-sysvV:733, I:852122systemd 需用的用以代替 sysvinit 的手册页和符号链接
systemd-cronV:0, I:1139提供 cron 后台守护进程(daemon)和 anacron 功能的 systemd 单元
init-system-helpersV:745, I:876133sysvinitsystemd 之间进行转换的帮助工具
initscriptsV:188, I:509213用于初始化和关闭系统的脚本
sysvinit-coreV:10, I:13263类 System V 的 init(8) 工具
sysv-rcV:334, I:520121类 System V 的运行级别修改机制
sysvinit-utilsV:729, I:999131类 System V 的实用工具(startpar(8),bootlogd(8),……)
lsb-baseV:886, I:99949Linux 标准规范 3.2 版的 init 脚本功能
insservV:403, I:510148利用 LSB init.d 脚本依赖性来组织启动步骤的工具
uswsuspV:5, I:10714使用 Linux 提供的用户态软件 suspend 的工具
kexec-toolsV:1, I:7271用于 kexec(8) 重启(热启动)的 kexec 工具
systemd-bootchartV:0, I:0123启动流程性能分析器
bootchart2V:0, I:194启动流程性能分析器
pybootchartguiV:0, I:1177启动流程性能分析器(可视化)
mingettyV:0, I:335仅包含控制台的 getty(8)
mgettyV:0, I:1319可智能调制解调的 getty(8) 替代品
[提示]提示

有关启动流程加速的最新信息,请参见 Debian 维基:启动流程加速词条。