意外重启后,我的 debian 机器启动到终端屏幕而不是 gui。
我不知道如何诊断问题..但我注意到 /etc/rc2.d/ 中的所有服务( inittab 说运行级别 2 )都没有运行..
我以 cron 为例:
请有人帮助我理解为什么运行 S17cron 不起作用,但直接运行符号链接文件却可以。
我缺少什么?有谁知道我的系统如何或为何处于这种状态?怎么修?
答案1
忘记/etc/inittab
并运行级别。
正如 systemd doco 所说,在 systemd 世界中,运行级别的概念已经“过时”了。 systemd 本身的工作原理是目标,而不是运行级别。
您的文件也已过时/etc/inittab
。从 Debian 7 升级到 Debian 8 将 init 系统从 System 5 init
+切换rc
到 systemd。它被/etc/inittab
随意放置,因为该文件在 Debian 7 中没有被正确指定为软件包的属性。
说什么/etc/inittab
完全没有意义。 systemd 不仅完全忽略该文件;而且但 systemd 没有这个概念当前运行级别首先。
忘记 Systemv 5rc
脚本吧。
这可能有点强烈,但有必要指出你已经表现出了一些需要改掉的坏习惯。确实,你必须忘却所学的一件事Debian 之前的几个版本。
- 不要
/etc/rc*.d/
直接运行脚本。 首先,你会做错事,就像你在这里所做的那样,事情就不会成功。其次,不能保证符号链接场存在甚至在非 systemd 系统上。一个可以使用文件-rc代替sysv-rc, 例如。 - 不要
/etc/init.d/
直接运行脚本。 在 systemd 操作系统上,无法保证这些脚本存在,更不用说它们是指定您的服务的脚本了。即使在 Debian 7 上,也有 systemd 单元取代了 System 5rc
脚本;在 Debian 8 上更是如此。正确使用的命令是:systemctl
及其子命令status
、start
、stop
、enable
、 和disable
service
update-rc.d
但是invoke-rc.d
除非你是一个包维护者脚本
因此,您观察到的命令的行为完全是转移注意力,与您的系统为何以这种方式引导无关。
使用可用的工具正确诊断您的问题。
此时您应该运行几个程序。这些包括:
systemctl get-default
以确定您的系统是否配置为graphical.target
首先启动。systemctl list-units
显示正在运行的服务和目标。您的 X 显示管理器是一项服务。systemctl status
以显示为什么失败的服务失败了。journalctl -x -b
查看自启动以来的日志。
进一步阅读
- https://unix.stackexchange.com/a/196197/5132
- 斯蒂芬·韦德利 (2014)。 “8. 使用 systemd 管理服务” 红帽企业 Linux 7 系统管理员指南。红帽。
- 伦纳特·珀特林 (2013-10-07)。
systemctl
。 systemd 手册页。 freedesktop.org。 - https://unix.stackexchange.com/a/196014/5132