socket: add new Symlinks= option for socket units

With Symlinks= we can manage one or more symlinks to AF_UNIX or FIFO
nodes in the file system, with the same lifecycle as the socket itself.

This has two benefits: first, this allows us to remove /dev/log and
/dev/initctl from /dev, thus leaving only symlinks, device nodes and
directories in the /dev tree. More importantly however, this allows us
to move /dev/log out of /dev, while still making it accessible there, so
that PrivateDevices= can provide /dev/log too.
This commit is contained in:
Lennart Poettering
2014-06-04 16:21:17 +02:00
parent e9fc29f4ec
commit 811ba7a0e2
7 changed files with 160 additions and 16 deletions
+26 -8
View File
@@ -738,17 +738,35 @@
removed when it is stopped. This
applies to AF_UNIX sockets in the file
system, POSIX message queues as well
as FIFOs. Normally it should not be
necessary to use this option, and is
not recommended as services might
continue to run after the socket unit
has been terminated and it should
still be possible to communicate with
them via their file system
node. Defaults to
as FIFOs, as well as any symlinks to
them configured with
<varname>Symlinks=</varname>. Normally
it should not be necessary to use this
option, and is not recommended as
services might continue to run after
the socket unit has been terminated
and it should still be possible to
communicate with them via their file
system node. Defaults to
off.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>Symlinks=</varname></term>
<listitem><para>Takes a list of file
system paths. The specified paths will
be created as symlinks to the AF_UNIX
socket path or FIFO path of this
socket unit. If this setting is used
only one AF_UNIX socket in the file
system or one FIFO may be configured
for the socket unit. Use this option
to manage one or more symlinked alias
names for a socket, binding their
lifecycle together. Defaults to the
empty list.</para></listitem>
</varlistentry>
</variablelist>
<para>Check