On 05/25/2016 03:22 PM, Lennart Poettering wrote:

On Wed, 25.05.16 10:05, Jóhann B. Guðmundsson (johan...@gmail.com) wrote:

<snip>

You will always risk ending up with a race condition if you place your type
units outside the official directories.

/etc/systemd/system/*  ( Administrators )
/run/systemd/system/* ( Temporary )
/usr/lib/systemd/system/* ( Vendors )

Arguably the support running/loading type unit files outside the above
directories should be altogether removed or at least a warning issues since
this is bound to create administrative mess ( as was apparent when vendor
did something like that with legacy sys v init ).
I don#t really agree I must say.

It's classic ( sys v ) init brokenness in which vendors placed their stuff in opt ( or elsewhere ) which more often than not was a) on separated partition b) on separated sub-volume c) on a network drive ( nfs and the likes ) then symbolic linked ( through install script ( which usually do more harm than good since such scripts assumptions are way off with the environment and infrastructure policy's ) to one of the classic init.d directories which led to the exactly same racy condition ( if legacy sysv initscript and or type units depend on something else ) and brokenness as he's experiencing here.

What's the use case for placing type unit files outside those directories and supporting following symlinks to them?

Why dont you always want to require type unit files to be placed in those directories to prevent things like he's experiencing and I mentioned above from happening?

JBG
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to