systemd - Généralités

Création : Debian 11.1 - Bullseye

Références :

Sommaire

1 - Installation

Systemd est installé et utilisé par défaut sur Debian 11 - Bulleseye. En cas de doute, après avoir démarré l'installation, vérifier que systemd

$ systemd --version |head -1
systemd 247 (247.3-6+rpi1)
$ ps -p 1 o pid,time,comm,args
PID TIME COMMAND COMMAND
1 00:00:04 systemd /sbin/init


$ ls -l /sbin/init
lrwxrwxrwx 1 root root 20 7 août 05:58 /sbin/init -> /lib/systemd/systemd
$ systemctl is-system-running
running

2 - Documentation

La documentation systemd peut-être répartie en 4 grandes familles, concernant respectivement

2.1 - Commandes

2.1.1 Cas général

$ dpkg -L systemd |grep -E "^/bin/"
/bin/journalctl
/bin/loginctl
/bin/networkctl
/bin/systemctl
.....
/bin/systemd-notify
/bin/systemd-sysusers
/bin/systemd-tmpfiles
/bin/systemd-tty-ask-password-agent
/bin/systemd
$ dpkg -L systemd |grep "/usr/bin/
/usr/bin/bootctl
/usr/bin/busctl
/usr/bin/hostnamectl
/usr/bin/kernel-install
/usr/bin/localectl
/usr/bin/resolvectl
/usr/bin/systemd-analyze
....

2.1.2 systemctl

$ systemctl --help
$ systemctl --state help
$ systemctl --type help

2.1.3 journalctl

$ journalctl --help

2.1.4 systemd-analyze

$ systemd-analyze --help

2.2 - Unités

$ systemctl --type help
Available unit types:
service
mount
swap
socket
target
device
automount
timer
path
slice
scope

2.3 - Services

$ dpkg -L systemd |grep /usr/share/man/man |grep service
/usr/share/man/man5/systemd.service.5.gz
/usr/share/man/man5/user@.service.5.gz
/usr/share/man/man8/systemd-ask-password-console.service.8.gz
/usr/share/man/man8/systemd-backlight@.service.8.gz
/usr/share/man/man8/systemd-binfmt.service.8.gz
/usr/share/man/man8/systemd-bless-boot.service.8.gz
......
$ systemctl cat systemd-backlight@.service |grep Documentation
Documentation=man:systemd-backlight@.service(8)
$ systemctl cat systemd-logind |grep Documentation
Documentation=man:sd-login(3)
Documentation=man:systemd-logind.service(8)
Documentation=man:logind.conf(5)
Documentation=man:org.freedesktop.login1(5)
$ man systemd-backlight@.service
$ man systemd-backlight
$ man systemd-backlight
.....

SYNOPSIS
systemd-backlight@.service

/lib/systemd/systemd-backlight save [backlight|leds]:DEVICE

/lib/systemd/systemd-backlight load [backlight|leds]:DEVICE
...........
$ man systemd-fsckd
SYSTEMD-FSCKD.SERVICE(8) systemd-fsckd.service SYSTEMD-FSCKD.SERVICE(8)

NAME
systemd-fsckd.service, systemd-fsckd.socket, systemd-fsckd - File system check progress reporting

SYNOPSIS
systemd-fsckd.service

systemd-fsckd.socket

/lib/systemd/systemd-fsckd
.......

2.4 - Autres

NAME
systemd.special - Special systemd units

SYNOPSIS
basic.target, bluetooth.target, cryptsetup-pre.target, cryptsetup.target, ctrl-alt-del.target,
blockdev@.target, boot-complete.target, default.target, emergency.target, exit.target, final.target,
first-boot-complete.target, getty.target, getty-pre.target, graphical.target, halt.target,
hibernate.target, hybrid-sleep.target, suspend-then-hibernate.target, initrd.target,
initrd-fs.target, initrd-root-device.target, initrd-root-fs.target, kbrequest.target, kexec.target,
local-fs-pre.target, local-fs.target, machines.target multi-user.target, network-online.target,
network-pre.target, network.target, nss-lookup.target, nss-user-lookup.target, paths.target,
poweroff.target, printer.target, reboot.target, remote-cryptsetup.target, remote-fs-pre.target,
remote-fs.target, rescue.target, rpcbind.target, runlevel2.target, runlevel3.target,
runlevel4.target, runlevel5.target, shutdown.target, sigpwr.target, sleep.target, slices.target,
smartcard.target, sockets.target, sound.target, suspend.target, swap.target, sysinit.target,
system-update.target, system-update-pre.target, time-set.target, time-sync.target, timers.target,
umount.target, usb-gadget.target, -.slice, system.slice, user.slice, machine.slice, -.mount,
dbus.service, dbus.socket, display-manager.service, init.scope, syslog.socket,
system-update-cleanup.service

DESCRIPTION
A few units are treated specially by systemd. Many of them have special internal semantics and
cannot be renamed, while others simply have a standard meaning and should be present on all systems.