Debian 使用 systemd 替换了 init,以前使用 inittab 设定 run level 的方式在 Debian 8 及以后已经失效,新的知识点如下:

  1. 系统使用 /etc/systemd/system/default.target 来启动设定,这是一个符号连接,有可能存在也有可能不存在。
  2. 真正的启动配置在 /etc/systemd/system 和 /lib/systemd/system 两个文件夹下,其中第一个文件夹存放的是基本系统设定,第二个为发行版自行的设定。
    1
    2
    3
    4
    ls -l /etc/systemd/system/default.target
    > ... No such file or directory
    ls -l /lib/systemd/system/default.target
    > ... /lib/systemd/system/default.target -> graphical.target
  3. Debian 默认使用的是 graphical.target ,如果想以文本方式启动只需要将 default.target 指向 multi-user.target 即可。
1
2
cd /etc/systemd/system/
sudo ln -s /lib/systemd/system/multi-user.target default.target
  1. 不过并不建议直接进行手工设定,systemd 提供了更为直接的指令
1
systemctl set-default multi-user.target

或者

1
sudo set-default runlevel3.target