进一步阅读

进一步阅读

我们知道runlevl多用户模式是

N 5 

但在我们的 redhat 7.2 上我们得到以下内容

runlevel

5 3

这个运行级别的含义是什么?

如何将本机更改为多用户模式(完全权限)

当我们这样做时

who -r

我们得到

run-level 3                last=5

注意-我们表演reboot/init 6,但我们仍然在run-level 3

答案1

这个运行级别的含义是什么?

这意味着这个词仍然没有渗透到各处,即使runlevel自 2010 年以来,它在 systemd 手册中明确说明了它的命令,即这个概念已经过时了

忘记运行级别。

您的操作系统没有运行级别。正如中详细解释的https://unix.stackexchange.com/a/394238/5132,如果没有一些兼容性垫片,它们根本就不存在。您从 systemdrunlevel命令中看到的内容是虚构的,是根据系统的状态构建的实际的systemd 机制,通过其几乎完全没有记录的systemd-update-utmp程序。

(我在 nosh 工具集中采取了稍微不同的方法。我记录了该login-update-utmpx命令。但它并没有努力构建虚构,而且我还让垫片runlevel只打印“N N”来说明这一点没有运行级别。 Upstart 选择打印“未知”,结果破坏了一些写得不好的软件包安装/卸载脚本。)

运行级别自 1990 年以来就已过时,而您的操作系统终于在 10 年前在 RedHat Enterprise Linux 版本 6 中赶上了这一点,当时它切换到了 Upstart(它也没有在运行级别方面进行操作,但提供了稍微更广泛的兼容性垫片比 systemd 所做的)。自版本 7 以来,它已经从 Upstart 切换到一个系统,该系统的手册页明确记录为已过时。

讽刺的是,systemd 的runlevel 甚至没有告诉你你的系统有不是以多用户模式出现。因此,考虑到多用户模式multi-user.target可能已经在您的系统上处于活动状态,询问如何切换到多用户模式是毫无意义且毫无根据的。确定当然,您使用systemctl status multi-user.target, 和不是根本没有命令runlevel

进一步阅读

相关内容