1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>systemd.unit</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"/></head><body><div class="refentry" title="systemd.unit"><a id="systemd.unit"/><div class="titlepage"/><div class="refnamediv"><h2>Name</h2><p>systemd.unit — systemd unit configuration files</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><p><code class="filename">systemd.service</code>,
1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>systemd.unit</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" title="systemd.unit"><a name="systemd.unit"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>systemd.unit — systemd unit configuration files</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><p><code class="filename">systemd.service</code>,
4
2
<code class="filename">systemd.socket</code>,
5
3
<code class="filename">systemd.device</code>,
6
4
<code class="filename">systemd.mount</code>,
9
7
<code class="filename">systemd.target</code>,
10
8
<code class="filename">systemd.path</code>,
11
9
<code class="filename">systemd.timer</code>,
12
<code class="filename">systemd.snapshot</code></p></div><div class="refsect1" title="Description"><a id="id480629"/><h2>Description</h2><p>A unit configuration file encodes information
10
<code class="filename">systemd.snapshot</code></p></div><div class="refsect1" title="Description"><a name="id334854"></a><h2>Description</h2><p>A unit configuration file encodes information
13
11
about a service, a socket, a device, a mount point, an
14
12
automount point, a swap file or partition, a start-up
15
13
target, a file system path or a timer controlled and
17
15
<span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span>. The
18
syntax is inspired by <a class="ulink" href="http://standards.freedesktop.org/desktop-entry-spec/latest/">XDG
16
syntax is inspired by <a class="ulink" href="http://standards.freedesktop.org/desktop-entry-spec/latest/" target="_top">XDG
19
17
Desktop Entry Specification</a> <code class="filename">.desktop</code> files, which are in turn
20
18
inspired by Microsoft Windows
21
19
<code class="filename">.ini</code> files.</p><p>This man pages lists the common configuration
108
106
within the configuration file you may use the special
109
107
<code class="literal">%i</code> specifier in many of the
110
108
configuration options. Other specifiers exist, the
111
full list is:</p><div class="table"><a id="id448291"/><p class="title"><strong>Table 1. Specifiers available in unit files</strong></p><div class="table-contents"><table summary="Specifiers available in unit files" border="1"><colgroup><col style="text-align: left" class="spec"/><col style="text-align: left" class="mean"/><col style="text-align: left" class="detail"/></colgroup><thead><tr><th style="text-align: left">Specifier</th><th style="text-align: left">Meaning</th><th style="text-align: left">Details</th></tr></thead><tbody><tr><td style="text-align: left"><code class="literal">%n</code></td><td style="text-align: left">Full unit name</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><code class="literal">%N</code></td><td style="text-align: left">Unescaped full unit name</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><code class="literal">%p</code></td><td style="text-align: left">Prefix name</td><td style="text-align: left">This refers to the string before the @, i.e. "getty" in the example above, where "tty3" is the instance name.</td></tr><tr><td style="text-align: left"><code class="literal">%P</code></td><td style="text-align: left">Unescaped prefix name</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><code class="literal">%i</code></td><td style="text-align: left">Instance name</td><td style="text-align: left">This is the string between the @ character and the suffix.</td></tr><tr><td style="text-align: left"><code class="literal">%I</code></td><td style="text-align: left">Unescaped instance name</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><code class="literal">%f</code></td><td style="text-align: left">Unescaped file name</td><td style="text-align: left">This is either the unescaped instance name (if set) with / prepended (if necessary), or the prefix name similarly prepended with /.</td></tr><tr><td style="text-align: left"><code class="literal">%c</code></td><td style="text-align: left">Control group path of the unit</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><code class="literal">%r</code></td><td style="text-align: left">Root control group path of systemd</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><code class="literal">%R</code></td><td style="text-align: left">Parent directory of the root control group path of systemd</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><code class="literal">%t</code></td><td style="text-align: left">Runtime socket dir</td><td style="text-align: left">This is either /run (for the system manager) or $XDG_RUNTIME_DIR (for user managers).</td></tr></tbody></table></div></div><br class="table-break"/><p>If a unit file is empty (i.e. has the file size
109
full list is:</p><div class="table"><a name="id334609"></a><p class="title"><b>Table 1. Specifiers available in unit files</b></p><div class="table-contents"><table summary="Specifiers available in unit files" border="1"><colgroup><col align="left" class="spec"><col align="left" class="mean"><col align="left" class="detail"></colgroup><thead><tr><th align="left">Specifier</th><th align="left">Meaning</th><th align="left">Details</th></tr></thead><tbody><tr><td align="left"><code class="literal">%n</code></td><td align="left">Full unit name</td><td align="left"> </td></tr><tr><td align="left"><code class="literal">%N</code></td><td align="left">Unescaped full unit name</td><td align="left"> </td></tr><tr><td align="left"><code class="literal">%p</code></td><td align="left">Prefix name</td><td align="left">This refers to the string before the @, i.e. "getty" in the example above, where "tty3" is the instance name.</td></tr><tr><td align="left"><code class="literal">%P</code></td><td align="left">Unescaped prefix name</td><td align="left"> </td></tr><tr><td align="left"><code class="literal">%i</code></td><td align="left">Instance name</td><td align="left">This is the string between the @ character and the suffix.</td></tr><tr><td align="left"><code class="literal">%I</code></td><td align="left">Unescaped instance name</td><td align="left"> </td></tr><tr><td align="left"><code class="literal">%f</code></td><td align="left">Unescaped file name</td><td align="left">This is either the unescaped instance name (if set) with / prepended (if necessary), or the prefix name similarly prepended with /.</td></tr><tr><td align="left"><code class="literal">%c</code></td><td align="left">Control group path of the unit</td><td align="left"> </td></tr><tr><td align="left"><code class="literal">%r</code></td><td align="left">Root control group path of systemd</td><td align="left"> </td></tr><tr><td align="left"><code class="literal">%R</code></td><td align="left">Parent directory of the root control group path of systemd</td><td align="left"> </td></tr><tr><td align="left"><code class="literal">%t</code></td><td align="left">Runtime socket dir</td><td align="left">This is either /run (for the system manager) or $XDG_RUNTIME_DIR (for user managers).</td></tr></tbody></table></div></div><br class="table-break"><p>If a unit file is empty (i.e. has the file size
112
110
0) or is symlinked to <code class="filename">/dev/null</code>
113
111
its configuration will not be loaded and it appears
114
112
with a load state of <code class="literal">masked</code>, and
115
113
cannot be activated. Use this as an effective way to
116
114
fully disable a unit, making it impossible to start it
117
115
even manually.</p><p>The unit file format is covered by the
118
<a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise">Interface
119
Stability Promise</a>.</p></div><div class="refsect1" title="Options"><a id="id489601"/><h2>Options</h2><p>Unit file may include a [Unit] section, which
116
<a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise" target="_top">Interface
117
Stability Promise</a>.</p></div><div class="refsect1" title="Options"><a name="id376088"></a><h2>Options</h2><p>Unit file may include a [Unit] section, which
120
118
carries generic information about the unit that is not
121
119
dependent on the type of unit:</p><div class="variablelist"><dl><dt><span class="term"><code class="varname">Description=</code></span></dt><dd><p>A free-form string
122
120
describing the unit. This is intended
285
283
units that are activated when this
287
285
'<code class="literal">failed</code>'
288
state.</p></dd><dt><span class="term"><code class="varname">OnFailureIsolate=</code></span></dt><dd><p>Takes a boolean
286
state.</p></dd><dt><span class="term"><code class="varname">PropagateReloadTo=</code>, </span><span class="term"><code class="varname">PropagateReloadFrom=</code></span></dt><dd><p>Lists one or more
287
units where reload requests on the
288
unit will be propagated to/on the
289
other unit will be propagated
290
from. Issuing a reload request on a
291
unit will automatically also enqueue a
292
reload request on all units that the
293
reload request shall be propagated to
295
settings.</p></dd><dt><span class="term"><code class="varname">OnFailureIsolate=</code></span></dt><dd><p>Takes a boolean
289
296
argument. If <code class="option">true</code> the
291
298
<code class="varname">OnFailure=</code> will be
476
483
<code class="varname">chroot</code>,
477
484
<code class="varname">openvz</code>,
478
485
<code class="varname">lxc</code>,
479
<code class="varname">systemd-nspawn</code>,
480
<code class="varname">pidns</code> to test
486
<code class="varname">lxc-libvirt</code>,
487
<code class="varname">systemd-nspawn</code> to test
481
488
against a specific implementation. If
482
489
multiple virtualization technologies
483
490
are nested only the innermost is
608
615
<span class="command"><strong>systemctl enable</strong></span>
609
616
will automatically install units
610
617
listed in this option as
611
well.</p></dd></dl></div></div><div class="refsect1" title="See Also"><a id="id490680"/><h2>See Also</h2><p>
618
well.</p></dd></dl></div></div><div class="refsect1" title="See Also"><a name="id377196"></a><h2>See Also</h2><p>
612
619
<span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span>,
613
620
<span class="citerefentry"><span class="refentrytitle">systemctl</span>(8)</span>,
614
621
<span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span>,