为什么我的 Debian jessie 总是处于运行级别 5?

为什么我的 Debian jessie 总是处于运行级别 5?

我已将线路配置/etc/inittab如下:

# The default runlevel.
id:2:initdefault:

但登录后输出runlevel如下:

N 5

那么为什么我的运行级别是 5 而不是 2?


笔记:作为附加信息,这里是uname -a我的系统的输出

Linux d3bi4n 3.16.0-4-amd64 #1 SMP Debian 3.16.7-2 (2014-11-06) x86_64 GNU/Linux

的输出dpkg -S /sbin/init

systemd-sysv: /sbin/init

答案1

$ dpkg -S /sbin/init
systemd-sysv: /sbin/init

您的初始化系统是 Systemd,而不是 SysVinit。/etc/inittab是SysVinit的配置文件,Systemd不使用它。我假设您有这个文件,因为这是一个 jessie 系统,它是从早期的 jessie 或使用 SysVinit 从 wheezy 升级的。

Systemd 并不完全有运行级别的概念,尽管为了与 SysVinit 兼容而对运行级别进行了近似。 Systemd 有“目标单位”。您可以通过设置符号链接来选择启动时目标单位/etc/systemd/system/default.target。请参阅系统常见问题解答了解更多信息。

如果您不想使用 Systemd,请安装sysvinit-core包,它提供了一个传统的 SysVinit(以前在sysvinit包中,现在在 jessie 中是 systemd 的前端)。从 jessie 开始,Debian 默认使用 Systemd,但仍然支持 SysVinit。

答案2

来源: https://unix.stackexchange.com/a/164028/120177,http://www.freedesktop.org/software/systemd/man/systemctl.html

打开终端并(以 root 身份)运行:

systemctl set-default multi-user.target

或与--force

systemctl set-default -f multi-user.target

覆盖任何现有的冲突符号链接1。

仔细检查:

systemctl get-default

另一种方法是将以下参数添加到内核引导行:

systemd.unit=multi-user.target

答案3

您可能会在内核命令行或参数中设置运行级别 5(查看您的 grub 配置):

您可以使用内核参数覆盖默认运行级别。当显示启动菜单时,选择编辑选项。然后找到内核行并附加空间和所需的运行级别号。例如“kernel /boot/vmlinuz-2.6.30 root=/dev/sda2 ro 3”将启动到运行级别 3。 

答案4

从:https://wiki.debian.org/RunLevel

默认 Debian 安装在运行级别 2-5 之间没有任何区别。

相关内容