Systemd
The systemd project is an amalgamation of init processes and service managers.
First and foremost, it is the server daemon systemd(1). It is also the userland interfaces systemctl(1) and journalctl(1).
The systemd project also encompasses systemd-networkd, systemd-resolved, systemd-timerd, systemd-logind, systemd-homed, systemd-firewalld, among a few others.
Contents
Unit Files
The systemd project is configured using unit files. A unit file's functionality is hinted by its file extension:
- services (.service)
- mount points (.mount)
- devices (.device)
- sockets (.socket)
Server-level unit files are located in /etc/systemd. User-level unit files are located in
Replacing Unit Files
To replace the unit file /usr/lib/systemd/system/foo, create the file /etc/systemd/system/foo and re-enable.
Alternatively, try:
systemctl edit --full unit
Editing Unit Files
A drop-in file is a segment of a unit file that is parsed and applied over the pre-existing unit file.
To create drop-in files for the unit file /usr/lib/systemd/system/foo, create the directory /etc/systemd/system/foo.d/ and place .conf files there to override or add new options.
Alternatively, try:
systemctl edit unit
Reverting Unit Files
To revert changes to a unit file, try:
systemctl revert unit
Daemon Configuration
If a unit file takes too long to start at boot, systemd switches to verbose mode and prints information that may help in diagnosing issues. This setting can be explicitly disabled in /etc/systemd/system.conf.
[Manager] ShowStatus=no