在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目标,您可以灵活管理系统启动模式,尤其在服务器维护或故障修复时非常关键。