systemd

notes

An complete documentation is at FreeDeskTop

systemd.man.html

> pkg-config systemd --variable=systemdsystemunitdir
/lib/systemd/system
As of bullseye: quotes are required when name includes @

 ModemManager.service              man-db.service             sys-kernel-debug.mount
 NetworkManager-dispatcher.service     man-db.timer               sys-kernel-tracing.mount
 NetworkManager-wait-online.service   'modprobe@.service'             sysinit.target
 NetworkManager.service            multi-user.target              sysinit.target.wants/
 NetworkManager.service.d/         multi-user.target.wants/       syslog.socket
 alsa-restore.service              network-online.target         'system-systemd\x2dcryptsetup.slice'
 alsa-state.service                network-pre.target             system-update-cleanup.service
 alsa-utils.service@               network.target             system-update-pre.target
 apply_noobs_os_config.service     networking.service             system-update.target
 apt-daily-upgrade.service         nfs-client.target              system-update.target.wants/
 apt-daily-upgrade.timer           nfs-common.service@            systemd-ask-password-console.path
 apt-daily.service                 nfs-config.service             systemd-ask-password-console.service
 apt-daily.timer                   nfs-idmapd.service             systemd-ask-password-plymouth.path
 auth-rpcgss-module.service        nfs-utils.service              systemd-ask-password-plymouth.service
'autovt@.service'@                 nftables.service           systemd-ask-password-wall.path
 avahi-daemon.service              nss-lookup.target              systemd-ask-password-wall.service
 avahi-daemon.socket               nss-user-lookup.target        'systemd-backlight@.service'
 basic.target                       packagekit-offline-update.service      systemd-binfmt.service
'blockdev@.target'                  packagekit.service             systemd-bless-boot.service
 bluetooth.service                  paths.target               systemd-boot-check-no-failures.service
 bluetooth.target                   paxctld.service            systemd-boot-system-token.service
 boot-complete.target              pigpiod.service            systemd-exit.service
'bthelper@.service'                 plymouth-halt.service          systemd-fsck-root.service
 colord.service                     plymouth-kexec.service        'systemd-fsck@.service'
'configure-printer@.service'       plymouth-log.service@          systemd-fsckd.service
 console-getty.service             plymouth-poweroff.service          systemd-fsckd.socket
 console-setup.service             plymouth-quit-wait.service         systemd-halt.service
'container-getty@.service'         plymouth-quit.service         'systemd-hibernate-resume@.service'
 cron.service                       plymouth-read-write.service        systemd-hibernate.service
 cryptdisks-early.service@         plymouth-reboot.service        systemd-hostnamed.service
 cryptdisks.service@               plymouth-start.service         systemd-hwdb-update.service
 cryptsetup-pre.target             plymouth-switch-root.service       systemd-hybrid-sleep.service
 cryptsetup.target                  plymouth.service@              systemd-initctl.service
 ctrl-alt-del.target@               polkit.service             systemd-initctl.socket
 cups-browsed.service               portmap.service@           systemd-journal-flush.service
 cups.path                          poweroff.target            systemd-journald-audit.socket
 cups.service                       poweroff.target.wants/         systemd-journald-dev-log.socket
 cups.socket                        printer.target            'systemd-journald-varlink@.socket'
 dbus-org.freedesktop.hostname1.service@   proc-fs-nfsd.mount             systemd-journald.service
 dbus-org.freedesktop.locale1.service@     proc-sys-fs-binfmt_misc.automount      systemd-journald.socket
 dbus-org.freedesktop.login1.service@      proc-sys-fs-binfmt_misc.mount     'systemd-journald@.service'
 dbus-org.freedesktop.timedate1.service@   procps.service@           'systemd-journald@.socket'
 dbus.service                       pulseaudio-enable-autospawn.service@   systemd-kexec.service
 dbus.socket                        quotaon.service            systemd-localed.service
 debug-shell.service               raspberrypi-net-mods.service       systemd-localed.service.d/
 default.target@                   rc-local.service           systemd-logind.service
 dev-hugepages.mount               rc-local.service.d/            systemd-machine-id-commit.service
 dev-mqueue.mount                   rc.service@                systemd-modules-load.service
 dhcpcd.service                     rcS.service@               systemd-network-generator.service
 dphys-swapfile.service             reboot.target              systemd-networkd-wait-online.service
'e2scrub@.service'                  reboot.target.wants/           systemd-networkd.service
 e2scrub_all.service                regenerate_ssh_host_keys.service   systemd-networkd.socket
 e2scrub_all.timer                  remote-cryptsetup.target       systemd-poweroff.service
