欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > Linux 系统运行级别

Linux 系统运行级别

2025/4/19 14:19:27 来源:https://blog.csdn.net/weixin_42742658/article/details/141175599  浏览:    关键词: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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词