X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.unit.xml;h=d61426a8454be353561054d80b0d3c53f6b2963b;hp=68f02fcb6cdf56a5a8d06374d5cfadf0268bfd58;hb=1bee43de64aadb700dcb32958372714ec56c97b8;hpb=00d1818bb7fbc01086cc956fdb1fcbc8fb90482b diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index 68f02fcb6..d61426a84 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -60,7 +60,9 @@ target.target, path.path, timer.timer, - snapshot.snapshot + snapshot.snapshot, + slice.slice, + scope.scope /etc/systemd/system/* /run/systemd/system/* @@ -68,7 +70,8 @@ ... - /etc/systemd/user/* + $HOME/.config/systemd/user/* +/etc/systemd/user/* /run/systemd/user/* /usr/lib/systemd/user/* ... @@ -81,12 +84,15 @@ 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 - supervised by - systemd1. The - syntax is inspired by systemd1, + a temporary system state snapshot, a resource + management slice or a group of externally created + processes. The syntax is inspired by XDG - Desktop Entry Specification .desktop files, which are in turn + Desktop Entry Specification + .desktop files, which are in turn inspired by Microsoft Windows .ini files. @@ -110,6 +116,8 @@ systemd.path5, systemd.timer5, systemd.snapshot5. + systemd.slice5. + systemd.scope5. Unit files are loaded from a set of paths @@ -118,9 +126,9 @@ 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 + option, it will write a warning log message but continue loading the unit. If an option is prefixed - with it is ignored completely by + with , it is ignored completely by systemd. Applications may use this to include additional information in the unit files. @@ -128,7 +136,7 @@ written in various formats. For positive settings the strings , , and are - equivalent. For negative settings the strings + equivalent. For negative settings, the strings , , and are equivalent. @@ -152,14 +160,14 @@ space character. This may be used to wrap long lines. Along with a unit file - foo.service the directory + foo.service, the directory foo.service.wants/ may exist. All 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 files. For details - about the semantics of Wanted= see + 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 @@ -171,9 +179,9 @@ .requires/ in this case. Along with a unit file - foo.service a directory + foo.service, a directory foo.service.d/ may exist. All - files with the suffix .conf from + 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 @@ -182,7 +190,7 @@ directive. If a line starts with - followed by a file name, the specified file will be + 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. @@ -195,12 +203,12 @@ in a both simpler and more flexible system. Some unit names reflect paths existing in the - file system name space. Example: a device unit + file system namespace. Example: a device unit dev-sda.device refers to a device - with the device node /dev/sda in - the file system namespace. If this applies a special + with the device node /dev/sda in + the file system namespace. If this applies, a special way to escape the path name is used, so that the - result is usable as part of a file name. Basically, + 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 @@ -211,12 +219,12 @@ Optionally, units may be instantiated from a template file at runtime. This allows creation of multiple units from a single configuration file. If - systemd looks for a unit configuration file it will + 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 - name contains an @ character, systemd will look for a + 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 + instance string (i.e. the part between the @ character and the suffix) removed. Example: if a service getty@tty3.service is requested and no file by that name is found, systemd will look @@ -230,7 +238,7 @@ 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 + 0) or is symlinked to /dev/null, its configuration will not be loaded and it appears with a load state of masked, and cannot be activated. Use this as an effective way to @@ -249,10 +257,9 @@ 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. - + tables below. Unit files found in directories listed + earlier override files with the same name in + directories lower in the list. When systemd is running in user mode () and the variable @@ -276,33 +283,17 @@ - - /run/systemd/generator.early - Generated units (early) - /etc/systemd/system Local configuration - /run/systemd/systemd - Volatile units - - - /run/systemd/generator - Generated units (middle) - - - /usr/local/lib/systemd/system - Units for local packages + /run/systemd/system + Runtime units /usr/lib/systemd/system - Units for installed packages - - - /run/systemd/generator.late - Generated units (late) + Units of installed packages @@ -310,7 +301,7 @@ - Load path when running in session mode (<option>--user</option>). + Load path when running in user mode (<option>--user</option>). @@ -324,8 +315,8 @@ - /tmp/systemd-generator.early.XXXXXX - Generated units (early) + $HOME/.config/systemd/user + User configuration /etc/systemd/user @@ -333,23 +324,11 @@ /run/systemd/user - Volatile units - - - /tmp/systemd-generator.XXXXXX - Generated units (middle) - - - /usr/local/lib/systemd/user - Units for local packages + Runtime units /usr/lib/systemd/user - Units for installed packages - - - /tmp/systemd-generator.late.XXXXXX - Generated units (late) + Units of installed packages @@ -358,7 +337,10 @@ Additional units might be loaded into systemd ("linked") from directories not on the unit load path. See the link command for - systemctl1. + systemctl1. Also, + some units are dynamically created via generators + Generators. @@ -377,12 +359,20 @@ describing the unit. This is intended for use in UIs to show descriptive information along with the unit - name. + name. The description should contain a name + that means something to the end user. + Apache2 Web Server is a good + example. Bad examples are + high-performance light-weight HTTP + server (too generic) or + Apache2 (too specific and + meaningless for people who do not know + Apache). Documentation= - A space separated list + A space-separated list of URIs referencing documentation for this unit or its configuration. Accepted are only URIs @@ -393,7 +383,7 @@ info:, man:. For more information about the syntax of these - URIs see + URIs, see uri7. The URIs should be listed in order of relevance, starting with the most @@ -405,7 +395,7 @@ 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 + assigned to this option, the list is reset and all prior assignments will have no effect. @@ -471,7 +461,7 @@ the start-up was pulled in indirectly by some dependency or automatic start-up of units that is not - requested by the user this dependency + requested by the user, this dependency must be fulfilled and otherwise the transaction fails. Hence, this option may be used to configure dependencies @@ -634,7 +624,7 @@ type After= or Before=. If two units have no ordering dependencies - between them they are shut down + between them, they are shut down or started up simultaneously, and no ordering takes place. @@ -646,7 +636,7 @@ Lists one or more units that are activated when this unit enters the - 'failed' + failed state. @@ -669,8 +659,8 @@ RequiresMountsFor= - Takes a space - separated list of absolute paths. Automatically + Takes a space-separated + list of absolute paths. Automatically adds dependencies of type Requires= and After= for all @@ -682,12 +672,12 @@ OnFailureIsolate= Takes a boolean - argument. If the + argument. If , the unit listed in OnFailure= will be enqueued in isolation mode, i.e. all units that are not its dependency will - be stopped. If this is set only a + be stopped. If this is set, only a single unit may be listed in OnFailure=. Defaults to @@ -698,7 +688,7 @@ IgnoreOnIsolate= Takes a boolean - argument. If + argument. If , this unit will not be stopped when isolating another unit. Defaults to . @@ -708,7 +698,7 @@ IgnoreOnSnapshot= Takes a boolean - argument. If + argument. If , this unit will not be included in snapshots. Defaults to for device and @@ -720,7 +710,7 @@ StopWhenUnneeded= Takes a boolean - argument. If + argument. If , this unit will be stopped when it is no longer used. Note that in order to minimize the work to be executed, @@ -739,10 +729,10 @@ RefuseManualStop= Takes a boolean - argument. If + argument. If , this unit can only be activated or deactivated indirectly. In - this case explicit start-up + this case, explicit start-up or termination requested by the user is denied, however if it is started or stopped as a @@ -762,10 +752,10 @@ AllowIsolate= Takes a boolean - argument. If + argument. If , this unit may be used with the systemctl isolate - command. Otherwise this will be + command. Otherwise, this will be refused. It probably is a good idea to leave this disabled except for target units that shall be used similar to @@ -779,7 +769,7 @@ DefaultDependencies= Takes a boolean - argument. If + argument. If , (the default), a few default dependencies will implicitly be created for the unit. The actual @@ -797,7 +787,7 @@ highly recommended to leave this option enabled for the majority of common units. If set to - this option + , this option does not disable all implicit dependencies, just non-essential ones. @@ -809,10 +799,10 @@ When clients are waiting for a job of this unit to complete, time out after the specified - time. If this time limit is reached + time. If this time limit is reached, the job will be cancelled, the unit however will not change state or even - enter the 'failed' + enter the failed mode. This value defaults to 0 (job timeouts disabled), except for device units. NB: this timeout is independent @@ -851,7 +841,7 @@ Before starting a unit verify that the specified condition is - true. If it is not true the starting + true. If it is not true, the starting of the unit will be skipped, however all ordering dependencies of it are still respected. A failing condition @@ -866,12 +856,12 @@ a file existence condition is checked before a unit is started. If the specified absolute path name does - not exist the condition will + 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 + (!), the test is negated, and the unit is only started if the path does not exist. @@ -940,7 +930,7 @@ exclamation mark unset). The argument must either be a single word, or an assignment (i.e. two words, separated - '='). In the former + =). In the former case the kernel command line is searched for the word appearing as is, or as left hand side of an @@ -969,13 +959,14 @@ xen, bochs, chroot, + uml, openvz, lxc, lxc-libvirt, systemd-nspawn to test against a specific implementation. If multiple - virtualization technologies are nested + virtualization technologies are nested, only the innermost is considered. The test may be negated by prepending an exclamation mark. @@ -983,8 +974,11 @@ ConditionSecurity= may be used to check whether the given security module is enabled on the - system. Currently the only recognized - value is selinux. + system. Currently the recognized values + values are selinux, + apparmor, + ima and + smack. The test may be negated by prepending an exclamation mark. @@ -1004,11 +998,11 @@ ConditionHost= may be used to match against the - host name or machine ID of the - host. This either takes a host name + 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 host name as returned by + locally set hostname as returned by gethostname2, or a machine ID formatted as string (see @@ -1022,12 +1016,12 @@ battery powered at the time of activation of the unit. This takes a boolean argument. If set to - true the condition + true, the condition will hold only if at least one AC connector of the system is connected to a power source, or if no AC connectors are known. Conversely, if - set to false the + set to false, the condition will hold only if there is at least one AC connector known and all AC connectors are disconnected @@ -1038,30 +1032,30 @@ be used to add a constant condition check value to the unit. It takes a boolean argument. If set to - false the condition + false, the condition will always fail, otherwise succeed. If multiple conditions are - specified the unit will be executed if + specified, the unit will be executed if all of them apply (i.e. a logical AND is applied). Condition checks can be prefixed with a pipe symbol (|) in which case a condition becomes a triggering condition. If at least one triggering condition is defined for a - unit then the unit will be executed if + unit, then the unit will be executed if at least one of the triggering conditions apply and all of the non-triggering conditions. If you prefix an argument with the pipe - symbol and an exclamation mark the + symbol and an exclamation mark, the pipe symbol must be passed first, the exclamation second. Except for ConditionPathIsSymbolicLink=, all path checks follow symlinks. If any of these options is assigned the - empty string the list of conditions is + empty string, the list of conditions is reset completely, all previous condition settings (of any kind) will have no effect. @@ -1105,45 +1099,73 @@ time, systemctl enable will create symlinks from these names - to the unit file name. + to the unit filename. WantedBy= RequiredBy= - Installs a symlink in - the .wants/ - or .requires/ - subdirectory for a unit, respectively. This has the - effect that when the listed unit name - is activated the unit listing it is - activated - too. WantedBy=foo.service + A symbolic link is + created in the + .wants/ or + .requires/ directory + of the listed unit when this unit is + activated by systemctl + enable. This has the effect + that a dependency of type + Wants= or + Requires= is added + from the listed unit to the current + unit. The primary result is that the + current unit will be started when the + listed unit is started. See the + description of + Wants= and + Requires= in the + [Unit] section for details. + + WantedBy=foo.service in a service bar.service is mostly equivalent to Alias=foo.service.wants/bar.service - in the same file. + in the same file. In case of template + units, systemctl enable + must be called with an instance name, and + this instance will be added to the + .wants/ or + .requires/ list + of the listed unit. + E.g. WantedBy=getty.target + in a service + getty@.service + will result in systemctl + enable getty@tty2.service + creating a + getty.target.wants/getty@tty2.service + link to getty@.service. + Also= Additional units to - install when this unit is - installed. If the user requests - installation of a unit with this - option configured, + install/deinstall when this unit is + installed/deinstalled. If the user + requests installation/deinstallation + of a unit with this option configured, systemctl enable - will automatically install units - listed in this option as + and systemctl + disable will automatically + install/uninstall units listed in this option as well. The following specifiers are interpreted in the - Install section: %n, %N, %p, %i, %U, %u, %m, %H, %b. + Install section: %n, %N, %p, %i, %U, %u, %m, %H, %b, %v. For their meaning see the next section. @@ -1194,7 +1216,7 @@ %i Instance name - For instantiated units: this is the string between the @ character and the suffix. + For instantiated units: this is the string between the @ character and the suffix. %I @@ -1203,8 +1225,8 @@ %f - Unescaped file name - This is either the unescaped instance name (if applicable) with / prepended (if applicable), or the prefix name similarly prepended with /. + Unescaped filename + This is either the unescaped instance name (if applicable) with / prepended (if applicable), or the prefix name similarly prepended with /. %c @@ -1213,13 +1235,13 @@ %r - Root control group path of systemd - + Root control group path where units are placed. + For system instances this usually resolves to /system, except in containers, where the path might be prefixed with the container's root control group. %R - Parent directory of the root control group path of systemd - + Parent directory of the control group path where units are placed. + For system instances this usually resolves to /, except in containers, where this resolves to the container's root directory. This specifier is particularly useful in the ControlGroup= setting (see systemd.exec5). %t @@ -1244,14 +1266,7 @@ %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. If the user is - root (UID equal to 0), the - shell configured in account database is - ignored and /bin/sh is - always used. - + This is the shell of the configured user of the unit, or (if none is set) the user running the systemd instance. If the user is root (UID equal to 0), the shell configured in account database is ignored and /bin/sh is always used. %m @@ -1266,7 +1281,12 @@ %H Host name - The host name of the running system. + The hostname of the running system. + + + %v + Kernel release + Identical to uname -r output. %% @@ -1294,9 +1314,12 @@ systemd.path5, systemd.timer5, systemd.snapshot5, + systemd.scope5, + systemd.slice5, systemd.time7, capabilities7, - systemd.directives7 + systemd.directives7, + uname1