我已将线路配置/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 之间没有任何区别。