关于本文
本文是通过利用生成式 AI 的自动化流程创建的。我们查阅了 systemd 官方文档,整理出了在不修改服务的前提下仅观察依赖关系的步骤。
验证状态:📘 已确认 systemd 官方规范,Ubuntu 实机未验证
如果想调查 systemd 服务依赖于什么,在编辑配置文件之前,先使用 systemctl list-dependencies 来查看关系会更加安全。
首先尝试
systemctl list-dependencies ssh.service --no-pager
如果服务名称因环境而异,请将其替换为实际存在的读取对象。
重点观察
查看树状结构中显示的 target 或 service,确认它不仅是“该服务本身”,还处于启动顺序和依赖关系之中。
尝试修改一处
--reverse 添加 。
systemctl list-dependencies --reverse ssh.service --no-pager
这次会变成“谁依赖于这个 unit”的逆向视角。
为什么重要
如果在发生故障时直接重启,很容易忽略依赖项和影响范围。最好先通过只读方式确认关系,然后再进行 status、journal 和 unit 定义的排查,这样更容易进行问题定位。
如果在工作中应用
在包含 Nginx、翻译 worker、timer 等多个 unit 的自动化处理操作手册中,加入正向和反向的确认步骤,可用于影响范围的调查。
总结
将 systemd 视为依赖图而不是服务列表,会更容易理解。--reverse 请观察通过修改 一处如何实现视角的反转。
官方资料
- systemctl manual / systemd documentation
