Création :
Contenu de la page
Références :
https://www.computernetworkingnotes.com/linux-tutorials/systemd-target-units-explained.html
Sommaire
$ sudo systemctl --state=failed UNIT LOAD ACTIVE SUB DESCRIPTION0 loaded units listed
$ systemctl --state=failed --all
$ systemctl --state helpAvailable unit load states:stub........
Lister les services
$ systemctl list-units --type service UNIT LOAD ACTIVE SUB DESCRIPTION avahi-daemon.service loaded active running Avahi mDNS/DNS-SD Stack console-setup.service loaded active exited Set console font and keymap cron.service loaded active running Regular background program processing daemon dbus.service loaded active running D-Bus System Message Bus dhcpcd.service loaded active running DHCP Client Daemon fake-hwclock.service loaded active exited Restore / save the current clock getty@tty1.service loaded active running Getty on tty1 ifupdown-pre.service loaded active exited Helper to synchronize boot up for ifupdown kmod-static-nodes.service loaded active exited Create list of static device nodes for the current kernel networking.service loaded active exited Raise network interfaces raspi-config.service loaded active exited LSB: Switch to ondemand cpu governor (unless shift key is pressed) rc-local.service loaded active exited /etc/rc.local Compatibility rng-tools-debian.service loaded active running LSB: rng-tools (Debian variant) rsyslog.service loaded active running System Logging Service ssh.service loaded active running OpenBSD Secure Shell server.....LOAD = Reflects whether the unit definition was properly loaded.ACTIVE = The high-level unit activation state, i.e. generalization of SUB.SUB = The low-level unit activation state, values depend on unit type.35 loaded units listed. Pass --all to see loaded but inactive units, too.To show all installed unit files use 'systemctl list-unit-files'.Changer le run level
$ systemctl list-units --all --type service UNIT LOAD ACTIVE SUB DESCRIPTIO UNIT LOAD ACTIVE SUB DESCRIPTION● apparmor.service not-found inactive dead apparmor.service● apt-daily-upgrade.service masked inactive dead apt-daily-upgrade.service● apt-daily.service masked inactive dead apt-daily.service● auditd.service not-found inactive dead auditd.service auth-rpcgss-module.service loaded inactive dead Kernel Module supporting RPCSEC_GSS avahi-daemon.service loaded active running Avahi mDNS/DNS-SD Stack● console-screen.service not-found inactive dead console-screen.service console-setup.service loaded active exited Set console font and keymap cron.service loaded active running Regular background program processing daemon dbus.service loaded active running D-Bus System Message Bus dhcpcd.service loaded active running DHCP Client Daemon● display-manager.service not-found inactive dead display-manager.service........
Toutes les unités
$ systemctl list-unit-files --type serviceUNIT FILE STATE VENDOR PRESETalsa-restore.service static - alsa-state.service static - alsa-utils.service masked enabled apply_noobs_os_config.service disabled enabled apt-daily-upgrade.service masked enabled apt-daily.service masked enabled auth-rpcgss-module.service static - autologin@.service disabled enabled autovt@.service alias - avahi-daemon.service enabled enabled console-getty.service disabled disabled console-setup.service enabled enabled container-getty@.service static - cron.service enabled enabled cryptdisks-early.service masked enabled cryptdisks.service masked enabled ......
Liste et sélection selon l'état
$ systemctl list-unit-files --type=target --state=enabledUNIT FILE STATE VENDOR PRESETnfs-client.target enabled enabled remote-fs.target enabled enabled
$ systemctl cat dhcpcd# /lib/systemd/system/dhcpcd.service[Unit]Description=DHCP Client DaemonWants=network.targetBefore=network-online.targetDocumentation=man:dhcpcd(8)[Service]Type=forkingExecStart=/usr/sbin/dhcpcd -bRestart=always[Install]WantedBy=multi-user.target# /etc/systemd/system/dhcpcd.service.d/wait.conf[Service]ExecStart=ExecStart=/usr/sbin/dhcpcd -w
$ sudo journalctl -u dhcpcd.service -b-- Journal begins at Sat 2021-10-30 13:29:41 CEST, ends at Mon 2021-11-22 15:25:01 CET. --nov. 22 00:15:04 raspi systemd[1]: Starting DHCP Client Daemon...nov. 22 00:15:04 raspi dhcpcd[306]: dev: loaded udevnov. 22 00:15:04 raspi dhcpcd[306]: dev: loaded udevnov. 22 00:15:04 raspi dhcpcd[320]: wlan0: starting wpa_supplicantnov. 22 00:15:05 raspi dhcpcd-run-hooks[338]: wlan0: starting wpa_supplicantnov. 22 00:15:05 raspi dhcpcd[306]: wlan0: connected to Access Point `'nov. 22 00:15:05 raspi dhcpcd[306]: wlan0: connected to Access Point `'nov. 22 00:15:05 raspi dhcpcd[306]: wlan0: waiting for carriernov. 22 00:15:05 raspi dhcpcd[306]: wlan0: waiting for carriernov. 22 00:15:10 raspi dhcpcd[306]: wlan0: carrier acquirednov. 22 00:15:10 raspi dhcpcd[306]: wlan0: connected to Access Point `SFR-fcc8'nov. 22 00:15:10 raspi dhcpcd[306]: wlan0: carrier acquirednov. 22 00:15:10 raspi dhcpcd[306]: wlan0: connected to Access Point `SFR-fcc8'nov. 22 00:15:10 raspi dhcpcd[306]: wlan0: rebinding lease of 192.168.0.12nov. 22 00:15:10 raspi dhcpcd[306]: wlan0: rebinding lease of 192.168.0.12nov. 22 00:15:15 raspi dhcpcd[306]: wlan0: leased 192.168.0.12 for 86400 secondsnov. 22 00:15:15 raspi dhcpcd[306]: wlan0: leased 192.168.0.12 for 86400 secondsnov. 22 00:15:15 raspi dhcpcd[306]: wlan0: adding route to 192.168.0.0/24nov. 22 00:15:15 raspi dhcpcd[306]: wlan0: adding default route via 192.168.0.1nov. 22 00:15:15 raspi dhcpcd[306]: wlan0: adding route to 192.168.0.0/24nov. 22 00:15:15 raspi dhcpcd[306]: wlan0: adding default route via 192.168.0.1nov. 22 00:15:15 raspi dhcpcd[306]: forked to background, child pid 432nov. 22 00:15:15 raspi dhcpcd[306]: forked to background, child pid 432nov. 22 00:15:15 raspi systemd[1]: Started DHCP Client Daemon.nov. 22 13:10:46 raspi dhcpcd[432]: wlan0: carrier lostnov. 22 13:10:46 raspi dhcpcd[432]: wlan0: deleting route to 192.168.0.0/24nov. 22 13:10:46 raspi dhcpcd[432]: wlan0: deleting default route via 192.168.0.1nov. 22 13:10:53 raspi dhcpcd[432]: wlan0: carrier acquirednov. 22 13:10:53 raspi dhcpcd[432]: wlan0: rebinding lease of 192.168.0.12nov. 22 13:10:54 raspi dhcpcd[432]: wlan0: leased 192.168.0.12 for 86400 secondsnov. 22 13:10:54 raspi dhcpcd[432]: wlan0: adding route to 192.168.0.0/24nov. 22 13:10:54 raspi dhcpcd[432]: wlan0: adding default route via 192.168.0.1
$ ps -C sshd -o pid,user,args:60,cgroup PID USER COMMAND CGROUP 359 root sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups 0::/system.slice/ssh.service 1639 root sshd: pi [priv] 0::/user.slice/user-1000.slice/session-81.scope 1646 pi sshd: pi@pts/1 0::/user.slice/user-1000.slice/session-81.scope 0::/user.slice/user-1000.slice/session-81.scope
$ ps xawf -eo pid,user,args:60,cgroup'... 1892 root \_ [kworker/0:1-events] - 1900 root \_ [kworker/0:0H] - 1 root /sbin/init 0::/init.scope 126 root /lib/systemd/systemd-journald 0::/system.slice/systemd-journald.service 147 root /lib/systemd/systemd-udevd 0::/system.slice/systemd-udevd.service 301 avahi avahi-daemon: running [raspi.local] 0::/system.slice/avahi-daemon.service 304 avahi \_ avahi-daemon: chroot helper 0::/system.slice/avahi-daemon.service 302 root /usr/sbin/cron -f 0::/system.slice/cron.service 303 message+ /usr/bin/dbus-daemon --system --address=systemd: --nofork -- 0::/system.slice/dbus.service 311 root /usr/sbin/rsyslogd -n -iNONE 0::/system.slice/rsyslog.service 315 root /lib/systemd/systemd-logind 0::/system.slice/systemd-logind.service 316 root /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant 0::/system.slice/wpa_supplicant.service 346 root /usr/sbin/rngd -r /dev/hwrng 0::/system.slice/rng-tools-debian.service 359 root sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups 0::/system.slice/ssh.service 1639 root \_ sshd: pi [priv] 0::/user.slice/user-1000.slice/session-81.scope 1646 pi \_ sshd: pi@pts/1 0::/user.slice/user-1000.slice/session-81.scope 1647 pi \_ -bash 0::/user.slice/user-1000.slice/session-81.scope 1901 pi \_ ps xawf -eo pid,user,args:60,cgroup 0::/user.slice/user-1000.slice/session-81.scope 365 root wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf 0::/system.slice/dhcpcd.service 370 root /sbin/agetty -o -p -- \u --noclear tty1 linux 0::/system.slice/system-getty.slice/getty@tty1.service 432 root /usr/sbin/dhcpcd -w 0::/system.slice/dhcpcd.service 624 systemd+ /lib/systemd/systemd-timesyncd 0::/system.slice/systemd-timesyncd.service 1164 root /usr/libexec/polkitd --no-debug 0::/system.slice/polkit.service 1392 pi /lib/systemd/systemd --user 0::/user.slice/user-1000.slice/user@1000.service/init.scope 1394 pi \_ (sd-pam) 0::/user.slice/user-1000.slice/user@1000.service/init.scop /lib/systemd/systemd-timesyncd$ ps xawf -eo pid,user,args:60,cgroup |grep sshd 359 root sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups 0::/system.slice/ssh.service 1639 root \_ sshd: pi [priv] 0::/user.slice/user-1000.slice/session-81.scope 1646 pi \_ sshd: pi@pts/1 0::/user.slice/user-1000.slice/session-81.scope 1899 pi \_ grep --color=auto sshd 0::/user.slice/user-1000.slice/session-81.scope \_ grep --color=auto sshd
$ systemctl cat sshd.service |grep ExecExecStartPre=/usr/sbin/sshd -tExecStart=/usr/sbin/sshd -D $SSHD_OPTSExecReload=/usr/sbin/sshd -tExecReload=/bin/kill -HUP $MAINPID
Etat d'un service
$ systemctl is-active bluetoothinactive$ systemctl is-enabled bluetoothenabled$ systemctl is-failed bluetoothinactive
# Dans cet exemple, le service n'est pas un service static$ systemctl is-enabled keyboard-setupenabled# Dans cet autre exemple, le service est static$ systemctl status apt-daily.service |grep staticstatic
# Désactivation d'un service "enabled"$ sudo systemctl disable keyboard-setupRemoved /etc/systemd/system/sysinit.target.wants/keyboard-setup.servicet# Désactivation d'un service "static"$ sudo systemctl mask apt-daily.serviceCreated symlink /etc/systemd/system/apt-daily.service → /dev/null.
# Cas d'un service non static$ systemctl is-enabled keyboard-setupdisabled# Cas d'un service static$ systemctl is-enabled apt-daily.servicemasked
# Cas d'un service non static$ sudo systemctl enable keyboard-setup# Cas d'un service static$ sudo systemctl unmask apt-daily-service
$ ls -l /etc/systemd/system |grep /dev/nulllrwxrwxrwx 1 root root 9 16 nov. 18:45 apt-daily.service -> /dev/nulllrwxrwxrwx 1 root root 9 16 nov. 18:45 apt-daily-upgrade.service -> /dev/nulllrwxrwxrwx 1 root root 9 22 nov. 00:07 fstrim.service -> /dev/nulllrwxrwxrwx 1 root root 9 22 nov. 00:05 man-db.service -> /dev/nulllrwxrwxrwx 1 root root 9 22 nov. 00:02 mlocate.service -> /dev/null
Activate a service immediately:
# systemctl start foo
Deactivate a service immediately:
# systemctl stop foo
Restart a service:
# systemctl restart foo
Show the status of a service including, whether it is running or not:
# systemctl status foo
Enable a service to be started on boot:
# systemctl enable foo
Disable a service to not start during boot:
# systemctl disable foo
Prevent a service from starting dynamically or even manually unless unmasked:
# systemctl mask foo
Check if a service is enabled or not:
# systemctl is-enabled foo
Lister les cibles avec erreur
systemctl --failed
Lister les cibles
systemctl list-units --type target
Une liste complète de ce type de ce type de tâches périodiques peut-être affichée avec
$ systemctl list-timers --allNEXT LEFT LAST PASSED UNIT ACTIVATESMon 2021-11-22 00:00:00 CET 5h 46min left Sun 2021-11-21 15:04:33 CET 3h 9min ago logrotate.timer logrotate.serviceMon 2021-11-22 00:00:00 CET 5h 46min left Sun 2021-11-21 15:04:33 CET 3h 9min ago man-db.timer man-db.serviceMon 2021-11-22 00:00:00 CET 5h 46min left Sun 2021-11-21 15:04:33 CET 3h 9min ago mlocate.timer mlocate.serviceMon 2021-11-22 00:30:07 CET 6h left Mon 2021-11-15 18:26:12 CET 5 days ago fstrim.timer fstrim.serviceMon 2021-11-22 15:19:51 CET 21h left Sun 2021-11-21 15:19:51 CET 2h 53min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.serviceSun 2021-11-28 03:10:57 CET 6 days left Sun 2021-11-21 15:04:59 CET 3h 8min ago e2scrub_all.timer e2scrub_all.servicen/a n/a n/a n/a apt-daily-upgrade.timer apt-daily-upgrade.servicen/a n/a n/a n/a apt-daily.timer apt-daily.service8 timers listed.