'e2scrub_fail@.service'             remote-fs-pre.target           systemd-pstore.service
 e2scrub_reap.service               remote-fs.target           systemd-quotacheck.service
 emergency.service                  rescue-ssh.target              systemd-random-seed.service
 emergency.target                   rescue.service             systemd-reboot.service
 exit.target                        rescue.target              systemd-remount-fs.service
 fake-hwclock.service               rescue.target.wants/           systemd-resolved.service
 final.target                       rpc-gssd.service           systemd-rfkill.service
 fio.service                        rpc-statd-notify.service       systemd-rfkill.socket
 first-boot-complete.target         rpc-statd.service              systemd-suspend-then-hibernate.service
 fstrim.service                     rpc-svcgssd.service            systemd-suspend.service
 fstrim.timer                  rpcbind.service            systemd-sysctl.service
 getty-pre.target              rpcbind.socket             systemd-sysusers.service
 getty-static.service              rpcbind.target             systemd-time-wait-sync.service
 getty.target                  rpi-display-backlight.service      systemd-timedated.service
 getty.target.wants/               rpi-eeprom-update.service          systemd-timesyncd.service
'getty@.service'               rsync.service              systemd-tmpfiles-clean.service
 glamor-test.service               rsyslog.service            systemd-tmpfiles-clean.timer
 gldriver-test.service             rtkit-daemon.service           systemd-tmpfiles-setup-dev.service
 graphical.target              run-rpc_pipefs.mount           systemd-tmpfiles-setup.service
 graphical.target.wants/           runlevel0.target@              systemd-udev-settle.service
 halt.target                   runlevel1.target@              systemd-udev-trigger.service
 halt.target.wants/            runlevel1.target.wants/        systemd-udevd-control.socket
 hciuart.service               runlevel2.target@              systemd-udevd-kernel.socket
 hibernate.target              runlevel2.target.wants/        systemd-udevd.service
 hwclock.service@              runlevel3.target@              systemd-update-utmp-runlevel.service
 hybrid-sleep.target               runlevel3.target.wants/        systemd-update-utmp.service
'ifup@.service'                runlevel4.target@              systemd-user-sessions.service
 ifupdown-pre.service              runlevel4.target.wants/        systemd-volatile-root.service
 ifupdown-wait-online.service          runlevel5.target@              time-set.target
 iio-sensor-proxy.service          runlevel5.target.wants/        time-sync.target
 initrd-cleanup.service            runlevel6.target@              timers.target
 initrd-fs.target              saned.service@             timers.target.wants/
 initrd-parse-etc.service          saned.socket               triggerhappy.service
 initrd-root-device.target        'saned@.service'            triggerhappy.socket
 initrd-root-device.target.wants/     'serial-getty@.service'         udev.service@
 initrd-root-fs.target             shutdown.target            udisks2.service
 initrd-switch-root.service        sigpwr.target              umount.target
 initrd-switch-root.target         sleep.target               upower.service
 initrd-switch-root.target.wants/      slices.target              usb-gadget.target
 initrd-udevadm-cleanup-db.service     smartcard.target          'usb_modeswitch@.service'
 initrd.target                 sockets.target             user-.slice.d/
 ipp-usb.service               sockets.target.wants/         'user-runtime-dir@.service'
 kexec.target                  sound.target               user.slice
 kexec.target.wants/               sound.target.wants/           'user@.service'
 keyboard-setup.service            ssh.service                userconfig.service
 kmod-static-nodes.service         ssh.socket                 vncserver-virtuald.service
 kmod.service@                'ssh@.service'              vncserver-x11-serviced.service
 lightdm.service               sshswitch.service             'wpa_supplicant-nl80211@.service'
 local-fs-pre.target               sudo.service@             'wpa_supplicant-wired@.service'
 local-fs.target               suspend-then-hibernate.target      wpa_supplicant.service
 local-fs.target.wants/            suspend.target            'wpa_supplicant@.service'
 logrotate.service             swap.target                x11-common.service@
 logrotate.timer               sys-fs-fuse-connections.mount
 machine.slice                 sys-kernel-config.mount


libsystemd-shared-232.so


network/
system/
system-generators/
system-preset/
system-shutdown/
system-sleep/

backlight

Executable systemd Daemons
systemd-ac-power
systemd-binfmt
systemd-cgroups-agent
systemd-cryptsetup
systemd-fsck
systemd-fsckd
systemd-hibernate-resume
systemd-hostnamed
systemd-initctl
systemd-journald
systemd-localed
systemd-logind
systemd-modules-load
systemd-networkd
systemd-networkd-wait-online
systemd-quotacheck
systemd-random-seed
systemd-remount-fs
systemd-reply-password
systemd-resolved
systemd-rfkill
systemd-shutdown
systemd-sleep
systemd-socket-proxyd
systemd-sysctl
systemd-sysv-install
systemd-timedated
systemd-timesyncd
systemd-udevd
systemd-update-utmp
systemd-user-sessions

