Glossary

systemd Target

A target is a systemd unit that groups other units into a logical state, roughly analogous to the SysV runlevel. Booting the system means reaching a target; shutting down means reaching poweroff.target. Targets have no behaviour of their own—they are purely synchronisation points in the dependency graph.

Common targets include:

  • poweroff.target — halt the system
  • rescue.target — single-user mode
  • multi-user.target — text-mode multi-user (runlevel 3)
  • graphical.target — multi-user with display manager (runlevel 5)
  • reboot.target — reboot
  • emergency.target — minimal emergency shell

The default target—usually graphical.target on desktops, multi-user.target on servers—is what systemd boots into. It is a symlink at /etc/systemd/system/default.target:

systemctl get-default
sudo systemctl set-default multi-user.target
sudo systemctl isolate rescue.target    # switch on the fly

User-defined targets can group related services: a my-app.target that pulls in several services makes it easy to start and stop them together. Targets are the systemd generalisation of the old runlevel concept, and a vast improvement on it.

Related terms: systemd, systemd Unit, runlevel

Discussed in:

Also defined in: Textbook of Linux