summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-02-03 22:23:53 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-02-07 01:00:10 -0500
commit13219b7f74cb2722746b953bbec7593d5cc665e3 (patch)
tree30f4975ea4722d7be4ce3025c6a0f480fa5c4135
parentc78ab91132aab9193f3c17a9a206f8825ff4be84 (diff)
man: describe unit load path in systemd.unit(5)
In other cases where multiple directories are searched for unit files, the list of directories is described in the man page describing the format. I think this makes sense too in case of systemd directories, since the systemd(1) manpage already has an overview of many different topics.
-rw-r--r--Makefile.am2
-rw-r--r--man/systemd.unit.xml.in198
-rw-r--r--man/systemd.xml8
3 files changed, 194 insertions, 14 deletions
diff --git a/Makefile.am b/Makefile.am
index 6e5f5af9ac..d8546b51e3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3345,6 +3345,8 @@ SED_PROCESS = \
-e 's,@SYSTEMCTL\@,$(rootbindir)/systemctl,g' \
-e 's,@SYSTEMD_NOTIFY\@,$(rootbindir)/systemd-notify,g' \
-e 's,@pkgsysconfdir\@,$(pkgsysconfdir),g' \
+ -e 's,@SYSTEM_CONFIG_UNIT_PATH\@,$(pkgsysconfdir)/system,g' \
+ -e 's,@USER_CONFIG_UNIT_PATH\@,$(pkgsysconfdir)/user,g' \
-e 's,@pkgdatadir\@,$(pkgdatadir),g' \
-e 's,@systemunitdir\@,$(systemunitdir),g' \
-e 's,@userunitdir\@,$(userunitdir),g' \
diff --git a/man/systemd.unit.xml.in b/man/systemd.unit.xml.in
index 7c3a6c75f8..43f5ffc1f2 100644
--- a/man/systemd.unit.xml.in
+++ b/man/systemd.unit.xml.in
@@ -48,16 +48,28 @@
</refnamediv>
<refsynopsisdiv>
- <para><filename>systemd.service</filename>,
- <filename>systemd.socket</filename>,
- <filename>systemd.device</filename>,
- <filename>systemd.mount</filename>,
- <filename>systemd.automount</filename>,
- <filename>systemd.swap</filename>,
- <filename>systemd.target</filename>,
- <filename>systemd.path</filename>,
- <filename>systemd.timer</filename>,
- <filename>systemd.snapshot</filename></para>
+ <para><filename><replaceable>service</replaceable>.service</filename>,
+ <filename><replaceable>socket</replaceable>.socket</filename>,
+ <filename><replaceable>device</replaceable>.device</filename>,
+ <filename><replaceable>mount</replaceable>.mount</filename>,
+ <filename><replaceable>automount</replaceable>.automount</filename>,
+ <filename><replaceable>swap</replaceable>.swap</filename>,
+ <filename><replaceable>target</replaceable>.target</filename>,
+ <filename><replaceable>path</replaceable>.path</filename>,
+ <filename><replaceable>timer</replaceable>.timer</filename>,
+ <filename><replaceable>snapshot</replaceable>.snapshot</filename></para>
+
+ <para><literallayout><filename>/etc/systemd/system/*</filename>
+<filename>/run/systemd/system/*</filename>
+<filename>/usr/lib/systemd/system/*</filename>
+<filename>...</filename>
+ </literallayout></para>
+
+ <para><literallayout><filename>/etc/systemd/user/*</filename>
+<filename>/run/systemd/user/*</filename>
+<filename>/usr/lib/systemd/user/*</filename>
+<filename>...</filename>
+ </literallayout></para>
</refsynopsisdiv>
<refsect1>
@@ -66,7 +78,7 @@
<para>A unit configuration file encodes information
about a service, a socket, a device, a mount point, an
automount point, a swap file or partition, a start-up
- target, a file system path or a timer controlled and
+ target, a file system path, or a timer controlled and
supervised by
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>. The
syntax is inspired by <ulink
@@ -84,7 +96,22 @@
sections described here, each unit may have a
type-specific section, e.g. [Service] for a service
unit. See the respective man pages for more
- information.</para>
+ information:
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.snapshot</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para>
+
+ <para>Unit files are loaded from a set of paths
+ determined during compilation, described in the next section.
+ </para>
<para>Unit files may contain additional options on top
of those listed here. If systemd encounters an unknown
@@ -215,6 +242,153 @@
</refsect1>
<refsect1>
+ <title>Unit load path</title>
+
+ <para>Unit files are loaded from a set of paths
+ determined during compilation, described in the two
+ tables below. Unit files found in directories higher
+ in the hierarchy override files with the same name
+ lower in the hierarchy, thus allowing overrides.
+ </para>
+
+ <para>When systemd is running in session mode
+ (<option>--user</option>) and the variable
+ <varname>$SYSTEMD_UNIT_PATH</varname> is set, this
+ contents of this variable overrides the unit load
+ path.
+ </para>
+
+ <table>
+ <title>
+ Load path when running in system mode (<option>--system</option>).
+ </title>
+
+ <tgroup cols='2'>
+ <colspec colname='path' />
+ <colspec colname='expl' />
+ <thead>
+ <row>
+ <entry>Path</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><filename>/run/systemd/generator.early</filename></entry>
+ <entry>Generated units</entry>
+ </row>
+ <row>
+ <entry><filename>@SYSTEM_CONFIG_UNIT_PATH@</filename></entry>
+ <entry morerows='1'>Local configuration</entry>
+ </row>
+ <row>
+ <entry><filename>/etc/systemd/system</filename></entry>
+ </row>
+ <row>
+ <entry><filename>/run/systemd/systemd</filename></entry>
+ <entry>Volatile units</entry>
+ </row>
+ <row>
+ <entry><filename>/run/systemd/generator</filename></entry>
+ <entry>Generated units</entry>
+ </row>
+ <row>
+ <entry><filename>/usr/local/lib/systemd/system</filename></entry>
+ <entry>Units for local packages</entry>
+ </row>
+ <row>
+ <entry><filename>@systemunitdir@</filename></entry>
+ <entry>Systemd package configuration</entry>
+ </row>
+ <row>
+ <entry><filename>/usr/lib/systemd/system</filename></entry>
+ <entry morerows='1'>Units for installed packages</entry>
+ </row>
+ <row>
+ <entry><filename>/lib/systemd/system</filename></entry>
+ </row>
+ <row>
+ <entry><filename>/run/systemd/generator.late</filename></entry>
+ <entry>Generated units</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>
+ Load path when running in session mode (<option>--user</option>).
+ </title>
+
+ <tgroup cols='2'>
+ <colspec colname='path' />
+ <colspec colname='expl' />
+ <thead>
+ <row>
+ <entry>Path</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><filename>/tmp/systemd-generator.early.<replaceable>XXXXXX</replaceable></filename></entry>
+ <entry>Generated units</entry>
+ </row>
+ <row>
+ <entry><filename>@USER_CONFIG_UNIT_PATH@</filename></entry>
+ <entry morerows='1'>Local configuration</entry>
+ </row>
+ <row>
+ <entry><filename>/etc/systemd/user</filename></entry>
+ </row>
+ <row>
+ <entry><filename>/run/systemd/user</filename></entry>
+ <entry>Volatile units</entry>
+ </row>
+ <row>
+ <entry><filename>/tmp/systemd-generator.<replaceable>XXXXXX</replaceable></filename></entry>
+ <entry>Generated units</entry>
+ </row>
+ <row>
+ <entry><filename>/usr/local/lib/systemd/user</filename></entry>
+ <entry morerows='1'>Units for local packages</entry>
+ </row>
+ <row>
+ <entry><filename>/usr/local/share/systemd/user</filename></entry>
+ </row>
+ <row>
+ <entry><filename>@userunitdir@</filename></entry>
+ <entry>Systemd package configuration</entry>
+ </row>
+ <row>
+ <entry><filename>/usr/lib/systemd/user</filename></entry>
+ <entry morerows='1'>Units for installed packages</entry>
+ </row>
+ <row>
+ <entry><filename>/usr/share/systemd/user</filename></entry>
+ </row>
+ <row>
+ <entry><filename>/tmp/systemd-generator.late.<replaceable>XXXXXX</replaceable></filename></entry>
+ <entry>Generated units</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>Note: the paths listed above are set at
+ compilation time and differ between distributions. The
+ "authorative" list is printed by
+ <command>systemd</command> at during start and daemon
+ reconfiguration.</para>
+
+ <para>Additional units might be loaded into systemd
+ ("linked") from directories not on the unit load
+ path. See the <command>link</command> command for
+ <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ </para>
+ </refsect1>
+
+ <refsect1>
<title>Options</title>
<para>Unit file may include a [Unit] section, which
diff --git a/man/systemd.xml b/man/systemd.xml
index bae90a5f09..5380ae8b67 100644
--- a/man/systemd.xml
+++ b/man/systemd.xml
@@ -535,7 +535,9 @@
<command>disable</command> commands of
the
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- tool.</para></listitem>
+ tool. Full list of directories is provided in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para></listitem>
</varlistentry>
</variablelist>
@@ -564,7 +566,9 @@
tool can handle both global (i.e. for
all users) and private (for one user)
enabling/disabling of
- units.</para></listitem>
+ units. Full list of directories is provided in
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para></listitem>
</varlistentry>
</variablelist>