Plainnotes

After, Wants and Requires are not the same thing

2026-03-25 · 2 min readSystems

After=network.target means "if it also starts, start after it". It does not mean "do not start without it" — the most common misreading.

  • After= / Before= are pure ordering.
  • Wants= is a weak dependency: the other unit failing does not stop you.
  • Requires= is strong: if it fails or stops, you stop too.

In practice, waiting for the network needs both Wants=network-online.target and After=network-online.target. With only After, the service starts before the network is up, cannot reach the database, and enters a restart loop.

BindsTo= is stricter — device or mount vanishes and you stop. PartOf= restarts a unit whenever its partner restarts.