Systemd/units
Lennart Poettering d1f6e01e47 homed: explicitly deactivate all home directories on shutdown
Let's explicitly deactivate all home dirs on shutdown, in order to
properly synchronizing unmounting and avoiding blocking devices.

Previously, we'd rely on automatic deactivation when home directories
become unused. However, that scheme is asynchronous, and ongoing
deactviations might conflicts with attempts to unmount /home. Let's fix
that by providing an explicit service systemd-homed-activate.service
whose only job is to have a ExecStop= line that explicitly deactivates
all home directories on shutdown. This service can the be ordered after
home.mount and similar, ensuring that we'll first deactivate all homes
before deactivating /home itself during shutdown.

This is kept separate from systemd-homed.service so that it is possible
to restart systemd-homed.service without deactivating all home
directories.

Fixes: #16842
2020-09-30 14:37:52 +02:00
..
user xdg-autostart-generator: Add a generator for XDG autostart files 2020-05-27 09:02:10 +02:00
user-.slice.d units: set StopWhenUnneeded= for the user slice units too 2018-10-13 12:59:29 +02:00
basic.target
blockdev@.target units: introduce blockdev@.target for properly ordering mounts/swaps against cryptsetup 2020-01-21 20:23:13 +01:00
bluetooth.target
boot-complete.target units: add generic boot-complete.target 2018-10-19 22:34:50 +02:00
console-getty.service.m4 units: remove KillMode=process in our regular gettys 2020-05-26 23:52:09 +02:00
container-getty@.service.m4 units: remove KillMode=process in our regular gettys 2020-05-26 23:52:09 +02:00
cryptsetup-pre.target
cryptsetup.target
debug-shell.service.in units: drop reference to sushell man page 2019-04-29 17:06:52 +02:00
dev-hugepages.mount
dev-mqueue.mount units: set nodev,nosuid,noexec flags for various secondary API VFS 2019-03-25 19:39:00 +01:00
emergency.service.in units: use correct path to refer to plymouth 2020-04-16 16:33:01 +02:00
emergency.target
exit.target
final.target
getty-pre.target
getty.target
getty@.service.m4 units: remove KillMode=process in our regular gettys 2020-05-26 23:52:09 +02:00
graphical.target
halt.target
hibernate.target
hybrid-sleep.target
initrd-cleanup.service units: upgrade initrd check Conditions to Asserts 2020-07-29 16:32:03 +02:00
initrd-fs.target units: upgrade initrd check Conditions to Asserts 2020-07-29 16:32:03 +02:00
initrd-parse-etc.service units: upgrade initrd check Conditions to Asserts 2020-07-29 16:32:03 +02:00
initrd-root-device.target units: upgrade initrd check Conditions to Asserts 2020-07-29 16:32:03 +02:00
initrd-root-fs.target units: upgrade initrd check Conditions to Asserts 2020-07-29 16:32:03 +02:00
initrd-switch-root.service units: upgrade initrd check Conditions to Asserts 2020-07-29 16:32:03 +02:00
initrd-switch-root.target units: downgrade Requires= to Wants= 2020-07-29 16:32:45 +02:00
initrd-udevadm-cleanup-db.service units: upgrade initrd check Conditions to Asserts 2020-07-29 16:32:03 +02:00
initrd.target units: upgrade initrd check Conditions to Asserts 2020-07-29 16:32:03 +02:00
kexec.target
kmod-static-nodes.service.in Rename tmpfiles.d/kmod.conf to static-nodes.conf 2019-08-19 11:05:58 +02:00
ldconfig.service
local-fs-pre.target Revert "cryptsetup: umount encrypted devices before detaching it during shutdown" 2019-12-19 10:42:14 +01:00
local-fs.target Revert "units: drop OnFailure= from .target units" 2020-07-22 17:58:12 +02:00
machine.slice
machines.target
meson-add-wants.sh scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
meson.build homed: explicitly deactivate all home directories on shutdown 2020-09-30 14:37:52 +02:00
modprobe@.service units: skip modprobe@.service if the unit appears to be already loaded 2020-03-05 18:43:50 +00:00
multi-user.target
network-online.target
network-pre.target
network.target
nss-lookup.target
nss-user-lookup.target
paths.target
poweroff.target
printer.target
proc-sys-fs-binfmt_misc.automount
proc-sys-fs-binfmt_misc.mount units: make systemd-binfmt.service easier to work with no autofs 2019-09-25 23:44:01 +09:00
quotaon.service.in
rc-local.service.in meson: RC_LOCAL_SCRIPT_PATH_START to RC_LOCAL_PATH 2020-09-15 17:44:26 +02:00
reboot.target
remote-cryptsetup.target
remote-fs-pre.target Revert "cryptsetup: umount encrypted devices before detaching it during shutdown" 2019-12-19 10:42:14 +01:00
remote-fs.target
rescue.service.in units: use correct path to refer to plymouth 2020-04-16 16:33:01 +02:00
rescue.target
rpcbind.target
serial-getty@.service.m4 units: remove KillMode=process in our regular gettys 2020-05-26 23:52:09 +02:00
shutdown.target
sigpwr.target
sleep.target
slices.target
smartcard.target
sockets.target
sound.target
suspend-then-hibernate.target Fix description on suspend-then-hibernate units. 2018-03-28 15:26:18 -05:00
suspend.target
swap.target
sys-fs-fuse-connections.mount units: set nodev,nosuid,noexec flags for various secondary API VFS 2019-03-25 19:39:00 +01:00
sys-kernel-config.mount units: set nodev,nosuid,noexec flags for various secondary API VFS 2019-03-25 19:39:00 +01:00
sys-kernel-debug.mount units: set nodev,nosuid,noexec flags for various secondary API VFS 2019-03-25 19:39:00 +01:00
sys-kernel-tracing.mount units: Don't mount tracefs in LXC 2020-03-23 08:34:48 +01:00
sysinit.target
syslog.socket
system-systemd\x2dcryptsetup.slice crypsetup: introduce x-initrd.attach option 2019-12-05 11:43:02 +01:00
system-update-cleanup.service service: tweak capitalization of unit description 2019-05-24 10:48:28 +02:00
system-update-pre.target units: make system-update-pre.target a passive unit (#9349) 2018-06-20 12:46:18 +02:00
system-update.target units: fix typo in After= 2018-06-20 18:14:43 +02:00
systemd-ask-password-console.path emergency: make sure console password agents don't interfere with the emergency shell 2018-09-26 18:13:32 +02:00
systemd-ask-password-console.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-ask-password-wall.path emergency: make sure console password agents don't interfere with the emergency shell 2018-09-26 18:13:32 +02:00
systemd-ask-password-wall.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-backlight@.service.in units: drop systemd-remount-fs.service dependency from more services 2020-04-08 16:29:41 +02:00
systemd-binfmt.service.in binfmt: also unregister binfmt entries from unit 2020-04-23 17:14:45 +02:00
systemd-bless-boot.service.in add new systemd-bless-boot.service that marks boots as successful 2018-10-19 22:34:50 +02:00
systemd-boot-check-no-failures.service.in units: add simple boot check unit 2018-10-19 22:34:50 +02:00
systemd-boot-system-token.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-coredump.socket
systemd-coredump@.service.in units: drop systemd-remount-fs.service dependency from more services 2020-04-08 16:29:41 +02:00
systemd-exit.service units: fix Description= of systemd-exit.service 2018-11-16 12:25:35 +01:00
systemd-firstboot.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-fsck-root.service.in units: make fsck/grows/makefs/makeswap units conflict against shutdown.target 2018-11-26 22:18:16 +01:00
systemd-fsck@.service.in units: make fsck/grows/makefs/makeswap units conflict against shutdown.target 2018-11-26 22:18:16 +01:00
systemd-halt.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-hibernate-resume@.service.in units: upgrade initrd check Conditions to Asserts 2020-07-29 16:32:03 +02:00
systemd-hibernate.service.in
systemd-homed-activate.service homed: explicitly deactivate all home directories on shutdown 2020-09-30 14:37:52 +02:00
systemd-homed.service.in homed: explicitly deactivate all home directories on shutdown 2020-09-30 14:37:52 +02:00
systemd-hostnamed.service.in man,units: link to the new dbus-api man pages 2020-09-30 10:30:03 +02:00
systemd-hwdb-update.service.in units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-hybrid-sleep.service.in
systemd-importd.service.in man,units: link to the new dbus-api man pages 2020-09-30 10:30:03 +02:00
systemd-initctl.service.in units: set NoNewPrivileges= for all long-running services 2018-11-12 19:02:55 +01:00
systemd-initctl.socket units: initctl: move the fifo to /run/initctl to match sysvinit 2018-03-30 16:52:14 -04:00
systemd-journal-catalog-update.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-journal-flush.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-journal-gatewayd.service.in units: turn on ProtectProc= wherever suitable 2020-08-24 20:11:14 +02:00
systemd-journal-gatewayd.socket
systemd-journal-remote.service.in units: turn on ProtectProc= wherever suitable 2020-08-24 20:11:14 +02:00
systemd-journal-remote.socket
systemd-journal-upload.service.in units: turn on ProtectProc= wherever suitable 2020-08-24 20:11:14 +02:00
systemd-journald-audit.socket
systemd-journald-dev-log.socket
systemd-journald-varlink@.socket journald: add ability to activate by varlink socket 2020-01-31 15:03:55 +01:00
systemd-journald.service.in units: add ProtectClock=yes 2020-04-07 15:37:14 +02:00
systemd-journald.socket
systemd-journald@.service.in journald: add ability to activate by varlink socket 2020-01-31 15:03:55 +01:00
systemd-journald@.socket units: add unit files for instantiated journal daemons 2020-01-31 15:01:30 +01:00
systemd-kexec.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-localed.service.in man,units: link to the new dbus-api man pages 2020-09-30 10:30:03 +02:00
systemd-logind.service.in man,units: link to the new dbus-api man pages 2020-09-30 10:30:03 +02:00
systemd-machine-id-commit.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-machined.service.in man,units: link to the new dbus-api man pages 2020-09-30 10:30:03 +02:00
systemd-modules-load.service.in
systemd-network-generator.service.in systemd-network-generator.service: network-pre.target is a passive target unit 2020-03-27 18:30:57 +01:00
systemd-networkd-wait-online.service.in
systemd-networkd.service.in unit: declare BusName= in all our units that are on the bus, event if they don't use Type=dbus 2020-09-11 16:01:22 +02:00
systemd-networkd.socket networkd: clean up NETLINK_PKTINFO vs. SO_PASSCRED confusion 2020-05-27 22:40:56 +02:00
systemd-nspawn@.service.in RequireMountsFor in systemd-nspawn should wait for machine mount 2020-03-02 19:37:51 +09:00
systemd-portabled.service.in units: set ProtectKernelLogs=yes on relevant units 2019-11-15 00:59:54 -08:00
systemd-poweroff.service units: use SuccessAction=poweroff-force in systemd-poweroff.service 2018-10-17 19:31:50 +02:00
systemd-pstore.service.in units: make sure systemd-pstore stops at shutdown 2020-04-08 16:29:58 +02:00
systemd-quotacheck.service.in
systemd-random-seed.service.in tree-wide: s/time-out/timeout/g 2020-05-26 10:28:59 +02:00
systemd-reboot.service units: use SuccessAction=reboot-force in systemd-reboot.service 2018-10-17 19:31:50 +02:00
systemd-remount-fs.service.in Pull in systemd-remount-fs.service only when required 2019-01-03 15:30:28 +01:00
systemd-repart.service.in units: run systemd-repart only if there's configuration for it 2020-04-02 17:07:48 +02:00
systemd-resolved.service.in man,units: link to the new dbus-api man pages 2020-09-30 10:30:03 +02:00
systemd-rfkill.service.in units: drop systemd-remount-fs.service dependency from more services 2020-04-08 16:29:41 +02:00
systemd-rfkill.socket units: order systemd-rfkill.socket after /var/lib/systemd/rfkill (#10904) 2018-11-24 23:59:37 +09:00
systemd-suspend-then-hibernate.service.in Fix description on suspend-then-hibernate units. 2018-03-28 15:26:18 -05:00
systemd-suspend.service.in
systemd-sysctl.service.in
systemd-sysusers.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-time-wait-sync.service.in units: document why systemd-time-wait-sync.service conditions on CAP_SYS_TIME (#8555) 2018-03-22 23:41:54 +03:00
systemd-timedated.service.in man,units: link to the new dbus-api man pages 2020-09-30 10:30:03 +02:00
systemd-timesyncd.service.in unit: declare BusName= in all our units that are on the bus, event if they don't use Type=dbus 2020-09-11 16:01:22 +02:00
systemd-tmpfiles-clean.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-tmpfiles-clean.timer
systemd-tmpfiles-setup-dev.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-tmpfiles-setup.service units: drop full paths for utilities in $PATH 2020-01-20 16:50:16 +01:00
systemd-udev-settle.service units: tweak udev unit descriptions 2020-06-08 16:53:37 +02:00
systemd-udev-trigger.service units: tweak udev unit descriptions 2020-06-08 16:53:37 +02:00
systemd-udevd-control.socket
systemd-udevd-kernel.socket
systemd-udevd.service.in units: uppercase the description 2020-06-02 14:14:20 +02:00
systemd-update-done.service.in
systemd-update-utmp-runlevel.service.in
systemd-update-utmp.service.in
systemd-user-sessions.service.in units: order systemd-user-sessions.service after home.mount 2020-08-07 10:02:05 +02:00
systemd-userdbd.service.in units: turn on ProtectProc= wherever suitable 2020-08-24 20:11:14 +02:00
systemd-userdbd.socket units: make systemd-userdbd.{socket,service} installable 2020-03-31 14:55:16 +02:00
systemd-vconsole-setup.service.in units: restore RemainAfterExit=yes in systemd-vconsole-setup.service 2020-03-05 08:13:49 +01:00
systemd-volatile-root.service.in units: order volatile-root after repart 2020-08-11 09:12:56 +02:00
time-set.target units: add time-set.target 2019-04-08 14:34:05 +02:00
time-sync.target units: add time-set.target 2019-04-08 14:34:05 +02:00
timers.target
tmp.mount Bump /tmp size back to 50% of RAM 2020-07-29 11:07:04 +02:00
umount.target
usb-gadget.target units: add usb-gadget target 2019-02-15 18:16:27 +01:00
user-runtime-dir@.service.in units: use =yes rather than =true everywhere 2018-10-13 12:59:29 +02:00
user.slice
user@.service.in units: do not ignore return value from systemd --user 2020-03-05 04:49:37 +09:00
var-lib-machines.mount import: drop logic of setting up /var/lib/machines as btrfs loopback mount 2018-11-26 18:09:01 +01:00