network:

80-container-host0.network 80-container-ve.network 80-container-vz.network 99-default.link system: anacron.timer apt-daily-upgrade.timer apt-daily.timer systemd-tmpfiles-clean.timer -> ../

target

2ping
alsa-restore
alsa-state
anacron
apply_noobs_os_config
apt-daily-upgrade
apt-daily
auth-rpcgss-module
autovt@ -> getty@.service
avahi-daemon
binfmt-support
bluetooth
bthelper@
chronograf
console-getty
console-setup
container-getty@
cron
dbus-org.freedesktop.hostname1->
    systemd-hostnamed
dbus-org.freedesktop.locale1->
    systemd-localed
dbus-org.freedesktop.login1->
    systemd-logind
dbus-org.freedesktop.network1->
    systemd-networkd
dbus-org.freedesktop.resolve1->
    systemd-resolved
dbus-org.freedesktop.timedate1->
    systemd-timedated
dbus
debug-shell
dhcpcd
emergency
fake-hwclock
getty-static
getty@
gldriver-test
grafana
hciuart
ifup@
influxdb
initrd-cleanup
initrd-parse-etc
initrd-switch-root
initrd-udevadm-cleanup-db
kapacitor
keyboard-setup
kmod-static-nodes
mod ->
    systemd-modules-load
lightdm
module-init-tools ->
    systemd-modules-load
networking
nfs-config
nfs-idmapd
nfs-utils
nodered
packagekit-offline-update
packagekit
paxctld
pigpiod
plymouth-halt
plymouth-kexec
plymouth-log ->
    plymouth-read-write
plymouth-poweroff
plymouth-quit-wait
plymouth-quit
plymouth-read-write
plymouth-reboot
plymouth-start
plymouth-switch-root
plymouth -> plymouth-quit.service
polkit
portmap -> rpcbind.service
postfix
postfix@
procps -> systemd-sysctl.service
quotaon
raspberrypi-net-mods
rc-local
rc.local -> rc-local.service replaces /etc/rc.local 
regenerate_ssh_host_keys
rescue
rpc-gssd
rpc-statd-notify
rpc-statd
rpc-svcgssd
rpcbind
rpi-display-backlight
rsync
rsyslog
serial-getty@
ssh
ssh@
sshswitch
sudo

systemd-ask-password-console
systemd-ask-password-plymouth
systemd-ask-password-wall
systemd-backlight@
systemd-binfmt
systemd-exit
systemd-fsck-root
systemd-fsck@
systemd-fsckd
systemd-halt
systemd-hibernate-resume@
systemd-hibernate
systemd-hostnamed
systemd-hwdb-update
systemd-hybrid-sleep
systemd-initctl
systemd-journal-flush
systemd-journald
systemd-kexec
systemd-localed
systemd-logind
systemd-machine-id-commit
systemd-modules-load
systemd-networkd-wait-online
systemd-networkd
systemd-poweroff
systemd-quotacheck
systemd-random-seed
systemd-reboot
systemd-remount-fs
systemd-rfkill
systemd-suspend
systemd-sysctl
systemd-timedated
systemd-tmpfiles-clean
systemd-tmpfiles-setup-dev
systemd-tmpfiles-setup
systemd-udev-ettle
systemd-udev-trigger
systemd-udevd
systemd-update-utmp-runlevel
systemd-update-utmp
systemd-user-sessions

telegraf
triggerhappy
udev -> systemd-udevd.service
random -> systemd-random-seed.service
usb_modeswitch@
user@
wifi-country
wpa_supplicant-wired@
wpa_supplicant
wpa_supplicant@

alsa-restore -> ../
alsa-state   -> ../
getty-static -> ../
systemd-update-utmp-runlevel -> ../
plymouth-halt -> ../
plymouth-start -> ../
plymouth-switch-root -> ../
plymouth-kexec -> ../
29 systemd-remount-fs -> ../
dbus -> ../
plymouth-quit-wait -> ../
plymouth-quit -> ../
plymouth-reboot -> ../
plymouth-read-write         -> ../
plymouth-poweroff -> ../
plymouth-start              -> ../

systemd-logind -> ../
systemd-update-utmp-runlevel -> ../
systemd-user-sessions -> ../
systemd-update-utmp-runlevel -> ../
kmod-static-nodes        -> ../
systemd-binfmt           -> ../
systemd-hwdb-update -> ../
systemd-journal-flush    -> ../
systemd-journald -> ../
systemd-machine-id-commit -> ../
systemd-modules-load -> ../
systemd-random-seed -> ../
systemd-sysctl -> ../
systemd-tmpfiles-setup-dev -> ../
systemd-tmpfiles-setup -> ../
systemd-udev-trigger -> ../
systemd-udevd -> ../
systemd-update-utmp -> ../
packagekit-offline-update -> ../


