一、init介绍
init是由内核启动的用户级进程,RHEL7以systemd代替。在/etc/rc.d/目录下有7个目录,对应7个运行级别,这些目录下都是符号链接文件,指向/etc/rc.d/init.d/目录下的service脚本文件。系统开机后,会根据指定的运行级别进入指定的目录文件,并按顺序执行。
脚本文件命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。对于K开头的文件,系统将终止对应的服务;对于S开头的文件,系统将启动对应的服务。注:/etc/init.d为/etc/rc.d/init.d的软连接。
查看运行级别:runlevel
进入其他运行级别:init N
运行级别配置在/etc/inittab文件内进行
二、systemd介绍
RHEL 7中,采用systemd符号链接来配置遗留的init进程。单元unit是systemd的基本组成模块,最常见的是服务单元service。目标单元target是一种特殊类型的单元,与init运行级的功能相同。
目标单元 | 说明 |
energency.target | 紧急shell,只在只读模式下挂载/filesystem |
graphical.target | 多用户图形化系统 |
multi-user.target | 非图形化多用户系统 |
rescue.target | 紧急shell,挂载所有文件系统 |
显示所有目标单元:systemctl list-units --type=target --all
查看运行目标单元:systemctl get-default
目标单元切换:systemctl isolate xx.target
三、Linux的运行级别(runlevel)
运行级 | systemd目标 | 说明 |
init 0 | poweroff.target | 停机 |
init 1 | rescue.target | 单用户模式,root权限,无法远程登录 |
init 2 | multi-user.target | 多用户模式,没有NFS |
init 3 | multi-user.target | 完全的多用户模式(标准运行级) |
init 4 | multi-user.target | RHEL6之中不使用 |
init 5 | graphical.target | 图形化GUI |
init 6 | reboot.target | 重启 |
Rescue、Emergency的区别:
1、Rescue能够以光盘或其他方式引导启动操作系统(init 1),并读取硬盘上的文件系统。
2、Emergency是进入到最小的系统环境中,不载入init相关文件,只能以只读方式挂载文件系统。