插件窝 干货文章 linux运行有几个级别

linux运行有几个级别

级别 模式 系统 target 946    来源:    2025-05-02

在Linux系统中,运行级别(Runlevel)用于描述系统的不同操作模式。传统的SysVinit系统定义了7个运行级别(0-6),而现代系统如使用systemd的Linux发行版则用"目标"(target)替代了这一概念。以下是详细说明:


传统SysVinit运行级别

运行级别 描述
0 停机(Halt),关闭系统
1 单用户模式(Single-User Mode),用于维护,无网络或多用户支持
2 多用户模式(无NFS),基本多用户环境,但无网络文件共享
3 完整的多用户模式(文本界面),带网络服务
4 保留未使用,用户可自定义用途
5 图形界面模式(X11),在级别3基础上加载图形登录界面(如GNOME/KDE)
6 重启(Reboot)

systemd的等效"目标"(Target)

现代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 重启


关键命令

  1. 查看当前运行级别

    who -r          # 传统SysVinit
    systemctl get-default  # systemd系统
    
  2. 切换运行级别

    • SysVinit:
      bash init 3 # 切换到级别3(文本模式)
    • systemd:
      bash systemctl isolate multi-user.target # 切换到级别3等效
  3. 设置默认运行级别

    • SysVinit:修改/etc/inittab(如 id:5:initdefault:)。
    • systemd:
      bash sudo systemctl set-default graphical.target # 设置为图形界面(级别5)

注意事项

  1. 区别系统类型

    • 较旧系统(如CentOS 6)使用SysVinit。
    • 新系统(如Ubuntu 20.04、CentOS 7+)使用systemd。
  2. 单用户模式用途

    • 级别1/rescue.target常用于密码重置或文件系统修复(无需登录密码)。
  3. 避免级别0/6

    • 直接执行init 0init 6会立即关机/重启,需谨慎使用。

通过理解运行级别或systemd目标,您可以灵活管理系统启动模式,尤其在服务器维护或故障修复时非常关键。