X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.unit.xml;h=953a2897ad488074839bf6f2f90f6bac449ea27e;hp=8570815ad47e07fdf577e9bf89f90591f82d55b8;hb=74051b9b5865586bf4d30b9075649af838fb92bd;hpb=240dbaa44f8e5ad51775c776fc3ce9cd2f19f037 diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index 8570815ad..953a2897a 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -81,7 +81,7 @@ sections of the unit files. In addition to the generic [Unit] and [Install] - sections described here, each unit should have a + 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. @@ -106,12 +106,14 @@ Time span values encoded in unit files can be written in various formats. A stand-alone number specifies a time in seconds. If suffixed with a time - unit, the unit is honored. A concatenation of - multiple values with units is supported, in which case - the values are added up. Example: "50" refers to 50 + unit, the unit is honored. A concatenation of multiple + values with units is supported, in which case the + values are added up. Example: "50" refers to 50 seconds; "2min 200ms" refers to 2 minutes plus 200 milliseconds, i.e. 120200ms. The following time units - are understood: s, min, h, d, w, ms, us. For details see systemd.time7. + are understood: s, min, h, d, w, ms, us. For details + see + systemd.time7. Empty lines and lines starting with # or ; are ignored. This may be used for commenting. Lines ending @@ -119,32 +121,42 @@ line while reading and the backslash is replaced by a space character. This may be used to wrap long lines. - If a line starts with - followed by a file name, 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. - Along with a unit file - foo.service a directory + foo.service the directory foo.service.wants/ may exist. All - units symlinked from such a directory are implicitly - added as dependencies of type + unit files symlinked from such a directory are + implicitly added as dependencies of type Wanted= to the unit. This is useful to hook units into the start-up of other units, - without having to modify their unit configuration - files. For details about the semantics of - Wanted= see below. The preferred - way to create symlinks in the - .wants/ directory of a service is - with the enable command of the + without having to modify their unit files. For details + about the semantics of Wanted= see + below. The preferred way to create symlinks in the + .wants/ directory of a unit file + is with the enable command of the systemctl1 tool which reads information from the [Install] - section of unit files. (See below.) A similar + section of unit files (see below). A similar functionality exists for Requires= type dependencies as well, the directory suffix is .requires/ in this case. + Along with a unit file + foo.service a directory + foo.service.d/ may exist. All + files with the suffix .conf from + this directory will be parsed after the file itself is + parsed. This is useful to alter or add configuration + 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 file name, 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 sparsely and instead rely @@ -186,116 +198,7 @@ To refer to the instance string from within the configuration file you may use the special %i specifier in many of the - configuration options. Other specifiers exist, the - full list is: - - - Specifiers available in unit files - - - - - - - Specifier - Meaning - Details - - - - - %n - Full unit name - - - - %N - Unescaped full unit name - - - - %p - Prefix name - This refers to the string before the @, i.e. "getty" in the example above, where "tty3" is the instance name. - - - %P - Unescaped prefix name - - - - %i - Instance name - This is the string between the @ character and the suffix. - - - %I - Unescaped instance name - - - - %f - Unescaped file name - This is either the unescaped instance name (if set) with / prepended (if necessary), or the prefix name similarly prepended with /. - - - %c - Control group path of the unit - - - - %r - Root control group path of systemd - - - - %R - Parent directory of the root control group path of systemd - - - - %t - Runtime socket dir - This is either /run (for the system manager) or $XDG_RUNTIME_DIR (for user managers). - - - %u - User name - This is the name of the configured user of the unit, or (if none is set) the user running the systemd instance. - - - %U - User uid - This is the uid of the configured user of the unit, or (if none is set) the user running the systemd instance. - - - %h - User home directory - This is the home directory of the configured user of the unit, or (if none is set) the user running the systemd instance. - - - %s - User shell - This is the shell of the configured user of the unit, or (if none is set) the user running the systemd instance. - - - %m - Machine ID - The machine ID of the running system, formatted as string. See machine-id5 for more information. - - - %b - Boot ID - The boot ID of the running system, formatted as string. See random4 for more information. - - - %H - Host name - The host name of the running system. - - - -
+ configuration options. See below for details.
If a unit file is empty (i.e. has the file size 0) or is symlinked to /dev/null @@ -309,6 +212,7 @@ Interface Stability Promise. + @@ -350,8 +254,13 @@ reference documentation that explains what the unit's purpose is, followed by how it is configured, followed by - any other related - documentation. + any other related documentation. This + 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 + reset and all prior assignments will + have no effect. @@ -961,8 +870,8 @@ an exclamation mark. ConditionACPower= - may may be used to check whether the - system has AC power, or is exlcusively + may be used to check whether the + system has AC power, or is exclusively battery powered at the time of activation of the unit. This takes a boolean argument. If set to @@ -1003,8 +912,12 @@ pipe symbol must be passed first, the exclamation second. Except for ConditionPathIsSymbolicLink=, - all path checks follow - symlinks. + all path checks follow symlinks. If + any of these options is assigned the + empty string the list of conditions is + reset completely, all previous + condition settings (of any kind) will + have no effect. @@ -1084,6 +997,124 @@ + + Specifiers + + Many settings resolve specifiers which may be + used to write generic unit files referring to runtime + or unit parameters that are replaced when the unit + files are loaded. The following specifiers are + understood: + + + Specifiers available in unit files + + + + + + + Specifier + Meaning + Details + + + + + %n + Full unit name + + + + %N + Unescaped full unit name + + + + %p + Prefix name + For instantiated units this refers to the string before the @. For non-instantiated units this refers to to the name of the unit with the type suffix removed. + + + %P + Unescaped prefix name + + + + %i + Instance name + For instantiated units: this is the string between the @ character and the suffix. + + + %I + Unescaped instance name + + + + %f + Unescaped file name + This is either the unescaped instance name (if applicable) with / prepended (if applicable), or the prefix name similarly prepended with /. + + + %c + Control group path of the unit + + + + %r + Root control group path of systemd + + + + %R + Parent directory of the root control group path of systemd + + + + %t + Runtime socket dir + This is either /run (for the system manager) or $XDG_RUNTIME_DIR (for user managers). + + + %u + User name + This is the name of the configured user of the unit, or (if none is set) the user running the systemd instance. + + + %U + User UID + This is the UID of the configured user of the unit, or (if none is set) the user running the systemd instance. + + + %h + User home directory + This is the home directory of the configured user of the unit, or (if none is set) the user running the systemd instance. + + + %s + User shell + This is the shell of the configured user of the unit, or (if none is set) the user running the systemd instance. + + + %m + Machine ID + The machine ID of the running system, formatted as string. See machine-id5 for more information. + + + %b + Boot ID + The boot ID of the running system, formatted as string. See random4 for more information. + + + %H + Host name + The host name of the running system. + + + +
+
+ See Also @@ -1101,7 +1132,8 @@ systemd.timer5, systemd.snapshot5, systemd.time7, - capabilities7 + capabilities7, + systemd.directives7