X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.unit.xml;h=67d46eda983efd931f194d73fd1ec62d4350e142;hb=3144ebcad37422dd85220915d37e7e9eea36564a;hp=02445703617bbf962ed29d4e26e7510597ee8cda;hpb=b040723ea412209e0edf54647fa5aa4287411507;p=elogind.git
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index 024457036..67d46eda9 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -70,9 +70,12 @@
...
- $HOME/.config/systemd/user/*
+ $XDG_CONFIG_HOME/systemd/user/*
+$HOME/.config/systemd/user/*/etc/systemd/user/*/run/systemd/user/*
+$XDG_DATA_HOME/systemd/user/*
+$HOME/.local/share/systemd/user/*/usr/lib/systemd/user/*...
@@ -138,10 +141,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
@@ -198,13 +203,12 @@
settings to a unit, without having to modify their
unit files. Make sure that the file that is included
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.
+ directive. Note that for instanced units this logic
+ will first look for the instance
+ .d/ subdirectory and read its
+ .conf files, followed by the
+ template .d/ subdirectory and reads
+ its .conf files.
Note that while systemd offers a flexible
dependency system between units it is recommended to
@@ -222,7 +226,7 @@
result is usable as part of a filename. Basically,
given a path, "/" is replaced by "-", and all
unprintable characters and the "-" are replaced by
- C-style "\x20" escapes. The root directory "/" is
+ C-style "\x2d" escapes. The root directory "/" is
encoded as single dash, while otherwise the initial
and ending "/" is removed from all paths during
transformation. This escaping is reversible.
@@ -232,7 +236,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
@@ -276,8 +280,10 @@
() and the variable
$SYSTEMD_UNIT_PATH is set, this
contents of this variable overrides the unit load
- path.
-
+ path. If $SYSTEMD_UNIT_PATH ends
+ with an empty component (:), the
+ usual unit load path will be appended to the contents
+ of the variable.
@@ -325,9 +331,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
@@ -337,9 +347,17 @@
/run/systemd/userRuntime units
+
+ $XDG_DATA_HOME/systemd/user
+ Units of packages that have been installed in the home directory (only used when $XDG_DATA_HOME is set)
+
+
+ $HOME/.local/share/systemd/user
+ Units of packages that have been installed in the home directory (only used when $XDG_DATA_HOME is not set)
+ /usr/lib/systemd/user
- Units of installed packages
+ Units of packages that have been installed system-wide
@@ -356,7 +374,7 @@
- Options
+ [Unit] Section OptionsUnit file may include a [Unit] section, which
carries generic information about the unit that is not
@@ -395,7 +413,7 @@
man:. For more
information about the syntax of these
URIs, see
- uri7. The
+ uri7. The
URIs should be listed in order of
relevance, starting with the most
relevant. It is a good idea to first
@@ -548,7 +566,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.
@@ -706,13 +724,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 +910,15 @@
+ ConditionArchitecture=
+ ConditionVirtualization=
+ ConditionHost=
+ ConditionKernelCommandLine=
+ ConditionSecurity=
+ ConditionCapability=
+ ConditionACPower=
+ ConditionNeedsUpdate=
+ ConditionFirstBoot=ConditionPathExists=ConditionPathExistsGlob=ConditionPathIsDirectory=
@@ -888,12 +928,6 @@
ConditionDirectoryNotEmpty=ConditionFileNotEmpty=ConditionFileIsExecutable=
- ConditionKernelCommandLine=
- ConditionVirtualization=
- ConditionSecurity=
- ConditionCapability=
- ConditionHost=
- ConditionACPower=ConditionNull=Before starting a unit
@@ -908,93 +942,52 @@
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,
+ ppc-le,
+ ppc64,
+ ppc64-le,
+ ia64,
+ parisc,
+ parisc64,
+ s390,
+ s390x,
+ sparc,
+ sparc64,
+ mips,
+ mips-le,
+ mips64,
+ mips64-le,
+ alpha,
+ arm,
+ arm-be,
+ arm64,
+ arm64-be,
+ sh,
+ sh64,
+ m86k,
+ tilegx,
+ cris 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
@@ -1010,12 +1003,12 @@
virtualization solution, or one of
qemu,
kvm,
+ zvm,
vmware,
microsoft,
oracle,
xen,
bochs,
- chroot,
uml,
openvz,
lxc,
@@ -1028,6 +1021,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
@@ -1047,26 +1070,12 @@
(i.e. this does not check whether
capability is actually available in
the permitted or effective sets, see
- capabilities7
+ capabilities7
for details). Pass a capability name
such as CAP_MKNOD,
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 +1093,116 @@
all AC connectors are disconnected
from a power source.
+ ConditionNeedsUpdate=
+ takes one of /var
+ or /etc as
+ argument, possibly prefixed with a
+ ! (for inverting
+ the condition). This condition may be
+ used to conditionalize units on
+ whether the specified directory
+ requires an update because
+ /usr's
+ modification time is newer than the
+ stamp file
+ .updated in the
+ specified directory. This is useful to
+ implement offline updates of the
+ vendor operating system resources in
+ /usr that require
+ updating of /etc
+ or /var on the
+ next following boot. Units making use
+ of this condition should order
+ themselves before
+ systemd-update-done.service8,
+ to make sure they run before the stamp
+ files's modification time gets reset
+ indicating a completed update.
+
+ ConditionFirstBoot=
+ takes a boolean argument. This
+ condition may be used to
+ conditionalize units on whether the
+ system is booting up with an
+ unpopulated /etc
+ directory. This may be used to
+ populate /etc on
+ the first boot after factory reset, or
+ when a new system instances boots up
+ for the first time.
+
+ 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
@@ -1126,15 +1245,21 @@
useful for implementation of generator
tools that convert configuration from
an external configuration file format
- into native unit files. Thus
+ into native unit files. This
functionality should not be used in
normal units.
- Unit file may include a [Install] section, which
- carries installation information for the unit. This
- section is not interpreted by
+
+
+
+ [Install] Section Options
+
+ Unit file may include an
+ [Install] section, which carries
+ installation information for the unit. This section is
+ not interpreted by
systemd1
during runtime. It is used exclusively by the
enable and
@@ -1146,7 +1271,7 @@
Alias=
- A space-seperated list
+ A space-separated list
of additional names this unit shall be
installed under. The names listed here
must have the same suffix (i.e. type)
@@ -1226,6 +1351,19 @@
of unit names may be
given.
+
+
+ DefaultInstance=
+
+ In template unit files,
+ this specifies for which instance the
+ unit shall be enabled if the template
+ is enabled without any explicitly set
+ instance. This option has no effect in
+ non-template unit files. The specified
+ string must be usable as instance
+ identifier.
+ The following specifiers are interpreted in the
@@ -1366,7 +1504,7 @@
See Alsosystemd1,
- systemctl8,
+ systemctl1,
systemd.special7,
systemd.service5,
systemd.socket5,
@@ -1381,7 +1519,8 @@
systemd.scope5,
systemd.slice5,
systemd.time7,
- capabilities7,
+ systemd-verify1,
+ capabilities7,
systemd.directives7,
uname1