When services fail, speed matters. Use a repeatable sequence: status, logs, dependencies, restart behavior, unit config.
15 key commands
systemctl status <service>journalctl -u <service> -n 100 --no-pagerjournalctl -u <service> -fsystemctl cat <service>systemctl show <service> -p ExecStart -p Environment -p FragmentPathsystemctl list-dependencies <service>systemctl is-enabled <service>systemctl is-active <service>systemctl reset-failed <service>systemctl restart <service>systemctl daemon-reloadsystemd-analyze blamesystemd-analyze critical-chainjournalctl -p err -bsystemctl edit <service>
Common failure patterns
Restart loops, permission/env-file issues, bad ordering/dependency declarations, and stale overrides.
Incident notes template
Document symptom, start time, impacted services, root cause, fix, and prevention action.
Final takeaway
Systemd troubleshooting becomes predictable when you always run the same triage workflow.
This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License .