让我们了解下Linux的运行级别
Linux运行级别详解
什么是运行级别(Runlevel)
运行级别是Linux系统中用来定义系统运行状态的概念,它决定了系统启动后运行哪些服务和进程。不同的运行级别对应不同的系统配置和服务集合。
传统SysV运行级别
在传统的SysV init系统中,定义了7个运行级别(0-6):
- 运行级别0 (halt):系统关机
- 运行级别1 (Single user mode):单用户模式,用于系统维护
- 运行级别2 (Multi-user mode without networking):多用户模式,不带网络
- 运行级别3 (Multi-user mode with networking):完整的多用户模式,带网络(文本界面)
- 运行级别4 (User definable):用户自定义,通常未使用
- 运行级别5 (Multi-user mode with GUI):带图形界面的多用户模式
- 运行级别6 (reboot):系统重启
现代系统的变化
在现代Linux发行版中,许多已经转向使用systemd替代传统的init系统。在systemd中,运行级别的概念被"目标(target)"所取代:
- poweroff.target (相当于runlevel 0)
- rescue.target (相当于runlevel 1)
- multi-user.target (相当于runlevel 3)
- graphical.target (相当于runlevel 5)
- reboot.target (相当于runlevel 6)
常用命令
查看当前运行级别
# 传统系统
who -r
runlevel
# systemd系统
systemctl get-default
切换运行级别
# 传统系统
init 3 # 切换到运行级别3
telinit 3
# systemd系统
systemctl isolate multi-user.target # 相当于运行级别3
设置默认运行级别
# 传统系统(编辑/etc/inittab)
id:5:initdefault:
# systemd系统
systemctl set-default graphical.target # 设置为图形界面启动
实际应用
- 系统维护:当系统出现问题时,可以进入单用户模式(runlevel 1)进行修复
- 服务器优化:服务器通常设置为runlevel 3,不启动图形界面以节省资源
- 桌面环境:个人电脑通常设置为runlevel 5,启动图形界面
注意事项
- 不同Linux发行版对运行级别的定义可能略有不同
- 现代发行版逐渐转向systemd,运行级别的概念正在被淡化
- 直接修改运行级别文件可能导致系统不稳定,建议使用官方命令操作