Learn to map what a service needs and what needs it using systemctl and a few inspection tricks. 16.11.2025 | reading time: 2 min When a service will not start the cause is often a missing or incorrectly ordered dependency; this short guide shows how to map those links with `systemctl` and nearby tools so he can act fast. A concrete trace Case: a fictional web app fails at boot; first run `systemctl list-dependencies --reverse apache2.service` to see what requires the service and what the service requires then inspect details with `systemctl show -p Wants,Requires,After,Before apache2.service` for a compact picture; expected short output might show `Requires=network-online.target` and `Wants=apache2.socket` which points to network or socket activation issues. Quick diagnostic commands Run `systemctl list-dependencies apache2.service --all` to expand targets, use `--reverse` to find dependents, check enablement with `systemctl is-enabled apache2.service` and view runtime failures with `journalctl -u apache2.service` to read logs that show missing units or failed ordering. Important distinctions Remember the semantic difference: `Requires` stops the unit if the requirement fails while `Wants` is softer; `After` and `Before` only order startup and do not create hard dependencies; socket activation and targets change how and when a service actually starts so check those if startup ordering looks correct but the service still fails. When init is not systemd Older or alternative systems use different tooling so for SysV he may inspect `/etc/init.d` scripts or use `chkconfig`; OpenRC uses `rc-update`; knowing the init system helps pick the right commands to reveal dependency chains. Wrap up and what to learn next Mapping dependencies turns guesswork into action; practice on a test VM with services he knows and then dive deeper into unit files and journal logs to master root causes; consider formalizing skills with CompTIA Linux+ or LPIC-1 and intensive exam preparation at bitsandbytes.academy. Join Bits & Bytes Academy First class LINUX exam preparation. boot-process processes troubleshooting utilities