我刚刚必须诊断一个故障,结果发现这是因为有人编辑了 systemd 定义 (*.service) 文件并留下了错误。结果是该服务没有显示为失败,但也没有运行,所以我的问题是:
有没有办法列出所有存在服务定义错误的 systemd 单元?
例如,以下是失败作业的状态:
localhost:~# systemctl status -l custom
● custom.service - Custom script
Loaded: loaded (/usr/lib/systemd/system/custom.service; disabled; vendor
preset: disabled)
Active: inactive (dead)
Sep 12 16:00:25 localhost.localdomain systemd[1]:
[/usr/lib/systemd/system/custom.service:20] Unknown section 'Path'. Ignoring.
我尝试过列出dead
服务,但其中有很多,而且大多数似乎都是正确的,但刚刚结束 - 我想要的是找到那些存在真正错误的服务,例如这个。
答案1
systemd-analyze verify …
会做一些检查。
请参阅man systemd-analyze
选项。