X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.unit.xml;h=dbc5fedea9a30fb514b94a269cffe86bd67f1bd9;hp=f4821821518bff3c2bb498bd29a60ef17466eebe;hb=49dbfa7b2b0bf3906704dac1eaeb4eba91056a19;hpb=4e7f8bc81c6422c59ab644fcea28b6f32be416e9 diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index f48218215..dbc5fedea 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -8,16 +8,16 @@ Copyright 2010 Lennart Poettering systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. systemd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with systemd; If not, see . --> @@ -121,8 +121,9 @@ If a line starts with followed by a file name, the specified file will be - read as if its contents were listed in place of the - directive. + 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 @@ -180,30 +181,86 @@ and no file by that name is found, systemd will look for getty@.service and instantiate a service from that configuration file if - it is found. To refer to the instance string from + it is found. + + 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 that may be - used are %n, %N, - %p, %P, - %I, %f, - %c, %r, - %R and %t for - the full unit name, the unescaped unit name, the - prefix name, the unescaped prefix name, the unescaped - instance name, the unescaped filename, the control - group path of the unit, the root control group path of - systemd, and the parent directory of the root control - cgroup path of systemd and the runtime socket dir, - respectively. The unescaped filename is either the - unescaped instance name (if set) with / prepended (if - necessary), or the prefix name similarly prepended - with /. The prefix name here refers to the string - before the @, i.e. "getty" in the example above, where - "tty3" is the instance name. The runtime socket - directory is either /run (for the - system manager) or $XDG_RUNTIME_DIR - (for user managers). + 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). + + + +
If a unit file is empty (i.e. has the file size 0) or is symlinked to /dev/null @@ -237,6 +294,23 @@ name. + + Documentation= + A space separated list + of URIs referencing documentation for + this unit or its + configuration. Accepted are only URIs + of the types + http://, + https://, + file:, + info:, + man:. For more + information about the syntax of these + URIs see + uri7. + + Requires= @@ -452,6 +526,34 @@ state. + + PropagateReloadTo= + PropagateReloadFrom= + + Lists one or more + units where reload requests on the + unit will be propagated to/on the + other unit will be propagated + from. Issuing a reload request on a + unit will automatically also enqueue a + reload request on all units that the + reload request shall be propagated to + via these two + settings. + + + + RequiresMountsFor= + + Takes a space + separated list of paths. Automatically + adds dependencies of type + Requires= and + After= for all + mount units required to access the + specified path. + + OnFailureIsolate= @@ -609,10 +711,15 @@ ConditionPathExists= ConditionPathExistsGlob= ConditionPathIsDirectory= + ConditionPathIsSymbolicLink= + ConditionPathIsMountPoint= + ConditionPathIsReadWrite= ConditionDirectoryNotEmpty= + ConditionFileIsExecutable= ConditionKernelCommandLine= ConditionVirtualization= ConditionSecurity= + ConditionCapability= ConditionNull= Before starting a unit @@ -622,7 +729,7 @@ a file existence condition can be checked before a unit is started. If the specified absolute path name does - not exist startup of a unit will not + not exist, startup of a unit will not actually happen, however the unit is still useful for ordering purposes in this case. The condition is checked at @@ -632,17 +739,40 @@ ConditionPathExists= is prefixed with an exclamation mark (!), the test is negated, and the unit - only started if the path does not - exist. ConditionPathExistsGlob= - work in a similar way, but checks for - the existance of at least one file or + is only started if the path does not + exist. + ConditionPathExistsGlob= + works in a similar way, 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. + 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 read and writable + (i.e. not mounted + read-only). ConditionFileIsExecutable= + is similar to + ConditionPathExists= + but verifies whether a certain path + exists, is a regular file and marked + executable. ConditionDirectoryNotEmpty= is similar to ConditionPathExists= @@ -670,16 +800,27 @@ whether it is a specific implementation. Takes either boolean value to check if being executed in - any virtual environment or one of the + any virtualized environment, or one of + vm and + container to test + against a specific type of + virtualization solution, or one of qemu, kvm, vmware, microsoft, oracle, xen, - pidns, - openvz to test - against a specific implementation. The + bochs, + chroot, + openvz, + lxc, + lxc-libvirt, + systemd-nspawn to + test against a specific + implementation. If multiple + virtualization technologies are nested + only the innermost is considered. The test may be negated by prepending an exclamation mark. ConditionSecurity= @@ -688,7 +829,19 @@ system. Currently the only recognized value is selinux. The test may be negated by prepending - an exclamation mark. Finally, + an exclamation + mark. ConditionCapability= + may be used to check whether the given + capability exists in the capability + bounding set of the service manager + (i.e. this does not check whether + capability is actually available in + the permitted or effective sets, see + capabilities7 + for details). Pass a capability name + such as CAP_MKNOD, + possibly prefixed with an exclamation + mark to negate the check. Finally, ConditionNull= may be used to add a constant condition check value to the unit. It takes a @@ -710,7 +863,10 @@ prefix an argument with the pipe symbol and an exclamation mark the pipe symbol must be passed first, the - exclamation second. + exclamation second. Except for + ConditionPathIsSymbolicLink=, + all path checks follow + symlinks. @@ -842,7 +998,8 @@ systemd.target5, systemd.path5, systemd.timer5, - systemd.snapshot5 + systemd.snapshot5, + capabilities7