]> git.proxmox.com Git - systemd.git/blame - man/systemd.special.html
Imported Upstream version 219
[systemd.git] / man / systemd.special.html
CommitLineData
663996b3
MS
1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>systemd.special</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
2 a.headerlink {
3 color: #c60f0f;
4 font-size: 0.8em;
5 padding: 0 4px 0 4px;
6 text-decoration: none;
7 visibility: hidden;
8 }
9
10 a.headerlink:hover {
11 background-color: #c60f0f;
12 color: white;
13 }
14
15 h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
16 visibility: visible;
17 }
18 </style><a href="index.html">Index </a>·
19 <a href="systemd.directives.html">Directives </a>·
20 <a href="../python-systemd/index.html">Python </a>·
21 <a href="../libudev/index.html">libudev </a>·
e735f4d4
MP
22 <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 219</span><hr><div class="refentry"><a name="systemd.special"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>systemd.special — Special systemd units</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">basic.target</code>,
23 <code class="filename">bluetooth.target</code>,
24 <code class="filename">ctrl-alt-del.target</code>,
25 <code class="filename">cryptsetup.target</code>,
26 <code class="filename">cryptsetup-pre.target</code>,
27 <code class="filename">dbus.service</code>,
28 <code class="filename">dbus.socket</code>,
29 <code class="filename">default.target</code>,
30 <code class="filename">display-manager.service</code>,
31 <code class="filename">emergency.target</code>,
32 <code class="filename">exit.target</code>,
33 <code class="filename">final.target</code>,
34 <code class="filename">getty.target</code>,
35 <code class="filename">graphical.target</code>,
36 <code class="filename">halt.target</code>,
37 <code class="filename">hibernate.target</code>,
38 <code class="filename">hybrid-sleep.target</code>,
39 <code class="filename">initrd-fs.target</code>,
40 <code class="filename">kbrequest.target</code>,
41 <code class="filename">kexec.target</code>,
42 <code class="filename">local-fs.target</code>,
43 <code class="filename">local-fs-pre.target</code>,
44 <code class="filename">multi-user.target</code>,
45 <code class="filename">network.target</code>,
46 <code class="filename">network-online.target</code>,
47 <code class="filename">network-pre.target</code>,
48 <code class="filename">nss-lookup.target</code>,
49 <code class="filename">nss-user-lookup.target</code>,
50 <code class="filename">paths.target</code>,
51 <code class="filename">poweroff.target</code>,
52 <code class="filename">printer.target</code>,
53 <code class="filename">reboot.target</code>,
54 <code class="filename">remote-fs.target</code>,
55 <code class="filename">remote-fs-pre.target</code>,
56 <code class="filename">rescue.target</code>,
57 <code class="filename">initrd-root-fs.target</code>,
58 <code class="filename">rpcbind.target</code>,
59 <code class="filename">runlevel2.target</code>,
60 <code class="filename">runlevel3.target</code>,
61 <code class="filename">runlevel4.target</code>,
62 <code class="filename">runlevel5.target</code>,
63 <code class="filename">shutdown.target</code>,
64 <code class="filename">sigpwr.target</code>,
65 <code class="filename">sleep.target</code>,
66 <code class="filename">smartcard.target</code>,
67 <code class="filename">sockets.target</code>,
68 <code class="filename">sound.target</code>,
69 <code class="filename">suspend.target</code>,
70 <code class="filename">swap.target</code>,
71 <code class="filename">sysinit.target</code>,
72 <code class="filename">syslog.socket</code>,
73 <code class="filename">system-update.target</code>,
74 <code class="filename">time-sync.target</code>,
75 <code class="filename">timers.target</code>,
76 <code class="filename">umount.target</code>,
77 <code class="filename">-.slice</code>,
78 <code class="filename">system.slice</code>,
79 <code class="filename">user.slice</code>,
80 <code class="filename">machine.slice</code></p></div><div class="refsect1"><a name="idm140275576377296"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>A few units are treated specially by systemd. They have
81 special internal semantics and cannot be renamed.</p></div><div class="refsect1"><a name="idm140275576375984"></a><h2 id="Special System Units">Special System Units<a class="headerlink" title="Permalink to this headline" href="#Special%20System%20Units">¶</a></h2><div class="variablelist"><dl class="variablelist"><dt id="basic.target"><span class="term"><code class="filename">basic.target</code></span><a class="headerlink" title="Permalink to this term" href="#basic.target">¶</a></dt><dd><p>A special target unit covering basic boot-up.</p><p>systemd automatically adds dependencies of the types
82 <code class="varname">Requires=</code> and <code class="varname">After=</code>
83 for this target unit to all services (except for those with
84 <code class="varname">DefaultDependencies=no</code>).</p><p>Usually this should pull-in all mount points, swap
85 devices, sockets, timers, and path units and other basic
86 initialization necessary for general purpose daemons.</p></dd><dt id="ctrl-alt-del.target"><span class="term"><code class="filename">ctrl-alt-del.target</code></span><a class="headerlink" title="Permalink to this term" href="#ctrl-alt-del.target">¶</a></dt><dd><p>systemd starts this target whenever Control+Alt+Del is
87 pressed on the console. Usually this should be aliased
88 (symlinked) to <code class="filename">reboot.target</code>.</p></dd><dt id="cryptsetup.target"><span class="term"><code class="filename">cryptsetup.target</code></span><a class="headerlink" title="Permalink to this term" href="#cryptsetup.target">¶</a></dt><dd><p>A target that pulls in setup services for all
89 encrypted block devices.</p></dd><dt id="dbus.service"><span class="term"><code class="filename">dbus.service</code></span><a class="headerlink" title="Permalink to this term" href="#dbus.service">¶</a></dt><dd><p>A special unit for the D-Bus bus daemon. As soon as
90 this service is fully started up systemd will connect to it
91 and register its service.</p></dd><dt id="dbus.socket"><span class="term"><code class="filename">dbus.socket</code></span><a class="headerlink" title="Permalink to this term" href="#dbus.socket">¶</a></dt><dd><p>A special unit for the D-Bus system bus socket. All
92 units with <code class="varname">Type=dbus</code> automatically gain a
93 dependency on this unit.</p></dd><dt id="default.target"><span class="term"><code class="filename">default.target</code></span><a class="headerlink" title="Permalink to this term" href="#default.target">¶</a></dt><dd><p>The default unit systemd starts at bootup. Usually
94 this should be aliased (symlinked) to
95 <code class="filename">multi-user.target</code> or
96 <code class="filename">graphical.target</code>.</p><p>The default unit systemd starts at bootup can be
97 overridden with the <code class="varname">systemd.unit=</code> kernel
98 command line option.</p></dd><dt id="display-manager.service"><span class="term"><code class="filename">display-manager.service</code></span><a class="headerlink" title="Permalink to this term" href="#display-manager.service">¶</a></dt><dd><p>The display manager service. Usually this should be
99 aliased (symlinked) to <code class="filename">gdm.service</code> or a
100 similar display manager service.</p></dd><dt id="emergency.target"><span class="term"><code class="filename">emergency.target</code></span><a class="headerlink" title="Permalink to this term" href="#emergency.target">¶</a></dt><dd><p>A special target unit that starts an emergency shell
101 on the main console. This unit is supposed to be used with
102 the kernel command line option
103 <code class="varname">systemd.unit=</code> and has otherwise little
104 use.
105 </p></dd><dt id="final.target"><span class="term"><code class="filename">final.target</code></span><a class="headerlink" title="Permalink to this term" href="#final.target">¶</a></dt><dd><p>A special target unit that is used during the shutdown
106 logic and may be used to pull in late services after all
107 normal services are already terminated and all mounts
108 unmounted.
109 </p></dd><dt id="getty.target"><span class="term"><code class="filename">getty.target</code></span><a class="headerlink" title="Permalink to this term" href="#getty.target">¶</a></dt><dd><p>A special target unit that pulls in statically
110 configured local TTY <code class="filename">getty</code> instances.
111 </p></dd><dt id="graphical.target"><span class="term"><code class="filename">graphical.target</code></span><a class="headerlink" title="Permalink to this term" href="#graphical.target">¶</a></dt><dd><p>A special target unit for setting up a graphical login
112 screen. This pulls in
113 <code class="filename">multi-user.target</code>.</p><p>Units that are needed for graphical logins shall add
114 <code class="varname">Wants=</code> dependencies for their unit to
115 this unit (or <code class="filename">multi-user.target</code>) during
116 installation. This is best configured via
117 <code class="varname">WantedBy=graphical.target</code> in the unit's
118 "<code class="literal">[Install]</code>" section.</p></dd><dt id="hibernate.target"><span class="term"><code class="filename">hibernate.target</code></span><a class="headerlink" title="Permalink to this term" href="#hibernate.target">¶</a></dt><dd><p>A special target unit for hibernating the system. This
119 pulls in <code class="filename">sleep.target</code>.</p></dd><dt id="hybrid-sleep.target"><span class="term"><code class="filename">hybrid-sleep.target</code></span><a class="headerlink" title="Permalink to this term" href="#hybrid-sleep.target">¶</a></dt><dd><p>A special target unit for hibernating and suspending
120 the system at the same time. This pulls in
121 <code class="filename">sleep.target</code>.</p></dd><dt id="halt.target"><span class="term"><code class="filename">halt.target</code></span><a class="headerlink" title="Permalink to this term" href="#halt.target">¶</a></dt><dd><p>A special target unit for shutting down and halting
122 the system. Note that this target is distinct from
123 <code class="filename">poweroff.target</code> in that it generally
124 really just halts the system rather than powering it
125 down.</p><p>Applications wanting to halt the system should start
126 this unit.</p></dd><dt id="initrd-fs.target"><span class="term"><code class="filename">initrd-fs.target</code></span><a class="headerlink" title="Permalink to this term" href="#initrd-fs.target">¶</a></dt><dd><p><a href="systemd-fstab-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-fstab-generator</span>(3)</span></a>
127 automatically adds dependencies of type
128 <code class="varname">Before=</code> to
129 <code class="filename">sysroot-usr.mount</code> and all mount points
130 found in <code class="filename">/etc/fstab</code> that have
131 <code class="option">x-initrd.mount</code> and not have
132 <code class="option">noauto</code> mount options set.</p></dd><dt id="kbrequest.target"><span class="term"><code class="filename">kbrequest.target</code></span><a class="headerlink" title="Permalink to this term" href="#kbrequest.target">¶</a></dt><dd><p>systemd starts this target whenever Alt+ArrowUp is
133 pressed on the console. This is a good candidate to be
134 aliased (symlinked) to
135 <code class="filename">rescue.target</code>.</p></dd><dt id="kexec.target"><span class="term"><code class="filename">kexec.target</code></span><a class="headerlink" title="Permalink to this term" href="#kexec.target">¶</a></dt><dd><p>A special target unit for shutting down and rebooting
136 the system via kexec.</p><p>Applications wanting to reboot the system with kexec
137 should start this unit.</p></dd><dt id="local-fs.target"><span class="term"><code class="filename">local-fs.target</code></span><a class="headerlink" title="Permalink to this term" href="#local-fs.target">¶</a></dt><dd><p><a href="systemd-fstab-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-fstab-generator</span>(3)</span></a>
138 automatically adds dependencies of type
139 <code class="varname">Before=</code> to all mount units that refer to
140 local mount points for this target unit. In addition, it
141 adds dependencies of type <code class="varname">Wants=</code> to this
142 target unit for those mounts listed in
143 <code class="filename">/etc/fstab</code> that have the
144 <code class="option">auto</code> mount option set.</p></dd><dt id="multi-user.target"><span class="term"><code class="filename">multi-user.target</code></span><a class="headerlink" title="Permalink to this term" href="#multi-user.target">¶</a></dt><dd><p>A special target unit for setting up a multi-user
145 system (non-graphical). This is pulled in by
146 <code class="filename">graphical.target</code>.</p><p>Units that are needed for a multi-user system shall
147 add <code class="varname">Wants=</code> dependencies for their unit to
148 this unit during installation. This is best configured via
149 <code class="varname">WantedBy=multi-user.target</code> in the unit's
150 "<code class="literal">[Install]</code>" section.</p></dd><dt id="network-online.target"><span class="term"><code class="filename">network-online.target</code></span><a class="headerlink" title="Permalink to this term" href="#network-online.target">¶</a></dt><dd><p>Units that strictly require a configured network
151 connection should pull in
152 <code class="filename">network-online.target</code> (via a
153 <code class="varname">Wants=</code> type dependency) and order
154 themselves after it. This target unit is intended to pull in
155 a service that delays further execution until the network is
156 sufficiently set up. What precisely this requires is left to
157 the implementation of the network managing service.</p><p>Note the distinction between this unit and
158 <code class="filename">network.target</code>. This unit is an active
159 unit (i.e. pulled in by the consumer rather than the
160 provider of this functionality) and pulls in a service which
161 possibly adds substantial delays to further execution. In
162 contrast, <code class="filename">network.target</code> is a passive
163 unit (i.e. pulled in by the provider of the functionality,
164 rather than the consumer) that usually does not delay
165 execution much. Usually, <code class="filename">network.target</code>
166 is part of the boot of most systems, while
167 <code class="filename">network-online.target</code> is not, except
168 when at least one unit requires it. Also see <a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget" target="_top">Running
169 Services After the Network is up</a> for more
170 information.</p><p>All mount units for remote network file systems
171 automatically pull in this unit, and order themselves after
172 it. Note that networking daemons that simply provide
173 functionality to other hosts generally do not need to pull
174 this in.</p></dd><dt id="paths.target"><span class="term"><code class="filename">paths.target</code></span><a class="headerlink" title="Permalink to this term" href="#paths.target">¶</a></dt><dd><p>A special target unit that sets up all path units (see
175 <a href="systemd.path.html"><span class="citerefentry"><span class="refentrytitle">systemd.path</span>(5)</span></a>
176 for details) that shall be active after boot.</p><p>It is recommended that path units installed by
177 applications get pulled in via <code class="varname">Wants=</code>
178 dependencies from this unit. This is best configured via a
179 <code class="varname">WantedBy=paths.target</code> in the path unit's
180 "<code class="literal">[Install]</code>" section.</p></dd><dt id="poweroff.target"><span class="term"><code class="filename">poweroff.target</code></span><a class="headerlink" title="Permalink to this term" href="#poweroff.target">¶</a></dt><dd><p>A special target unit for shutting down and powering
181 off the system.</p><p>Applications wanting to power off the system should
182 start this unit.</p><p><code class="filename">runlevel0.target</code> is an alias for
183 this target unit, for compatibility with SysV.</p></dd><dt id="reboot.target"><span class="term"><code class="filename">reboot.target</code></span><a class="headerlink" title="Permalink to this term" href="#reboot.target">¶</a></dt><dd><p>A special target unit for shutting down and rebooting
184 the system.</p><p>Applications wanting to reboot the system should start
185 this unit.</p><p><code class="filename">runlevel6.target</code> is an alias for
186 this target unit, for compatibility with SysV.</p></dd><dt id="remote-fs.target"><span class="term"><code class="filename">remote-fs.target</code></span><a class="headerlink" title="Permalink to this term" href="#remote-fs.target">¶</a></dt><dd><p>Similar to <code class="filename">local-fs.target</code>, but
187 for remote mount points.</p><p>systemd automatically adds dependencies of type
188 <code class="varname">After=</code> for this target unit to all SysV
189 init script service units with an LSB header referring to
190 the "<code class="literal">$remote_fs</code>" facility.</p></dd><dt id="rescue.target"><span class="term"><code class="filename">rescue.target</code></span><a class="headerlink" title="Permalink to this term" href="#rescue.target">¶</a></dt><dd><p>A special target unit for setting up the base system
191 and a rescue shell.</p><p><code class="filename">runlevel1.target</code> is an alias for
192 this target unit, for compatibility with SysV.</p></dd><dt id="initrd-root-fs.target"><span class="term"><code class="filename">initrd-root-fs.target</code></span><a class="headerlink" title="Permalink to this term" href="#initrd-root-fs.target">¶</a></dt><dd><p><a href="systemd-fstab-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-fstab-generator</span>(3)</span></a>
193 automatically adds dependencies of type
194 <code class="varname">Before=</code> to the
195 <code class="filename">sysroot.mount</code> unit, which is generated
196 from the kernel command line.
197 </p></dd><dt id="runlevel2.target"><span class="term"><code class="filename">runlevel2.target</code>, </span><span class="term"><code class="filename">runlevel3.target</code>, </span><span class="term"><code class="filename">runlevel4.target</code>, </span><span class="term"><code class="filename">runlevel5.target</code></span><a class="headerlink" title="Permalink to this term" href="#runlevel2.target">¶</a></dt><dd><p>These are targets that are called whenever the SysV
198 compatibility code asks for runlevel 2, 3, 4, 5,
199 respectively. It is a good idea to make this an alias for
200 (i.e. symlink to) <code class="filename">multi-user.target</code>
201 (for runlevel 2) or <code class="filename">graphical.target</code>
202 (the others).</p></dd><dt id="shutdown.target"><span class="term"><code class="filename">shutdown.target</code></span><a class="headerlink" title="Permalink to this term" href="#shutdown.target">¶</a></dt><dd><p>A special target unit that terminates the services on
203 system shutdown.</p><p>Services that shall be terminated on system shutdown
204 shall add <code class="varname">Conflicts=</code> dependencies to this
205 unit for their service unit, which is implicitly done when
206 <code class="varname">DefaultDependencies=yes</code> is set (the
207 default).</p></dd><dt id="sigpwr.target"><span class="term"><code class="filename">sigpwr.target</code></span><a class="headerlink" title="Permalink to this term" href="#sigpwr.target">¶</a></dt><dd><p>A special target that is started when systemd receives
208 the SIGPWR process signal, which is normally sent by the
209 kernel or UPS daemons when power fails.</p></dd><dt id="sleep.target"><span class="term"><code class="filename">sleep.target</code></span><a class="headerlink" title="Permalink to this term" href="#sleep.target">¶</a></dt><dd><p>A special target unit that is pulled in by
210 <code class="filename">suspend.target</code>,
211 <code class="filename">hibernate.target</code> and
212 <code class="filename">hybrid-sleep.target</code> and may be used to
213 hook units into the sleep state logic.</p></dd><dt id="sockets.target"><span class="term"><code class="filename">sockets.target</code></span><a class="headerlink" title="Permalink to this term" href="#sockets.target">¶</a></dt><dd><p>A special target unit that sets up all socket
214 units.(see
215 <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>
216 for details) that shall be active after boot.</p><p>Services that can be socket-activated shall add
217 <code class="varname">Wants=</code> dependencies to this unit for
218 their socket unit during installation. This is best
219 configured via a <code class="varname">WantedBy=sockets.target</code>
220 in the socket unit's "<code class="literal">[Install]</code>"
221 section.</p></dd><dt id="suspend.target"><span class="term"><code class="filename">suspend.target</code></span><a class="headerlink" title="Permalink to this term" href="#suspend.target">¶</a></dt><dd><p>A special target unit for suspending the system. This
222 pulls in <code class="filename">sleep.target</code>.</p></dd><dt id="swap.target"><span class="term"><code class="filename">swap.target</code></span><a class="headerlink" title="Permalink to this term" href="#swap.target">¶</a></dt><dd><p>Similar to <code class="filename">local-fs.target</code>, but
223 for swap partitions and swap files.</p></dd><dt id="sysinit.target"><span class="term"><code class="filename">sysinit.target</code></span><a class="headerlink" title="Permalink to this term" href="#sysinit.target">¶</a></dt><dd><p>A special target unit covering early boot-up
224 scripts.</p></dd><dt id="syslog.socket"><span class="term"><code class="filename">syslog.socket</code></span><a class="headerlink" title="Permalink to this term" href="#syslog.socket">¶</a></dt><dd><p>The socket unit syslog implementations should listen
225 on. All userspace log messages will be made available on
226 this socket. For more information about syslog integration,
227 please consult the <a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/syslog" target="_top">Syslog
228 Interface</a> document.</p></dd><dt id="system-update.target"><span class="term"><code class="filename">system-update.target</code></span><a class="headerlink" title="Permalink to this term" href="#system-update.target">¶</a></dt><dd><p>A special target unit that is used for off-line system
229 updates.
230 <a href="systemd-system-update-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-system-update-generator</span>(8)</span></a>
231 will redirect the boot process to this target if
232 <code class="filename">/system-update</code> exists. For more
233 information see the <a class="ulink" href="http://freedesktop.org/wiki/Software/systemd/SystemUpdates" target="_top">System
234 Updates Specification</a>.</p></dd><dt id="timers.target"><span class="term"><code class="filename">timers.target</code></span><a class="headerlink" title="Permalink to this term" href="#timers.target">¶</a></dt><dd><p>A special target unit that sets up all timer units
235 (see
236 <a href="systemd.timer.html"><span class="citerefentry"><span class="refentrytitle">systemd.timer</span>(5)</span></a>
237 for details) that shall be active after boot.</p><p>It is recommended that timer units installed by
238 applications get pulled in via <code class="varname">Wants=</code>
239 dependencies from this unit. This is best configured via
240 <code class="varname">WantedBy=timers.target</code> in the timer
241 unit's "<code class="literal">[Install]</code>" section.</p></dd><dt id="umount.target"><span class="term"><code class="filename">umount.target</code></span><a class="headerlink" title="Permalink to this term" href="#umount.target">¶</a></dt><dd><p>A special target unit that umounts all mount and
242 automount points on system shutdown.</p><p>Mounts that shall be unmounted on system shutdown
243 shall add Conflicts dependencies to this unit for their
244 mount unit, which is implicitly done when
245 <code class="varname">DefaultDependencies=yes</code> is set (the
246 default).</p></dd></dl></div></div><div class="refsect1"><a name="idm140275571332224"></a><h2 id="Special System Units for Devices">Special System Units for Devices<a class="headerlink" title="Permalink to this headline" href="#Special%20System%20Units%20for%20Devices">¶</a></h2><p>Some target units are automatically pulled in as devices of
247 certain kinds show up in the system. These may be used to
248 automatically activate various services based on the specific type
249 of the available hardware.</p><div class="variablelist"><dl class="variablelist"><dt id="bluetooth.target"><span class="term"><code class="filename">bluetooth.target</code></span><a class="headerlink" title="Permalink to this term" href="#bluetooth.target">¶</a></dt><dd><p>This target is started automatically as soon as a
250 Bluetooth controller is plugged in or becomes available at
251 boot.</p><p>This may be used to pull in Bluetooth management
252 daemons dynamically when Bluetooth hardware is found.</p></dd><dt id="printer.target"><span class="term"><code class="filename">printer.target</code></span><a class="headerlink" title="Permalink to this term" href="#printer.target">¶</a></dt><dd><p>This target is started automatically as soon as a
253 printer is plugged in or becomes available at boot.</p><p>This may be used to pull in printer management daemons
254 dynamically when printer hardware is found.</p></dd><dt id="smartcard.target"><span class="term"><code class="filename">smartcard.target</code></span><a class="headerlink" title="Permalink to this term" href="#smartcard.target">¶</a></dt><dd><p>This target is started automatically as soon as a
255 smartcard controller is plugged in or becomes available at
256 boot.</p><p>This may be used to pull in smartcard management
257 daemons dynamically when smartcard hardware is found.</p></dd><dt id="sound.target"><span class="term"><code class="filename">sound.target</code></span><a class="headerlink" title="Permalink to this term" href="#sound.target">¶</a></dt><dd><p>This target is started automatically as soon as a
258 sound card is plugged in or becomes available at
259 boot.</p><p>This may be used to pull in audio management daemons
260 dynamically when audio hardware is found.</p></dd></dl></div></div><div class="refsect1"><a name="idm140275571320224"></a><h2 id="Special Passive System Units ">Special Passive System Units <a class="headerlink" title="Permalink to this headline" href="#Special%20Passive%20System%20Units%20">¶</a></h2><p>A number of special system targets are defined that can be
261 used to properly order boot-up of optional services. These targets
262 are generally not part of the initial boot transaction, unless
263 they are explicitly pulled in by one of the implementing services.
264 Note specifically that these <span class="emphasis"><em>passive</em></span> target
265 units are generally not pulled in by the consumer of a service,
266 but by the provider of the service. This means: a consuming
267 service should order itself after these targets (as appropriate),
268 but not pull it in. A providing service should order itself before
269 these targets (as appropriate) and pull it in (via a
270 <code class="varname">Wants=</code> type dependency).</p><p>Note that these passive units cannot be started manually,
271 i.e. "<code class="literal">systemctl start time-sync.target</code>" will fail
272 with an error. They can only be pulled in by dependency. This is
273 enforced since they exist for ordering purposes only and thus are
274 not useful as only unit within a transaction.</p><div class="variablelist"><dl class="variablelist"><dt id="cryptsetup-pre.target"><span class="term"><code class="filename">cryptsetup-pre.target</code></span><a class="headerlink" title="Permalink to this term" href="#cryptsetup-pre.target">¶</a></dt><dd><p>This passive target unit may be pulled in by services
275 that want to run before any encrypted block device is set
276 up. All encrypted block devices are set up after this target
277 has been reached. Since the shutdown order is implicitly the
278 reverse start-up order between units, this target is
279 particularly useful to ensure that a service is shut down
280 only after all encrypted block devices are fully
281 stopped.</p></dd><dt id="local-fs-pre.target"><span class="term"><code class="filename">local-fs-pre.target</code></span><a class="headerlink" title="Permalink to this term" href="#local-fs-pre.target">¶</a></dt><dd><p>This target unit is
282 automatically ordered before
283 all local mount points marked
284 with <code class="option">auto</code>
285 (see above). It can be used to
286 execute certain units before
287 all local mounts.</p></dd><dt id="network.target"><span class="term"><code class="filename">network.target</code></span><a class="headerlink" title="Permalink to this term" href="#network.target">¶</a></dt><dd><p>This unit is supposed to indicate when network
288 functionality is available, but it is only very weakly
289 defined what that is supposed to mean, with one exception:
290 at shutdown, a unit that is ordered after
291 <code class="filename">network.target</code> will be stopped before
292 the network -- to whatever level it might be set up then --
293 is shut down. It is hence useful when writing service files
294 that require network access on shutdown, which should order
295 themselves after this target, but not pull it in. Also see
296 <a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget" target="_top">Running
297 Services After the Network is up</a> for more
298 information. Also see
299 <code class="filename">network-online.target</code> described
300 above.</p><p>systemd automatically adds dependencies of type
301 <code class="varname">After=</code> for this target unit to all SysV
302 init script service units with an LSB header referring to
303 the "<code class="literal">$network</code>" facility.</p></dd><dt id="network-pre.target"><span class="term"><code class="filename">network-pre.target</code></span><a class="headerlink" title="Permalink to this term" href="#network-pre.target">¶</a></dt><dd><p>This passive target unit may be pulled in by services
304 that want to run before any network is set up, for example
305 for the purpose of setting up a firewall. All network
306 management software orders itself after this target, but
307 does not pull it in.</p></dd><dt id="nss-lookup.target"><span class="term"><code class="filename">nss-lookup.target</code></span><a class="headerlink" title="Permalink to this term" href="#nss-lookup.target">¶</a></dt><dd><p>A target that should be used as synchronization point
308 for all host/network name service lookups. Note that this is
309 independent of user/group name lookups for which
310 <code class="filename">nss-user-lookup.target</code> should be used.
311 All services for which the availability of full host/network
312 name resolution is essential should be ordered after this
313 target, but not pull it in. systemd automatically adds
314 dependencies of type <code class="varname">After=</code> for this
315 target unit to all SysV init script service units with an
316 LSB header referring to the "<code class="literal">$named</code>"
317 facility.</p></dd><dt id="nss-user-lookup.target"><span class="term"><code class="filename">nss-user-lookup.target</code></span><a class="headerlink" title="Permalink to this term" href="#nss-user-lookup.target">¶</a></dt><dd><p>A target that should be used as synchronization point
318 for all user/group name service lookups. Note that this is
319 independent of host/network name lookups for which
320 <code class="filename">nss-lookup.target</code> should be used. All
321 services for which the availability of the full user/group
322 database is essential should be ordered after this target,
323 but not pull it in. Note that system users are always
324 resolvable, and hence do not require any special ordering
325 against this target.</p></dd><dt id="remote-fs-pre.target"><span class="term"><code class="filename">remote-fs-pre.target</code></span><a class="headerlink" title="Permalink to this term" href="#remote-fs-pre.target">¶</a></dt><dd><p>This target unit is automatically ordered before all
326 remote mount point units (see above). It can be used to run
327 certain units before the remote mounts are established. Note
328 that this unit is generally not part of the initial
329 transaction, unless the unit that wants to be ordered before
330 all remote mounts pulls it in via a
331 <code class="varname">Wants=</code> type dependency. If the unit wants
332 to be pulled in by the first remote mount showing up, it
333 should use <code class="filename">network-online.target</code> (see
334 above).</p></dd><dt id="rpcbind.target"><span class="term"><code class="filename">rpcbind.target</code></span><a class="headerlink" title="Permalink to this term" href="#rpcbind.target">¶</a></dt><dd><p>The portmapper/rpcbind pulls in this target and orders
335 itself before it, to indicate its availability. systemd
336 automatically adds dependencies of type
337 <code class="varname">After=</code> for this target unit to all SysV
338 init script service units with an LSB header referring to
339 the "<code class="literal">$portmap</code>" facility.</p></dd><dt id="time-sync.target"><span class="term"><code class="filename">time-sync.target</code></span><a class="headerlink" title="Permalink to this term" href="#time-sync.target">¶</a></dt><dd><p>Services responsible for synchronizing the system
340 clock from a remote source (such as NTP client
341 implementations) should pull in this target and order
342 themselves before it. All services where correct time is
343 essential should be ordered after this unit, but not pull it
344 in. systemd automatically adds dependencies of type
345 <code class="varname">After=</code> for this target unit to all SysV
346 init script service units with an LSB header referring to
347 the "<code class="literal">$time</code>" facility. </p></dd></dl></div></div><div class="refsect1"><a name="idm140275571285408"></a><h2 id="Special User Units">Special User Units<a class="headerlink" title="Permalink to this headline" href="#Special%20User%20Units">¶</a></h2><p>When systemd runs as a user instance, the following special
348 units are available, which have similar definitions as their
349 system counterparts:
350 <code class="filename">default.target</code>,
351 <code class="filename">shutdown.target</code>,
352 <code class="filename">sockets.target</code>,
353 <code class="filename">timers.target</code>,
354 <code class="filename">paths.target</code>,
355 <code class="filename">bluetooth.target</code>,
356 <code class="filename">printer.target</code>,
357 <code class="filename">smartcard.target</code>,
358 <code class="filename">sound.target</code>.</p><p>In addition, the following special unit is understood only
359 when systemd runs as service instance:</p><div class="variablelist"><dl class="variablelist"><dt id="exit.target"><span class="term"><code class="filename">exit.target</code></span><a class="headerlink" title="Permalink to this term" href="#exit.target">¶</a></dt><dd><p>A special service unit for shutting down the user
360 service manager.</p><p>Applications wanting to terminate the user service
361 manager should start this unit. If systemd receives
362 <code class="constant">SIGTERM</code> or <code class="constant">SIGINT</code>
363 when running as user service daemon, it will start this
364 unit.</p><p>Normally, this pulls in
365 <code class="filename">shutdown.target</code> which in turn should be
366 conflicted by all units that want to be shut down on user
367 service manager exit.</p></dd></dl></div></div><div class="refsect1"><a name="idm140275571273040"></a><h2 id="Special Slice Units">Special Slice Units<a class="headerlink" title="Permalink to this headline" href="#Special%20Slice%20Units">¶</a></h2><p>There are four "<code class="literal">.slice</code>" units which form
368 the basis of the hierarchy for assignment of resources for
369 services, users, and virtual machines or containers.</p><div class="variablelist"><dl class="variablelist"><dt id="-.slice"><span class="term"><code class="filename">-.slice</code></span><a class="headerlink" title="Permalink to this term" href="#-.slice">¶</a></dt><dd><p>The root slice is the root of the hierarchy. It
370 usually does not contain units directly, but may be used to
371 set defaults for the whole tree.</p></dd><dt id="system.slice"><span class="term"><code class="filename">system.slice</code></span><a class="headerlink" title="Permalink to this term" href="#system.slice">¶</a></dt><dd><p>By default, all services services started by
372 <span class="command"><strong>systemd</strong></span> are found in this slice.</p></dd><dt id="user.slice"><span class="term"><code class="filename">user.slice</code></span><a class="headerlink" title="Permalink to this term" href="#user.slice">¶</a></dt><dd><p>By default, all user processes and services started on
373 behalf of the user, including the per-user systemd instance
374 are found in this slice.</p></dd><dt id="machine.slice"><span class="term"><code class="filename">machine.slice</code></span><a class="headerlink" title="Permalink to this term" href="#machine.slice">¶</a></dt><dd><p>By default, all virtual machines and containers
375 registered with <span class="command"><strong>systemd-machined</strong></span> are
376 found in this slice.
377 </p></dd></dl></div></div><div class="refsect1"><a name="idm140275571261408"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also">¶</a></h2><p>
378 <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
379 <a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>,
380 <a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
381 <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,
382 <a href="systemd.target.html"><span class="citerefentry"><span class="refentrytitle">systemd.target</span>(5)</span></a>,
383 <a href="systemd.slice.html"><span class="citerefentry"><span class="refentrytitle">systemd.slice</span>(5)</span></a>,
384 <a href="http://man7.org/linux/man-pages/man7/bootup.7.html"><span class="citerefentry"><span class="refentrytitle">bootup</span>(7)</span></a>,
385 <a href="systemd-fstab-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-fstab-generator</span>(8)</span></a>
386 </p></div></div></body></html>