📌  相关文章
📜  Linux 中的运行级别

📅  最后修改于: 2022-05-13 01:57:33.808000             🧑  作者: Mango

Linux 中的运行级别

先决条件:Linux 启动
运行级别是 init 和整个系统的状态,它定义了正在运行的系统服务。运行级别由数字标识。一些系统管理员使用运行级别来定义哪些子系统在工作,例如,X 是否在运行,网络是否在运行,等等。

  • 每当 LINUX 系统启动时,首先启动init进程,它实际上负责运行其他启动脚本,主要涉及硬件初始化、启动网络、启动图形界面。
  • 现在, init首先找到系统的默认运行级别,以便它可以运行与默认运行级别对应的启动脚本。
  • 运行级别可以简单地认为是您的系统进入的状态,就像系统处于单用户模式时,它的运行级别为 1 ,而如果系统处于多用户模式,则运行级别为 5
  • 换句话说,运行级别可以定义为一个预设的个位数整数,用于定义基于 LINUX 或 UNIX 的操作系统的操作状态。每个运行级别指定不同的系统配置并允许访问不同的进程组合。

这里需要注意的重要一点是,根据操作系统的不同,运行级别存在差异。标准的LINUX 内核支持这七种不同的运行级别:

  • 0 – 系统停止,系统可以在没有活动的情况下安全关闭。
  • 1 – 单用户模式。
  • 2 – 没有 NFS(网络文件系统)的多用户模式。
  • 3 – 命令行界面下而非图形用户界面下的多用户模式。
  • 4 – 用户可定义。
  • 5 – GUI(图形用户界面)下的多用户模式,这是大多数基于 LINUX 的系统的标准运行级别。
  • 6 – Reboot,用于重新启动系统。

默认情况下,大多数基于 LINUX 的系统启动到运行级别 3 或运行级别 5。
除了标准的运行级别,用户还可以根据需要修改预设的运行级别甚至创建新的运行级别。运行级别 2 和 4 用于用户定义的运行级别,运行级别 0 和 6 用于停止和重新启动系统。

显然,每个运行级别的启动脚本执行不同的任务会有所不同。这些对应于每个运行级别的启动脚本可以在rc 子目录下的特殊文件中找到。
/etc/rc.d目录中,将有一组名为rc.0、rc.1、rc.2、rc.3、rc.4、rc.5rc.6 的文件,或一组目录命名为rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.drc6.d。
例如,运行级别 1 将在文件 /etc/rc.d/rc.1 或目录 /etc/rc.d/rc1.d 中的任何文件中拥有其启动脚本。

更改运行级别



init是负责改变运行级别的程序,可以使用telinit命令调用它。

例如,要将运行级别从 3 更改为运行级别 5,这实际上将允许在多用户模式下启动 GUI, telinit命令可以用作:

/*using telinit to change
runlevel from 3 to 5*/

telinit 5

注意:运行级别的更改是超级用户的任务,而不是普通用户的任务,这就是为什么必须以超级用户身份登录才能成功执行上述 telinit 命令,或者您可以使用sudo命令作为:

// using sudo to execute telinit
sudo telinit 5

系统的默认运行级别在/etc/initab文件中指定,该文件将具有条目id:5:initdefault如果默认运行级别设置为 5 或将具有条目id:3:initdefault如果默认运行级别设置为 3 .

需要更改运行级别

  • 可以有一种情况,当你可以在登录的情况下,你不记得密码或因为损坏的/ etc / passwd文件中(有所有的用户名和密码)觉得麻烦,在这种情况下,就可以解决问题通过启动到单用户模式,运行级别 1。
  • 您可以通过使用 telinit 0将运行级别更改为 0 来轻松停止系统。