Linux 系统运行级别

背景

在研究 linux 系统自启动项的时候,发现/etc/rc[x].d 目录下有文件(这里的 x代表系统运行级别),根据不同的系统运行级别开机自启动不同的服务。这里不讨论/etc/rc.local 文件(该文件写入的命令会在所有其他服务运行后运行,不存在系统运行级别的问题)

一、知识点

在传统的 Linux 系统中,运行级别(Runlevel)定义了系统启动后的状态和可用服务。运行级别的概念主要用于 SysVinit 初始化系统,而在使用 systemd 的现代 Linux 发行版中,运行级别被目标(Target)所替代,但运行级别的概念依然可以帮助理解系统状态。以下是典型的 Linux 运行级别的列表和各自的特点:

- 运行级别 0:
	○ 特点: 关机模式。
	○ 功能: 当系统需要关闭时,会切换到此运行级别。
- 运行级别 1:
	○ 特点: 单用户模式。
	○ 功能: 只允许root用户登录,并且只启动最基本的系统服务。用于系统维护,例如修复文件系统错误。
- 运行级别 2:
	○ 特点: 多用户模式,无网络支持。
	○ 功能: 启动必要的系统服务,但不启动网络服务。这个级别很少使用,因为现代系统几乎总是需要网络。
- 运行级别 3:【默认级别】
	○ 特点: 完全多用户模式,文本界面。
	○ 功能: 启动所有必要的服务,包括网络服务。用户可以在控制台登录并使用系统。
- 运行级别 4:【不常用】
	○ 特点: 未定义,由发行版自行决定。
	○ 功能: 这个级别通常不使用,可以被发行版用于特殊目的。
- 运行级别 5:【和 3 一样默认级别】
	○ 特点: 完全多用户模式,图形界面。
	○ 功能: 启动所有必要的服务和图形环境,如 X Window 或 Wayland。用户可以通过图形界面登录并使用系统。
- 运行级别 6:
	○ 特点: 重启模式。
	○ 功能: 系统会重启,类似于运行级别 0 的关机操作,但最终会重新启动系统。

在使用 systemd 的系统中,运行级别的概念被替换为“目标(Targets)”。例如,“multi-user.target”对应于运行级别 3 和 5,提供一个多用户环境;而“graphical.target”则对应于运行级别 5,提供一个多用户图形环境。需要注意的是,不同的 Linux 发行版可能会有不同的默认运行级别或目标。例如,一些发行版默认使用图形界面,而另一些则默认使用文本界面。

二、如何查看系统运行等级

- 使用 runlevel 命令:
	○ 运行 runlevel 命令会显示当前运行级别以及前一个运行级别。输出通常格式为 N 5,其中 N 表示上一个运行级别,5 表示当前运行级别。
- 使用 who -r 命令:
	○ 这个命令不仅显示当前运行级别,还会显示系统重启时间等信息。
- 查看 /run/ 目录下的 systemd/system.conf 文件:
	○ 在使用systemd的系统中,可以查看systemd的配置文件以了解默认的运行目标(target),这在某种程度上相当于运行级别。
		§ cat /run/systemd/system.conf | grep DefaultTarget
	○ 或者使用 systemctl 命令:
		§ systemctl get-default

对于传统的SysVinit系统(如CentOS 6),上述第一种和第二种方法仍然适用。但在使用systemd的系统(如CentOS 7及以上版本)中,运行级别概念被替换成了“目标(targets)”。例如,“multi-user.target”相当于SysVinit中的运行级别3或5。

如果不确定系统使用的是哪种初始化系统,可以尝试上述所有方法,或者检查 /proc/1/comm 文件,它会告诉你第一个进程(通常是init或systemd)的名称:
○ cat /proc/1/comm
§ 如果输出是 systemd,那么你的系统使用的是systemd初始化系统
§ 如果是 init,则可能使用的是SysVinit或其他初始化系统。

三、自启动文件

如果系统是 sysVinit 启动的,那么除了/etc/rc.local 文件之外,检测/etc/rc.d/rc.d/也是系统的启动文件,只是这时候对应哪一个文件生效,取决于当前系统的 runlevel 是多少。如果当前的 runlevel 是 3,那么对应的/etc/rc.d/rc3.d/下的文件就是当前系统下的自启动配置文件

/etc/rc.d/下的目录说明
init.d  	目录,里面是系统自带的启动程序
rc0.d 	系统运行级别为 0 时系统自启程序目录
rc1.d	系统运行级别为 1 时系统自启程序目录
rc2.d	系统运行级别为 2 时系统自启程序目录
rc3.d	系统运行级别为 3 时系统自启程序目录
rc4.d 	系统运行级别为 4 时系统自启程序目录
rc5.d	系统运行级别为 5 时系统自启程序目录
rc6.d	系统运行级别为 6 时系统自启程序目录
rc.local	文件,可以让用户定义的自启动程序

久违 2024.08.13

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久违 °

小菜鸟就要使劲飞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值