是由 System V 开发的 init 程序,较为古老。
Runlevels
SysV Init 通过运行级别(runlevels)来控制系统的状态和服务的启动与关闭。存在如下运行级别:
0
: 关机1
: 单用户模式(用于维护)2
: 多用户模式(不带网络)3
: 完整多用户模式(带网络)4
: 用户自定义5
: 图形化模式6
: 重启
每个运行级别是互斥的,所以其实服务的控制粒度比较粗。
配置文件
SysV Init 依赖 Linux/Unix 文件系统的概念就完成了配置。配置文件如下:
/etc/init.d
: 每个服务在/etc/init.d/
目录下有一个 shell 启动脚本,也有可能存在终止脚本。/etc/rc.d/rc*.d/
: 不同运行等级所代表的脚本目录。里面是一堆符号链接,链接到/etc/init.d/
下,符号链接的文件名同样有格式,S
表示启动,K
表示关闭,后面的数字表示优先级(启动顺序)。/etc/inittab
: 定义默认运行级别和启动过程中要执行的动作。
基于这样一套文件系统的组织形式和命名规范, SysV Init 建立了一套基于运行级别的,避免重复的,有优先级的,可启动可关闭的初始化配置系统。
常用命令
init [runlevel]
: 切换到指定的运行级别。runlevel
: 当前运行级别chkconfig [service] [on|off]
: 管理服务在不同运行级别的启用状态(就是在系统启动时是否会启动服务)。service [service] [start|stop|restart|status]
: 管理服务的状态。