systemd dependencies
systemd works with different types of dependencies:
- Requires - defines units that must be loaded to load this unit
- Wants - typically seen in Targets, defines which units should be loaded, but loading continues if this fails
- Requisite - the defined unit must already be active. If it is not - systemd fails loading this unit
- Conflicts - units that may never be active when this unit is loaded
- Before - the current unit will activate before listed unit
- After - the current unit will activate after the listed unit