target

basic bluetooth busnames cryptsetup-pre cryptsetup ctrl-alt-del-> reboot.target default-> graphical.target emergency exit final getty graphical halt hibernate hybrid-sleep initrd-fs initrd-root-device initrd-root-fs initrd-switch-root initrd kexec local-fs-pre local-fs
multi-user
network-online
network-pre
network
nfs-client
nss-lookup
nss-user-lookup
paths
poweroff
printer
reboot
reboot.wants/
remote-fs-pre
remote-fs
rescue
rescue.wants/

rpcbind
runlevel0 -> poweroff
runlevel1 -> rescue
runlevel1.wants/
runlevel2 -> multi-user
runlevel2.wants/
runlevel3 -> multi-user
runlevel3.wants/
runlevel4 -> multi-user
runlevel4.wants/
runlevel5 -> graphical
runlevel5.wants/
runlevel6 -> reboot
time-sync 
timers
timers.wants/
system/timers.wants:

shutdown
sigpwr
sleep
slices
smartcard
sound
suspend
swap
sysinit

sysinit.wants/
system-update
system-update.wants/

umount


wants

basic/ busnames/ getty/ graphical/ halt/ initrd-switch-root/ kexec/ local-fs/ multi-user/ poweroff/ system/basic: system/busnames: system/getty: system/graphical: system/halt: system/initrd-switch-root: system/kexec: system/local-fs: system/multi-user: system/poweroff: system/reboot: system/rescue: system/runlevel1: system/runlevel2: system/runlevel3: system/runlevel4: system/runlevel5: system/sysinit: getty -> ../ getty cryptsetup -> ../ system/system-update.wants:

slice

machine system user
proc-sys-fs-binfmt_misc.automount -> ../
dev-hugepages.mount               -> ../
dev-mqueue.mount                  -> ../
sys-fs-fuse-connections.mount     -> ../
sys-kernel-config.mount           -> ../
sys-kernel-debug.mount            -> ../


systemd-ask-password-console.path -> ../
systemd-ask-password-plymouth.path
systemd-ask-password-wall.path -> ../

dbus.socket
avahi-daemon.socket
sockets.target
sockets.target.wants/
dbus.socket                     -> ../
rpcbind.socket
ssh.socket
syslog.socket

system/sockets.target.wants:
systemd-fsckd.socket
systemd-networkd.socket
systemd-rfkill.socket

systemd-initctl.socket          -> ../
systemd-journald-audit.socket   -> ../
systemd-journald-dev-log.socket -> ../
systemd-journald.socket         -> ../
systemd-udevd-control.socket    -> ../
systemd-udevd-kernel.socket     -> ../
triggerhappy.socket

debian.conf
resolvconf.conf
disable-with-time-daemon.conf
resolv.conf


system-generators:

postfix-instance-generator systemd-cryptsetup-generator systemd-debug-generator systemd-fstab-generator systemd-getty-generator systemd-gpt-auto-generator systemd-hibernate-resume-generator systemd-rc-local-generator systemd-system-update-generator systemd-sysv-generator system-preset: 90-systemd.preset system-shutdown: system-sleep: hdparm

rc-local.service
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility SIC its part of the description!
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

Suggested by KairiTech
/usr/lib/systemd/system/rc-local.service
[Unit]
Description=/etc/rc.local 
After=network.target

[Service]
Type=oneshot
ExecStart=-/etc/rc.local         muiltiple scripts invoked
ExecStart=-/pathtoyour/script1
ExecStart=-/pathtoyour/script2
TimeoutSec=0
StandardInput=tty
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target


/usr/lib/systemd/system/rc-local-shutdown.service
[Unit]
Description=/etc/rc.local.shutdown 
ConditionFileIsExecutable=/etc/rc.local.shutdown
DefaultDependencies=no
After=rc-local.service basic.target
Before=shutdown.target

[Service]
Type=oneshot
ExecStart=/etc/rc.local.shutdown
StandardInput=tty
RemainAfterExit=yes

[Install]
WantedBy=shutdown.target

Signals

SIGUSR1 Journal data from /run/ is flushed to /var/ to make it persistent (if enabled).
Use sudo journalctl --flush to flush the journal files, and wait for the operation to complete. See journalctl(1) for details.

SIGUSR2 Immediate rotation of the journal files.
Use sudo journalctl --rotate to rotate journal , and wait for the operation to complete.

SIGRTMIN+1 Unwritten log data is written to disk.
Use sudo journalctl --sync to trigger journal synchronization, and wait for the operation to complete.

systemd.directives.html

systemd.generators: postfix-instance sysv, system-update, rc-local, hibernate-resume, gpt-auto, getty, fstab, debug, cryptsetup