On Di, 14.05.19 09:23, Ulrich Windl (Ulrich.Windl@xxxxxxxxxxxxxxxxxxxx) wrote: > > /var/run needs /var which is not guaranteed to be there when you need > > it which complicates things. > > Thanks, > > I'll start a new thread on this (I wanted to ask anyway): > AFAIK systemd does socket communication a lot, while old init was > happy with just a root filesystem. sysvinit communicated via a fifo in the file system. This isn't too different, except maybe it's one way and single-connection while sockets are duplex and can have parallel connections generally. > So I wonder how this Hen-Egg_Problem is solved: Systemd needs a > socket to operate, but to provide the infrastructure, systemd would > need the socket do do so. Or expressed in other words: How can > systemd create /run when it needs /run to operate? systemd mounts /run early on if its not mounted yet, becore creating any sockets in it. > The corresponding question would be for shutdown: How will systemd > unmount /run? OK, if ist a ramdisk, it's not really needed. It closes all sockets, then unmounts it. /run has to be a tmpfs, so yes, it's backed by pageable memory. > Another related question is that of shutdown in general: > > For startup the semantics of Before= and After= are clear, but isn't > it just reverted for shutdown? That is if "M" has "After=X" and > "Before=Y", does that imply that Y is stopped before M will be > stzopped, and M will be stopped before X is? Yes, the order between two ordered units is reversed if both are stopped. THat's how that is implemented. Lennart -- Lennart Poettering, Berlin _______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel