[systemd-devel] [PATCH 2/2] units: add RequiresMountsFor=/usr/… to various systemd service files

Jon Severinsson jon at severinsson.net
Tue Jul 22 05:45:11 PDT 2014


At Tuesday 22 July 2014 13:01:24 Lennart Poettering wrote:
> I am totally not convinced this would be a good idea. You cannot fix
> this anyway... Think about udevd: if you start it without /usr is
> around, then it won't find the rules files below /usr. So by your logic
> you'd add a RequiresMountsFor=/usr to udev's service file. But that
> would totally break things, as the backing device for /usr will not
> become available without udev.

The difference being that systemd units and udev rules goes to $(rootlibdir) by 
default, but these goes to $(libdir) by default.

Also, systemd units and udev rules might be required to mount local file 
systems, these are not.

> systemd currently doesn't totally fail if /usr is found to be empty when
> it initializes, but it will set a "taint" flag, since that really is an
> unsupported setup.

I'm well aware that a separate /usr not mounted in the initrd is an 
unsupported setup, but a separate /usr/local *is* supposed to work, and making 
a separate /usr slightly less broken when it comes at virtually no extra cost 
(on top of getting a separate /usr/local working) is imho a good thing.

/ Jon


More information about the systemd-devel mailing list