X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.unit.xml;h=e9031567d2880b32a64c29f43d64fbf7d4dcaafb;hb=dc1d6c02fcf55bb7dac918d0ed3bd3e2a3d67525;hp=54d5590c81994c49f8037a6f4967c4ca6d806f9d;hpb=494a66821815e8109afa136bd42818b85da38c09;p=elogind.git
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index 54d5590c8..e9031567d 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -70,7 +70,8 @@
...
- $HOME/.config/systemd/user/*
+ $XDG_CONFIG_HOME/systemd/user/*
+$HOME/.config/systemd/user/*/etc/systemd/user/*/run/systemd/user/*/usr/lib/systemd/user/*
@@ -138,10 +139,12 @@
Unit files may contain additional options on top
of those listed here. If systemd encounters an unknown
option, it will write a warning log message but
- continue loading the unit. If an option is prefixed
- with , it is ignored completely by
- systemd. Applications may use this to include
- additional information in the unit files.
+ continue loading the unit. If an option or section name
+ is prefixed with , it is ignored
+ completely by systemd. Options within an ignored
+ section do not need the prefix. Applications may use
+ this to include additional information in the unit
+ files.Boolean arguments used in unit files can be
written in various formats. For positive settings the
@@ -200,12 +203,6 @@
has the appropriate section headers before any
directive.
- If a line starts with
- followed by a filename, the specified file will be
- parsed at this point. Make sure that the file that is
- included has the appropriate section headers before
- any directives.
-
Note that while systemd offers a flexible
dependency system between units it is recommended to
use this functionality only sparingly and instead rely
@@ -232,7 +229,7 @@
multiple units from a single configuration file. If
systemd looks for a unit configuration file, it will
first search for the literal unit name in the
- filesystem. If that yields no success and the unit
+ file system. If that yields no success and the unit
name contains an @ character, systemd will look for a
unit template that shares the same name but with the
instance string (i.e. the part between the @ character
@@ -325,9 +322,13 @@
+
+ $XDG_CONFIG_HOME/systemd/user
+ User configuration (only used when $XDG_CONFIG_HOME is set)
+ $HOME/.config/systemd/user
- User configuration
+ User configuration (only used when $XDG_CONFIG_HOME is not set)/etc/systemd/user
@@ -356,7 +357,7 @@
- Options
+ [Unit] Section OptionsUnit file may include a [Unit] section, which
carries generic information about the unit that is not
@@ -403,7 +404,7 @@
what the unit's purpose is, followed
by how it is configured, followed by
any other related documentation. This
- option may be specified more than once
+ option may be specified more than once,
in which case the specified list of
URIs is merged. If the empty string is
assigned to this option, the list is
@@ -492,7 +493,7 @@
Requires= and
RequiresOverridable=,
respectively. However, if the units
- listed here are not started already
+ listed here are not started already,
they will not be started and the
transaction will fail immediately.
@@ -506,7 +507,7 @@
listed in this option will be started
if the configuring unit is. However,
if the listed units fail to start
- or cannot be added to the transaction
+ or cannot be added to the transaction,
this has no impact on the validity of
the transaction as a whole. This is
the recommended way to hook start-up
@@ -519,7 +520,7 @@
symlinks to a
.wants/ directory
accompanying the unit file. For
- details see above.
+ details, see above.
@@ -528,7 +529,7 @@
Configures requirement
dependencies, very similar in style to
Requires=, however
- in addition to this behavior it also
+ in addition to this behavior, it also
declares that this unit is stopped
when any of the units listed suddenly
disappears. Units can suddenly,
@@ -548,7 +549,7 @@
of units. When systemd stops or restarts
the units listed here, the action is
propagated to this unit.
- Note that this is a one way dependency â
+ Note that this is a one-way dependency â
changes to this unit do not affect the
listed units.
@@ -577,9 +578,9 @@
be modified to be fixed (in case one
or both jobs are not a required part
of the transaction). In the latter
- case the job that is not the required
+ case, the job that is not the required
will be removed, or in case both are
- not required the unit that conflicts
+ not required, the unit that conflicts
will be started and the unit that is
conflicted is
stopped.
@@ -606,7 +607,7 @@
a common pattern to include a unit
name in both the
After= and
- Requires= option in
+ Requires= option, in
which case the unit listed will be
started before the unit that is
configured with these options. This
@@ -686,13 +687,13 @@
directives (see
systemd.exec5
for details). If a unit that has this
- setting set is started its processes
+ setting set is started, its processes
will see the same
/tmp,
/tmp/var and
network namespace as one listed unit
that is started. If multiple listed
- units are already started it is not
+ units are already started, it is not
defined which namespace is
joined. Note that this setting only
has an effect if
@@ -706,13 +707,26 @@
RequiresMountsFor=
- Takes a space-separated
- list of absolute paths. Automatically
- adds dependencies of type
- Requires= and
- After= for all
+ Takes a
+ space-separated list of absolute
+ paths. Automatically adds dependencies
+ of type Requires=
+ and After= for all
mount units required to access the
- specified path.
+ specified path.
+
+ Mount points marked with
+ are not
+ mounted automatically and will be
+ ignored for the purposes of this
+ option. If such a mount should be a
+ requirement for this unit,
+ direct dependencies on the mount
+ units may be added
+ (Requires= and
+ After= or
+ some other combination).
+
@@ -879,6 +893,13 @@
+ ConditionArchitecture=
+ ConditionVirtualization=
+ ConditionHost=
+ ConditionKernelCommandLine=
+ ConditionSecurity=
+ ConditionCapability=
+ ConditionACPower=ConditionPathExists=ConditionPathExistsGlob=ConditionPathIsDirectory=
@@ -888,12 +909,6 @@
ConditionDirectoryNotEmpty=ConditionFileNotEmpty=ConditionFileIsExecutable=
- ConditionKernelCommandLine=
- ConditionVirtualization=
- ConditionSecurity=
- ConditionCapability=
- ConditionHost=
- ConditionACPower=ConditionNull=Before starting a unit
@@ -908,93 +923,46 @@
queued start job is to be
executed.
- With
- ConditionPathExists=
- a file existence condition is
- checked before a unit is started. If
- the specified absolute path name does
- not exist, the condition will
- fail. If the absolute path name passed
- to
- ConditionPathExists=
- is prefixed with an exclamation mark
- (!), the test is negated, and the unit
- is only started if the path does not
- exist.
-
- ConditionPathExistsGlob=
- is similar to
- ConditionPathExists=,
- but checks for the existence of at
- least one file or directory matching
- the specified globbing pattern.
-
- ConditionPathIsDirectory=
- is similar to
- ConditionPathExists=
- but verifies whether a certain path
- exists and is a
- directory.
-
- ConditionPathIsSymbolicLink=
- is similar to
- ConditionPathExists=
- but verifies whether a certain path
- exists and is a symbolic
- link.
-
- ConditionPathIsMountPoint=
- is similar to
- ConditionPathExists=
- but verifies whether a certain path
- exists and is a mount
- point.
-
- ConditionPathIsReadWrite=
- is similar to
- ConditionPathExists=
- but verifies whether the underlying
- file system is readable and writable
- (i.e. not mounted
- read-only).
-
- ConditionDirectoryNotEmpty=
- is similar to
- ConditionPathExists=
- but verifies whether a certain path
- exists and is a non-empty
- directory.
-
- ConditionFileNotEmpty=
- is similar to
- ConditionPathExists=
- but verifies whether a certain path
- exists and refers to a regular file
- with a non-zero size.
-
- ConditionFileIsExecutable=
- is similar to
- ConditionPathExists=
- but verifies whether a certain path
- exists, is a regular file and marked
- executable.
-
- Similarly,
- ConditionKernelCommandLine=
- may be used to check whether a
- specific kernel command line option is
- set (or if prefixed with the
- exclamation mark unset). The argument
- must either be a single word, or an
- assignment (i.e. two words, separated
- =). In the former
- case the kernel command line is
- searched for the word appearing as is,
- or as left hand side of an
- assignment. In the latter case the
- exact assignment is looked for with
- right and left hand side
- matching.
+ ConditionArchitecture=
+ may be used to check whether the
+ system is running on a specific
+ architecture. Takes one of
+ x86,
+ x86-64,
+ ppc,
+ ppc64,
+ ia64,
+ parisc,
+ parisc64,
+ s390,
+ s390x,
+ sparc,
+ sparc64,
+ mips,
+ mips64,
+ alpha,
+ arm,
+ arm-be,
+ arm64,
+ arm64-be,
+ sh,
+ sh64,
+ m86k to test
+ against a specific architecture. The
+ architecture is determined from the
+ information returned by
+ uname2
+ and is thus subject to
+ personality2. Note
+ that a Personality=
+ setting in the same unit file has no
+ effect on this condition. A special
+ architecture name
+ native is mapped to
+ the architecture the system manager
+ itself is compiled for. The test may
+ be negated by prepending an
+ exclamation mark.ConditionVirtualization=
may be used to check whether the
@@ -1028,6 +996,36 @@
test may be negated by prepending an
exclamation mark.
+ ConditionHost=
+ may be used to match against the
+ hostname or machine ID of the
+ host. This either takes a hostname
+ string (optionally with shell style
+ globs) which is tested against the
+ locally set hostname as returned by
+ gethostname2,
+ or a machine ID formatted as string
+ (see
+ machine-id5).
+ The test may be negated by prepending
+ an exclamation mark.
+
+ ConditionKernelCommandLine=
+ may be used to check whether a
+ specific kernel command line option is
+ set (or if prefixed with the
+ exclamation mark unset). The argument
+ must either be a single word, or an
+ assignment (i.e. two words, separated
+ =). In the former
+ case the kernel command line is
+ searched for the word appearing as is,
+ or as left hand side of an
+ assignment. In the latter case, the
+ exact assignment is looked for with
+ right and left hand side
+ matching.
+
ConditionSecurity=
may be used to check whether the given
security module is enabled on the
@@ -1053,20 +1051,6 @@
possibly prefixed with an exclamation
mark to negate the check.
- ConditionHost=
- may be used to match against the
- hostname or machine ID of the
- host. This either takes a hostname
- string (optionally with shell style
- globs) which is tested against the
- locally set hostname as returned by
- gethostname2,
- or a machine ID formatted as string
- (see
- machine-id5).
- The test may be negated by prepending
- an exclamation mark.
-
ConditionACPower=
may be used to check whether the
system has AC power, or is exclusively
@@ -1084,6 +1068,77 @@
all AC connectors are disconnected
from a power source.
+ With
+ ConditionPathExists=
+ a file existence condition is
+ checked before a unit is started. If
+ the specified absolute path name does
+ not exist, the condition will
+ fail. If the absolute path name passed
+ to
+ ConditionPathExists=
+ is prefixed with an exclamation mark
+ (!), the test is negated, and the unit
+ is only started if the path does not
+ exist.
+
+ ConditionPathExistsGlob=
+ is similar to
+ ConditionPathExists=,
+ but checks for the existence of at
+ least one file or directory matching
+ the specified globbing pattern.
+
+ ConditionPathIsDirectory=
+ is similar to
+ ConditionPathExists=
+ but verifies whether a certain path
+ exists and is a
+ directory.
+
+ ConditionPathIsSymbolicLink=
+ is similar to
+ ConditionPathExists=
+ but verifies whether a certain path
+ exists and is a symbolic
+ link.
+
+ ConditionPathIsMountPoint=
+ is similar to
+ ConditionPathExists=
+ but verifies whether a certain path
+ exists and is a mount
+ point.
+
+ ConditionPathIsReadWrite=
+ is similar to
+ ConditionPathExists=
+ but verifies whether the underlying
+ file system is readable and writable
+ (i.e. not mounted
+ read-only).
+
+ ConditionDirectoryNotEmpty=
+ is similar to
+ ConditionPathExists=
+ but verifies whether a certain path
+ exists and is a non-empty
+ directory.
+
+ ConditionFileNotEmpty=
+ is similar to
+ ConditionPathExists=
+ but verifies whether a certain path
+ exists and refers to a regular file
+ with a non-zero size.
+
+ ConditionFileIsExecutable=
+ is similar to
+ ConditionPathExists=
+ but verifies whether a certain path
+ exists, is a regular file and marked
+ executable.
+
Finally,
ConditionNull= may
be used to add a constant condition
@@ -1132,6 +1187,11 @@
+
+
+
+ [Install] Section Options
+
Unit file may include a [Install] section, which
carries installation information for the unit. This
section is not interpreted by
@@ -1270,7 +1330,7 @@
%pPrefix name
- For instantiated units this refers to the string before the @ character of the unit name. For non-instantiated units this refers to the name of the unit with the type suffix removed.
+ For instantiated units, this refers to the string before the @ character of the unit name. For non-instantiated units, this refers to the name of the unit with the type suffix removed.%P
@@ -1325,12 +1385,12 @@
%hUser home directory
- This is the home directory of the configured user of the unit, or (if none is set) the user running the systemd user instance. Similar to %U this specifier is not available for units run by the systemd system instance, unless the configured user is the root user.
+ This is the home directory of the configured user of the unit, or (if none is set) the user running the systemd user instance. Similar to %U, this specifier is not available for units run by the systemd system instance, unless the configured user is the root user.%sUser shell
- This is the shell of the configured user of the unit, or (if none is set) the user running the systemd user instance. Similar to %U this specifier is not available for units run by the systemd system instance, unless the configured user is the root user.
+ This is the shell of the configured user of the unit, or (if none is set) the user running the systemd user instance. Similar to %U, this specifier is not available for units run by the systemd system instance, unless the configured user is the root user.%m