Linux 系统初始化管理:从 System V init 到 systemd
1. System V init 基础
在 Linux 系统启动时,最初进入的运行级别是 S,随后进入默认运行级别 5。需要注意的是,运行级别 S 不会被记录, runlevel
命令也不会将其显示为先前的运行级别。
1.1 init.d 脚本
每个需要响应运行级别变化的组件,在 /etc/init.d
目录下都有对应的脚本,用于执行相关的更改操作。这些脚本通常需要两个参数: start
和 stop
。以下是运行级别处理脚本 /etc/init.d/rc
的相关信息:
- /etc/init.d/rc
脚本会接收要切换到的运行级别作为参数。
- 对于每个运行级别,都有一个名为 rc<运行级别>.d
的目录,例如:
# ls -d /etc/rc*
/etc/rc0.d /etc/rc2.d /etc/rc4.d /etc/rc6.d
/etc/rc1.d /etc/rc3.d /etc/rc5.d /etc/rcS.d
在这些目录中,会有以大写字母 S 开头,后面跟着两位数字的脚本,也可能会有以大写字母 K 开头的脚本,它们分别是启动脚本和终止脚本。例如,运行级别 5 的脚本如下:
# ls /etc/rc5.d
S01networking S20hwc