一、Linux 运行级别是什么

运行级别可以理解为系统启动后所处的工作模式。不同级别决定了系统当前是关机、单用户、多用户文本模式,还是图形化模式。

在传统 SysVinit 体系中,运行级别通常使用 06 表示;在 CentOS 7 及以后,虽然底层已经切换到 systemd,但依然可以从这些运行级别映射理解系统工作状态。

二、CentOS 7 与 CentOS 6 运行级别对比

2.1 含义对比

运行级别 CentOS 7 含义 CentOS 6 含义
0 关机 关机
1 救援模式 rescue 单用户模式,可用于找回 root 密码
2 多用户模式 无网络的多用户模式
3 多用户模式 multi-user 命令行模式、文本模式、常见工作模式
4 多用户模式 预留级别,通常未使用
5 图形化界面模式 graphical 图形化界面模式
6 重启 重启

从实际使用角度看,最常关注的通常是:

  • 1:救援或单用户模式
  • 3:多用户文本模式
  • 5:图形化模式

2.2 target 文件映射关系

在 CentOS 7 中,运行级别更多是通过 systemd 的 target 来表达。可以查看:

$ ll /usr/lib/systemd/system/runlevel*.target

常见映射关系如下:

运行级别 CentOS 7 对应 target 传统含义参考
0 poweroff.target 关机
1 rescue.target 救援模式
2 multi-user.target 多用户模式
3 multi-user.target 多用户文本模式
4 multi-user.target 保留级别
5 graphical.target 图形化模式
6 reboot.target 重启

这也是为什么在 systemd 体系下,我们更常看到 multi-user.targetgraphical.target 这样的名字,而不是直接操作旧式 runlevel 文件。

三、运行级别相关命令

3.1 查看当前默认运行级别

$ systemctl get-default

multi-user.target

如果回显为 multi-user.target,通常表示系统默认启动到多用户文本模式。

3.2 修改默认运行级别

把默认运行级别改成图形化模式:

$ systemctl set-default graphical.target

原始笔记中也特别提醒:生产环境通常不建议随意修改默认运行级别。

3.3 重启与关机

重启系统:

$ init 6

关机:

$ init 0

虽然现在也常用 rebootpoweroff,但理解 init 6init 0 仍有助于理解传统运行级别体系。

四、Linux 启动流程概览

Linux 启动流程本质上是一个分阶段接力的过程:从硬件加电开始,逐步把控制权交给引导程序、内核和初始化系统,最终进入目标运行环境。

原始笔记提供了一张启动流程图:

image-20231018162907428

结合日常理解,可以把启动流程概括为:

1、主机加电并完成基础硬件初始化。 2、引导程序开始工作,加载内核。 3、内核初始化系统关键组件与驱动。 4、初始化系统(如 systemd)启动默认 target。 5、系统进入多用户模式、图形模式或救援模式等目标环境。

理解启动流程的价值在于:当系统无法正常启动、需要进入救援模式,或者需要排查某一步异常时,你会更清楚问题大概卡在哪一层。

五、小结

学习运行级别与启动流程时,可以抓住两个重点:

  • 旧体系里常说 runlevel,新体系里更多是 target,它们本质上都在描述“系统启动后要进入什么状态”。
  • 理解启动流程后,后续学习救援模式、单用户模式、密码重置和启动故障排查都会更顺畅。