本文详细解析了RHEL7从SysVinit向Systemd的演进过程,通过对比传统SysVinit的数字启动级别与Systemd的target概念,文章全面梳理了runlevel 0至6的英文名称及其对应功能,重点阐述了SysVinit符号与Systemd目标之间的映射关系,帮助读者理解新系统的启动机制。
Red Hat Enterprise Linux 7 (RHEL 7) 对系统初始化服务进行了一次重大的架构升级,从传统的 SysVinit 切换到了先进的 systemd,这一变革最显著的影响之一,就是彻底改变了我们对“启动级别”的理解,在 RHEL 7 中,不再使用数字(0-6)来代表系统运行状态,而是采用了更具描述性的英文“Target”(目标)来命名。
对于系统管理员和运维人员来说,掌握 RHEL 7 启动级别的英文名称及其对应的传统数值,是进行故障排查和系统配置的基础,以下是 RHEL 7 启动级别的详细对照表及解析:
RHEL 7 启动级别对照表
| 传统 SysVinit 运行级别 | RHEL 7 英文名称 | 中文名称 | 说明 |
|---|---|---|---|
| 0 | poweroff.target | 关机目标 | 系统停止运行并关闭电源。 |
| 1 | rescue.target | 救援模式 | 单用户模式,用于系统维护和紧急修复。 |
| 2 | multi-user.target | 多用户目标 | 多用户模式,无网络功能(传统定义)。 |
| 3 | multi-user.target | 多用户目标 | 多用户模式,无图形界面,纯命令行(服务器常用)。 |
| 4 | multi-user.target | 多用户目标 | 未定义,通常等同于 Level 3。 |
| 5 | graphical.target | 图形目标 | 多用户模式,带图形化登录界面(桌面环境)。 |
| 6 | reboot.target | 重启目标 | 系统停止并重新启动。 |
核心概念解析
在 RHEL 7 中,理解 multi-user.target 和 graphical.target 的区别至关重要:

-
multi-user.target (运行级别 3, 4): 这是 Linux 服务器最常用的模式,系统启动后,会启动网络服务、文件系统以及其他后台服务,但不会加载图形界面(GUI),所有的用户通过命令行终端登录,由于不需要加载显卡驱动和图形服务,该模式的启动速度最快,资源占用最少。
-
graphical.target (运行级别 5): 这是桌面环境的标准模式,系统不仅会启动上述所有后台服务,还会启动图形服务器(如 X Window System 或 Wayland),并提供一个登录管理器(如 GDM),允许用户通过鼠标和键盘进行图形化操作。
-
rescue.target (运行级别 1): 当系统出现严重故障无法正常进入多用户模式时,管理员可以使用此模式,此时系统仅挂载根文件系统为只读,并启动极少量的服务,以便进行修复操作。
如何查看与修改默认启动级别
在 RHEL 7 中,不再使用 inittab 文件来定义默认级别,而是通过 systemctl 命令管理。
查看当前默认启动级别:
systemctl get-default
修改默认启动级别(将默认级别改为图形界面):
systemctl set-default graphical.target
执行该命令后,系统会自动创建一个符号链接,将默认启动目标指向 graphical.target,下次重启时,系统将自动进入图形模式。
RHEL 7 通过引入 systemd 和 target 概念,使得系统启动过程更加模块化和高效,虽然我们习惯沿用传统的“运行级别”来思考问题,但在实际操作中,熟练掌握 poweroff.target、rescue.target、multi-user.target 和 graphical.target 这些英文名称,能让我们更准确地定位系统状态,提升运维效率。

