在Linux系统中,运行级别(Runlevel)用于描述系统的不同操作模式。传统的SysVinit系统定义了7个运行级别(0-6),而现代系统如使用systemd的Linux发行版则用"目标"(target)替代了这一概念。以下是详细说明:
| 运行级别 | 描述 |
|---|---|
| 0 | 停机(Halt),关闭系统 |
| 1 | 单用户模式(Single-User Mode),用于维护,无网络或多用户支持 |
| 2 | 多用户模式(无NFS),基本多用户环境,但无网络文件共享 |
| 3 | 完整的多用户模式(文本界面),带网络服务 |
| 4 | 保留未使用,用户可自定义用途 |
| 5 | 图形界面模式(X11),在级别3基础上加载图形登录界面(如GNOME/KDE) |
| 6 | 重启(Reboot) |
现代Linux系统(如RHEL 7+/Ubuntu 16.04+)使用systemd,运行级别被映射为以下目标:
| 传统级别 | systemd目标 | 描述 |
|---|---|---|
| 0 | poweroff.target |
关机 |
| 1 | rescue.target |
紧急救援模式(单用户) |
| 2, 3, 4 | multi-user.target |
多用户文本模式(级别3最常用) |
| 5 | graphical.target |
图形界面模式 |
| 6 | reboot.target |
重启 |
查看当前运行级别
who -r # 传统SysVinit
systemctl get-default # systemd系统
切换运行级别
bash
init 3 # 切换到级别3(文本模式)bash
systemctl isolate multi-user.target # 切换到级别3等效设置默认运行级别
/etc/inittab(如 id:5:initdefault:)。bash
sudo systemctl set-default graphical.target # 设置为图形界面(级别5)区别系统类型:
单用户模式用途:
避免级别0/6:
init 0或init 6会立即关机/重启,需谨慎使用。通过理解运行级别或systemd目标,您可以灵活管理系统启动模式,尤其在服务器维护或故障修复时非常关键。