]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/systemd.special.xml
man: generate configured paths in manpages
[thirdparty/systemd.git] / man / systemd.special.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
4 <!ENTITY % entities SYSTEM "custom-entities.ent" >
5 %entities;
6 ]>
7
8 <!--
9 This file is part of systemd.
10
11 Copyright 2010 Lennart Poettering
12
13 systemd is free software; you can redistribute it and/or modify it
14 under the terms of the GNU Lesser General Public License as published by
15 the Free Software Foundation; either version 2.1 of the License, or
16 (at your option) any later version.
17
18 systemd is distributed in the hope that it will be useful, but
19 WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 Lesser General Public License for more details.
22
23 You should have received a copy of the GNU Lesser General Public License
24 along with systemd; If not, see <http://www.gnu.org/licenses/>.
25 -->
26
27 <refentry id="systemd.special">
28
29 <refentryinfo>
30 <title>systemd.special</title>
31 <productname>systemd</productname>
32
33 <authorgroup>
34 <author>
35 <contrib>Developer</contrib>
36 <firstname>Lennart</firstname>
37 <surname>Poettering</surname>
38 <email>lennart@poettering.net</email>
39 </author>
40 </authorgroup>
41 </refentryinfo>
42
43 <refmeta>
44 <refentrytitle>systemd.special</refentrytitle>
45 <manvolnum>7</manvolnum>
46 </refmeta>
47
48 <refnamediv>
49 <refname>systemd.special</refname>
50 <refpurpose>Special systemd units</refpurpose>
51 </refnamediv>
52
53 <refsynopsisdiv>
54 <para><filename>basic.target</filename>,
55 <filename>bluetooth.target</filename>,
56 <filename>ctrl-alt-del.target</filename>,
57 <filename>cryptsetup.target</filename>,
58 <filename>cryptsetup-pre.target</filename>,
59 <filename>dbus.service</filename>,
60 <filename>dbus.socket</filename>,
61 <filename>default.target</filename>,
62 <filename>display-manager.service</filename>,
63 <filename>emergency.target</filename>,
64 <filename>exit.target</filename>,
65 <filename>final.target</filename>,
66 <filename>getty.target</filename>,
67 <filename>graphical.target</filename>,
68 <filename>halt.target</filename>,
69 <filename>hibernate.target</filename>,
70 <filename>hybrid-sleep.target</filename>,
71 <filename>initrd-fs.target</filename>,
72 <filename>kbrequest.target</filename>,
73 <filename>kexec.target</filename>,
74 <filename>local-fs.target</filename>,
75 <filename>local-fs-pre.target</filename>,
76 <filename>multi-user.target</filename>,
77 <filename>network.target</filename>,
78 <filename>network-online.target</filename>,
79 <filename>network-pre.target</filename>,
80 <filename>nss-lookup.target</filename>,
81 <filename>nss-user-lookup.target</filename>,
82 <filename>paths.target</filename>,
83 <filename>poweroff.target</filename>,
84 <filename>printer.target</filename>,
85 <filename>reboot.target</filename>,
86 <filename>remote-fs.target</filename>,
87 <filename>remote-fs-pre.target</filename>,
88 <filename>rescue.target</filename>,
89 <filename>initrd-root-fs.target</filename>,
90 <filename>rpcbind.target</filename>,
91 <filename>runlevel2.target</filename>,
92 <filename>runlevel3.target</filename>,
93 <filename>runlevel4.target</filename>,
94 <filename>runlevel5.target</filename>,
95 <filename>shutdown.target</filename>,
96 <filename>sigpwr.target</filename>,
97 <filename>sleep.target</filename>,
98 <filename>smartcard.target</filename>,
99 <filename>sockets.target</filename>,
100 <filename>sound.target</filename>,
101 <filename>suspend.target</filename>,
102 <filename>swap.target</filename>,
103 <filename>sysinit.target</filename>,
104 <filename>syslog.socket</filename>,
105 <filename>system-update.target</filename>,
106 <filename>time-sync.target</filename>,
107 <filename>timers.target</filename>,
108 <filename>umount.target</filename>,
109 <filename>-.slice</filename>,
110 <filename>system.slice</filename>,
111 <filename>user.slice</filename>,
112 <filename>machine.slice</filename></para>
113 </refsynopsisdiv>
114
115 <refsect1>
116 <title>Description</title>
117
118 <para>A few units are treated specially by systemd. They have
119 special internal semantics and cannot be renamed.</para>
120 </refsect1>
121
122 <refsect1>
123 <title>Special System Units</title>
124
125 <variablelist>
126 <varlistentry>
127 <term><filename>basic.target</filename></term>
128 <listitem>
129 <para>A special target unit covering basic boot-up.</para>
130
131 <para>systemd automatically adds dependencies of the types
132 <varname>Requires=</varname> and <varname>After=</varname>
133 for this target unit to all services (except for those with
134 <varname>DefaultDependencies=no</varname>).</para>
135
136 <para>Usually this should pull-in all mount points, swap
137 devices, sockets, timers, and path units and other basic
138 initialization necessary for general purpose daemons.</para>
139 </listitem>
140 </varlistentry>
141 <varlistentry>
142 <term><filename>ctrl-alt-del.target</filename></term>
143 <listitem>
144 <para>systemd starts this target whenever Control+Alt+Del is
145 pressed on the console. Usually this should be aliased
146 (symlinked) to <filename>reboot.target</filename>.</para>
147 </listitem>
148 </varlistentry>
149 <varlistentry>
150 <term><filename>cryptsetup.target</filename></term>
151 <listitem>
152 <para>A target that pulls in setup services for all
153 encrypted block devices.</para>
154 </listitem>
155 </varlistentry>
156 <varlistentry>
157 <term><filename>dbus.service</filename></term>
158 <listitem>
159 <para>A special unit for the D-Bus bus daemon. As soon as
160 this service is fully started up systemd will connect to it
161 and register its service.</para>
162 </listitem>
163 </varlistentry>
164 <varlistentry>
165 <term><filename>dbus.socket</filename></term>
166 <listitem>
167 <para>A special unit for the D-Bus system bus socket. All
168 units with <varname>Type=dbus</varname> automatically gain a
169 dependency on this unit.</para>
170 </listitem>
171 </varlistentry>
172 <varlistentry>
173 <term><filename>default.target</filename></term>
174 <listitem>
175 <para>The default unit systemd starts at bootup. Usually
176 this should be aliased (symlinked) to
177 <filename>multi-user.target</filename> or
178 <filename>graphical.target</filename>.</para>
179
180 <para>The default unit systemd starts at bootup can be
181 overridden with the <varname>systemd.unit=</varname> kernel
182 command line option.</para>
183 </listitem>
184 </varlistentry>
185 <varlistentry>
186 <term><filename>display-manager.service</filename></term>
187 <listitem>
188 <para>The display manager service. Usually this should be
189 aliased (symlinked) to <filename>gdm.service</filename> or a
190 similar display manager service.</para>
191 </listitem>
192 </varlistentry>
193 <varlistentry>
194 <term><filename>emergency.target</filename></term>
195 <listitem>
196 <para>A special target unit that starts an emergency shell
197 on the main console. This unit is supposed to be used with
198 the kernel command line option
199 <varname>systemd.unit=</varname> and has otherwise little
200 use.
201 </para>
202 </listitem>
203 </varlistentry>
204 <varlistentry>
205 <term><filename>final.target</filename></term>
206 <listitem>
207 <para>A special target unit that is used during the shutdown
208 logic and may be used to pull in late services after all
209 normal services are already terminated and all mounts
210 unmounted.
211 </para>
212 </listitem>
213 </varlistentry>
214 <varlistentry>
215 <term><filename>getty.target</filename></term>
216 <listitem>
217 <para>A special target unit that pulls in statically
218 configured local TTY <filename>getty</filename> instances.
219 </para>
220 </listitem>
221 </varlistentry>
222 <varlistentry>
223 <term><filename>graphical.target</filename></term>
224 <listitem>
225 <para>A special target unit for setting up a graphical login
226 screen. This pulls in
227 <filename>multi-user.target</filename>.</para>
228
229 <para>Units that are needed for graphical logins shall add
230 <varname>Wants=</varname> dependencies for their unit to
231 this unit (or <filename>multi-user.target</filename>) during
232 installation. This is best configured via
233 <varname>WantedBy=graphical.target</varname> in the unit's
234 <literal>[Install]</literal> section.</para>
235 </listitem>
236 </varlistentry>
237 <varlistentry>
238 <term><filename>hibernate.target</filename></term>
239 <listitem>
240 <para>A special target unit for hibernating the system. This
241 pulls in <filename>sleep.target</filename>.</para>
242 </listitem>
243 </varlistentry>
244 <varlistentry>
245 <term><filename>hybrid-sleep.target</filename></term>
246 <listitem>
247 <para>A special target unit for hibernating and suspending
248 the system at the same time. This pulls in
249 <filename>sleep.target</filename>.</para>
250 </listitem>
251 </varlistentry>
252 <varlistentry>
253 <term><filename>halt.target</filename></term>
254 <listitem>
255 <para>A special target unit for shutting down and halting
256 the system. Note that this target is distinct from
257 <filename>poweroff.target</filename> in that it generally
258 really just halts the system rather than powering it
259 down.</para>
260
261 <para>Applications wanting to halt the system should start
262 this unit.</para>
263 </listitem>
264 </varlistentry>
265 <varlistentry>
266 <term><filename>initrd-fs.target</filename></term>
267 <listitem>
268 <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
269 automatically adds dependencies of type
270 <varname>Before=</varname> to
271 <filename>sysroot-usr.mount</filename> and all mount points
272 found in <filename>/etc/fstab</filename> that have
273 <option>x-initrd.mount</option> and not have
274 <option>noauto</option> mount options set.</para>
275 </listitem>
276 </varlistentry>
277 <varlistentry>
278 <term><filename>kbrequest.target</filename></term>
279 <listitem>
280 <para>systemd starts this target whenever Alt+ArrowUp is
281 pressed on the console. This is a good candidate to be
282 aliased (symlinked) to
283 <filename>rescue.target</filename>.</para>
284 </listitem>
285 </varlistentry>
286 <varlistentry>
287 <term><filename>kexec.target</filename></term>
288 <listitem>
289 <para>A special target unit for shutting down and rebooting
290 the system via kexec.</para>
291
292 <para>Applications wanting to reboot the system with kexec
293 should start this unit.</para>
294 </listitem>
295 </varlistentry>
296 <varlistentry>
297 <term><filename>local-fs.target</filename></term>
298 <listitem>
299 <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
300 automatically adds dependencies of type
301 <varname>Before=</varname> to all mount units that refer to
302 local mount points for this target unit. In addition, it
303 adds dependencies of type <varname>Wants=</varname> to this
304 target unit for those mounts listed in
305 <filename>/etc/fstab</filename> that have the
306 <option>auto</option> mount option set.</para>
307 </listitem>
308 </varlistentry>
309 <varlistentry>
310 <term><filename>multi-user.target</filename></term>
311 <listitem>
312 <para>A special target unit for setting up a multi-user
313 system (non-graphical). This is pulled in by
314 <filename>graphical.target</filename>.</para>
315
316 <para>Units that are needed for a multi-user system shall
317 add <varname>Wants=</varname> dependencies for their unit to
318 this unit during installation. This is best configured via
319 <varname>WantedBy=multi-user.target</varname> in the unit's
320 <literal>[Install]</literal> section.</para>
321 </listitem>
322 </varlistentry>
323 <varlistentry>
324 <term><filename>network-online.target</filename></term>
325 <listitem>
326 <para>Units that strictly require a configured network
327 connection should pull in
328 <filename>network-online.target</filename> (via a
329 <varname>Wants=</varname> type dependency) and order
330 themselves after it. This target unit is intended to pull in
331 a service that delays further execution until the network is
332 sufficiently set up. What precisely this requires is left to
333 the implementation of the network managing service.</para>
334
335 <para>Note the distinction between this unit and
336 <filename>network.target</filename>. This unit is an active
337 unit (i.e. pulled in by the consumer rather than the
338 provider of this functionality) and pulls in a service which
339 possibly adds substantial delays to further execution. In
340 contrast, <filename>network.target</filename> is a passive
341 unit (i.e. pulled in by the provider of the functionality,
342 rather than the consumer) that usually does not delay
343 execution much. Usually, <filename>network.target</filename>
344 is part of the boot of most systems, while
345 <filename>network-online.target</filename> is not, except
346 when at least one unit requires it. Also see <ulink
347 url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
348 Services After the Network is up</ulink> for more
349 information.</para>
350
351 <para>All mount units for remote network file systems
352 automatically pull in this unit, and order themselves after
353 it. Note that networking daemons that simply provide
354 functionality to other hosts generally do not need to pull
355 this in.</para>
356 </listitem>
357 </varlistentry>
358 <varlistentry>
359 <term><filename>paths.target</filename></term>
360 <listitem>
361 <para>A special target unit that sets up all path units (see
362 <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>
363 for details) that shall be active after boot.</para>
364
365 <para>It is recommended that path units installed by
366 applications get pulled in via <varname>Wants=</varname>
367 dependencies from this unit. This is best configured via a
368 <varname>WantedBy=paths.target</varname> in the path unit's
369 <literal>[Install]</literal> section.</para>
370 </listitem>
371 </varlistentry>
372 <varlistentry>
373 <term><filename>poweroff.target</filename></term>
374 <listitem>
375 <para>A special target unit for shutting down and powering
376 off the system.</para>
377
378 <para>Applications wanting to power off the system should
379 start this unit.</para>
380
381 <para><filename>runlevel0.target</filename> is an alias for
382 this target unit, for compatibility with SysV.</para>
383 </listitem>
384 </varlistentry>
385 <varlistentry>
386 <term><filename>reboot.target</filename></term>
387 <listitem>
388 <para>A special target unit for shutting down and rebooting
389 the system.</para>
390
391 <para>Applications wanting to reboot the system should start
392 this unit.</para>
393
394 <para><filename>runlevel6.target</filename> is an alias for
395 this target unit, for compatibility with SysV.</para>
396 </listitem>
397 </varlistentry>
398 <varlistentry>
399 <term><filename>remote-fs.target</filename></term>
400 <listitem>
401 <para>Similar to <filename>local-fs.target</filename>, but
402 for remote mount points.</para>
403
404 <para>systemd automatically adds dependencies of type
405 <varname>After=</varname> for this target unit to all SysV
406 init script service units with an LSB header referring to
407 the <literal>$remote_fs</literal> facility.</para>
408 </listitem>
409 </varlistentry>
410 <varlistentry>
411 <term><filename>rescue.target</filename></term>
412 <listitem>
413 <para>A special target unit for setting up the base system
414 and a rescue shell.</para>
415
416 <para><filename>runlevel1.target</filename> is an alias for
417 this target unit, for compatibility with SysV.</para>
418 </listitem>
419 </varlistentry>
420 <varlistentry>
421 <term><filename>initrd-root-fs.target</filename></term>
422 <listitem>
423 <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
424 automatically adds dependencies of type
425 <varname>Before=</varname> to the
426 <filename>sysroot.mount</filename> unit, which is generated
427 from the kernel command line.
428 </para>
429 </listitem>
430 </varlistentry>
431 <varlistentry>
432 <term><filename>runlevel2.target</filename></term>
433 <term><filename>runlevel3.target</filename></term>
434 <term><filename>runlevel4.target</filename></term>
435 <term><filename>runlevel5.target</filename></term>
436 <listitem>
437 <para>These are targets that are called whenever the SysV
438 compatibility code asks for runlevel 2, 3, 4, 5,
439 respectively. It is a good idea to make this an alias for
440 (i.e. symlink to) <filename>multi-user.target</filename>
441 (for runlevel 2) or <filename>graphical.target</filename>
442 (the others).</para>
443 </listitem>
444 </varlistentry>
445 <varlistentry>
446 <term><filename>shutdown.target</filename></term>
447 <listitem>
448 <para>A special target unit that terminates the services on
449 system shutdown.</para>
450
451 <para>Services that shall be terminated on system shutdown
452 shall add <varname>Conflicts=</varname> dependencies to this
453 unit for their service unit, which is implicitly done when
454 <varname>DefaultDependencies=yes</varname> is set (the
455 default).</para>
456 </listitem>
457 </varlistentry>
458 <varlistentry>
459 <term><filename>sigpwr.target</filename></term>
460 <listitem>
461 <para>A special target that is started when systemd receives
462 the SIGPWR process signal, which is normally sent by the
463 kernel or UPS daemons when power fails.</para>
464 </listitem>
465 </varlistentry>
466 <varlistentry>
467 <term><filename>sleep.target</filename></term>
468 <listitem>
469 <para>A special target unit that is pulled in by
470 <filename>suspend.target</filename>,
471 <filename>hibernate.target</filename> and
472 <filename>hybrid-sleep.target</filename> and may be used to
473 hook units into the sleep state logic.</para>
474 </listitem>
475 </varlistentry>
476 <varlistentry>
477 <term><filename>sockets.target</filename></term>
478 <listitem>
479 <para>A special target unit that sets up all socket
480 units.(see
481 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
482 for details) that shall be active after boot.</para>
483
484 <para>Services that can be socket-activated shall add
485 <varname>Wants=</varname> dependencies to this unit for
486 their socket unit during installation. This is best
487 configured via a <varname>WantedBy=sockets.target</varname>
488 in the socket unit's <literal>[Install]</literal>
489 section.</para>
490 </listitem>
491 </varlistentry>
492 <varlistentry>
493 <term><filename>suspend.target</filename></term>
494 <listitem>
495 <para>A special target unit for suspending the system. This
496 pulls in <filename>sleep.target</filename>.</para>
497 </listitem>
498 </varlistentry>
499 <varlistentry>
500 <term><filename>swap.target</filename></term>
501 <listitem>
502 <para>Similar to <filename>local-fs.target</filename>, but
503 for swap partitions and swap files.</para>
504 </listitem>
505 </varlistentry>
506 <varlistentry>
507 <term><filename>sysinit.target</filename></term>
508 <listitem>
509 <para>A special target unit covering early boot-up
510 scripts.</para>
511 </listitem>
512 </varlistentry>
513 <varlistentry>
514 <term><filename>syslog.socket</filename></term>
515 <listitem>
516 <para>The socket unit syslog implementations should listen
517 on. All userspace log messages will be made available on
518 this socket. For more information about syslog integration,
519 please consult the <ulink
520 url="http://www.freedesktop.org/wiki/Software/systemd/syslog">Syslog
521 Interface</ulink> document.</para>
522 </listitem>
523 </varlistentry>
524 <varlistentry>
525 <term><filename>system-update.target</filename></term>
526 <listitem>
527 <para>A special target unit that is used for off-line system
528 updates.
529 <citerefentry><refentrytitle>systemd-system-update-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
530 will redirect the boot process to this target if
531 <filename>/system-update</filename> exists. For more
532 information see the <ulink
533 url="http://freedesktop.org/wiki/Software/systemd/SystemUpdates">System
534 Updates Specification</ulink>.</para>
535 </listitem>
536 </varlistentry>
537 <varlistentry>
538 <term><filename>timers.target</filename></term>
539 <listitem>
540 <para>A special target unit that sets up all timer units
541 (see
542 <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>
543 for details) that shall be active after boot.</para>
544
545 <para>It is recommended that timer units installed by
546 applications get pulled in via <varname>Wants=</varname>
547 dependencies from this unit. This is best configured via
548 <varname>WantedBy=timers.target</varname> in the timer
549 unit's <literal>[Install]</literal> section.</para>
550 </listitem>
551 </varlistentry>
552 <varlistentry>
553 <term><filename>umount.target</filename></term>
554 <listitem>
555 <para>A special target unit that umounts all mount and
556 automount points on system shutdown.</para>
557
558 <para>Mounts that shall be unmounted on system shutdown
559 shall add Conflicts dependencies to this unit for their
560 mount unit, which is implicitly done when
561 <varname>DefaultDependencies=yes</varname> is set (the
562 default).</para>
563 </listitem>
564 </varlistentry>
565
566 </variablelist>
567 </refsect1>
568
569 <refsect1>
570 <title>Special System Units for Devices</title>
571
572 <para>Some target units are automatically pulled in as devices of
573 certain kinds show up in the system. These may be used to
574 automatically activate various services based on the specific type
575 of the available hardware.</para>
576
577 <variablelist>
578 <varlistentry>
579 <term><filename>bluetooth.target</filename></term>
580 <listitem>
581 <para>This target is started automatically as soon as a
582 Bluetooth controller is plugged in or becomes available at
583 boot.</para>
584
585 <para>This may be used to pull in Bluetooth management
586 daemons dynamically when Bluetooth hardware is found.</para>
587 </listitem>
588 </varlistentry>
589 <varlistentry>
590 <term><filename>printer.target</filename></term>
591 <listitem>
592 <para>This target is started automatically as soon as a
593 printer is plugged in or becomes available at boot.</para>
594
595 <para>This may be used to pull in printer management daemons
596 dynamically when printer hardware is found.</para>
597 </listitem>
598 </varlistentry>
599 <varlistentry>
600 <term><filename>smartcard.target</filename></term>
601 <listitem>
602 <para>This target is started automatically as soon as a
603 smartcard controller is plugged in or becomes available at
604 boot.</para>
605
606 <para>This may be used to pull in smartcard management
607 daemons dynamically when smartcard hardware is found.</para>
608 </listitem>
609 </varlistentry>
610 <varlistentry>
611 <term><filename>sound.target</filename></term>
612 <listitem>
613 <para>This target is started automatically as soon as a
614 sound card is plugged in or becomes available at
615 boot.</para>
616
617 <para>This may be used to pull in audio management daemons
618 dynamically when audio hardware is found.</para>
619 </listitem>
620 </varlistentry>
621 </variablelist>
622 </refsect1>
623
624 <refsect1>
625 <title>Special Passive System Units </title>
626
627 <para>A number of special system targets are defined that can be
628 used to properly order boot-up of optional services. These targets
629 are generally not part of the initial boot transaction, unless
630 they are explicitly pulled in by one of the implementing services.
631 Note specifically that these <emphasis>passive</emphasis> target
632 units are generally not pulled in by the consumer of a service,
633 but by the provider of the service. This means: a consuming
634 service should order itself after these targets (as appropriate),
635 but not pull it in. A providing service should order itself before
636 these targets (as appropriate) and pull it in (via a
637 <varname>Wants=</varname> type dependency).</para>
638
639 <para>Note that these passive units cannot be started manually,
640 i.e. <literal>systemctl start time-sync.target</literal> will fail
641 with an error. They can only be pulled in by dependency. This is
642 enforced since they exist for ordering purposes only and thus are
643 not useful as only unit within a transaction.</para>
644
645 <variablelist>
646 <varlistentry>
647 <term><filename>cryptsetup-pre.target</filename></term>
648 <listitem>
649 <para>This passive target unit may be pulled in by services
650 that want to run before any encrypted block device is set
651 up. All encrypted block devices are set up after this target
652 has been reached. Since the shutdown order is implicitly the
653 reverse start-up order between units, this target is
654 particularly useful to ensure that a service is shut down
655 only after all encrypted block devices are fully
656 stopped.</para>
657 </listitem>
658 </varlistentry>
659 <varlistentry>
660 <term><filename>local-fs-pre.target</filename></term>
661 <listitem>
662 <para>This target unit is
663 automatically ordered before
664 all local mount points marked
665 with <option>auto</option>
666 (see above). It can be used to
667 execute certain units before
668 all local mounts.</para>
669 </listitem>
670 </varlistentry>
671 <varlistentry>
672 <term><filename>network.target</filename></term>
673 <listitem>
674 <para>This unit is supposed to indicate when network
675 functionality is available, but it is only very weakly
676 defined what that is supposed to mean, with one exception:
677 at shutdown, a unit that is ordered after
678 <filename>network.target</filename> will be stopped before
679 the network -- to whatever level it might be set up then --
680 is shut down. It is hence useful when writing service files
681 that require network access on shutdown, which should order
682 themselves after this target, but not pull it in. Also see
683 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
684 Services After the Network is up</ulink> for more
685 information. Also see
686 <filename>network-online.target</filename> described
687 above.</para>
688
689 <para>systemd automatically adds dependencies of type
690 <varname>After=</varname> for this target unit to all SysV
691 init script service units with an LSB header referring to
692 the <literal>$network</literal> facility.</para>
693 </listitem>
694 </varlistentry>
695 <varlistentry>
696 <term><filename>network-pre.target</filename></term>
697 <listitem>
698 <para>This passive target unit may be pulled in by services
699 that want to run before any network is set up, for example
700 for the purpose of setting up a firewall. All network
701 management software orders itself after this target, but
702 does not pull it in.</para>
703 </listitem>
704 </varlistentry>
705 <varlistentry>
706 <term><filename>nss-lookup.target</filename></term>
707 <listitem>
708 <para>A target that should be used as synchronization point
709 for all host/network name service lookups. Note that this is
710 independent of user/group name lookups for which
711 <filename>nss-user-lookup.target</filename> should be used.
712 All services for which the availability of full host/network
713 name resolution is essential should be ordered after this
714 target, but not pull it in. systemd automatically adds
715 dependencies of type <varname>After=</varname> for this
716 target unit to all SysV init script service units with an
717 LSB header referring to the <literal>$named</literal>
718 facility.</para>
719 </listitem>
720 </varlistentry>
721 <varlistentry>
722 <term><filename>nss-user-lookup.target</filename></term>
723 <listitem>
724 <para>A target that should be used as synchronization point
725 for all user/group name service lookups. Note that this is
726 independent of host/network name lookups for which
727 <filename>nss-lookup.target</filename> should be used. All
728 services for which the availability of the full user/group
729 database is essential should be ordered after this target,
730 but not pull it in. Note that system users are always
731 resolvable, and hence do not require any special ordering
732 against this target.</para>
733 </listitem>
734 </varlistentry>
735 <varlistentry>
736 <term><filename>remote-fs-pre.target</filename></term>
737 <listitem>
738 <para>This target unit is automatically ordered before all
739 remote mount point units (see above). It can be used to run
740 certain units before the remote mounts are established. Note
741 that this unit is generally not part of the initial
742 transaction, unless the unit that wants to be ordered before
743 all remote mounts pulls it in via a
744 <varname>Wants=</varname> type dependency. If the unit wants
745 to be pulled in by the first remote mount showing up, it
746 should use <filename>network-online.target</filename> (see
747 above).</para>
748 </listitem>
749 </varlistentry>
750 <varlistentry>
751 <term><filename>rpcbind.target</filename></term>
752 <listitem>
753 <para>The portmapper/rpcbind pulls in this target and orders
754 itself before it, to indicate its availability. systemd
755 automatically adds dependencies of type
756 <varname>After=</varname> for this target unit to all SysV
757 init script service units with an LSB header referring to
758 the <literal>$portmap</literal> facility.</para>
759 </listitem>
760 </varlistentry>
761 <varlistentry>
762 <term><filename>time-sync.target</filename></term>
763 <listitem>
764 <para>Services responsible for synchronizing the system
765 clock from a remote source (such as NTP client
766 implementations) should pull in this target and order
767 themselves before it. All services where correct time is
768 essential should be ordered after this unit, but not pull it
769 in. systemd automatically adds dependencies of type
770 <varname>After=</varname> for this target unit to all SysV
771 init script service units with an LSB header referring to
772 the <literal>$time</literal> facility. </para>
773 </listitem>
774 </varlistentry>
775 </variablelist>
776 </refsect1>
777
778 <refsect1>
779 <title>Special User Units</title>
780
781 <para>When systemd runs as a user instance, the following special
782 units are available, which have similar definitions as their
783 system counterparts:
784 <filename>default.target</filename>,
785 <filename>shutdown.target</filename>,
786 <filename>sockets.target</filename>,
787 <filename>timers.target</filename>,
788 <filename>paths.target</filename>,
789 <filename>bluetooth.target</filename>,
790 <filename>printer.target</filename>,
791 <filename>smartcard.target</filename>,
792 <filename>sound.target</filename>.</para>
793
794 <para>In addition, the following special unit is understood only
795 when systemd runs as service instance:</para>
796
797 <variablelist>
798 <varlistentry>
799 <term><filename>exit.target</filename></term>
800 <listitem>
801 <para>A special service unit for shutting down the user
802 service manager.</para>
803
804 <para>Applications wanting to terminate the user service
805 manager should start this unit. If systemd receives
806 <constant>SIGTERM</constant> or <constant>SIGINT</constant>
807 when running as user service daemon, it will start this
808 unit.</para>
809
810 <para>Normally, this pulls in
811 <filename>shutdown.target</filename> which in turn should be
812 conflicted by all units that want to be shut down on user
813 service manager exit.</para>
814 </listitem>
815 </varlistentry>
816 </variablelist>
817 </refsect1>
818
819 <refsect1>
820 <title>Special Slice Units</title>
821
822 <para>There are four <literal>.slice</literal> units which form
823 the basis of the hierarchy for assignment of resources for
824 services, users, and virtual machines or containers.</para>
825
826 <variablelist>
827 <varlistentry>
828 <term><filename>-.slice</filename></term>
829 <listitem>
830 <para>The root slice is the root of the hierarchy. It
831 usually does not contain units directly, but may be used to
832 set defaults for the whole tree.</para>
833 </listitem>
834 </varlistentry>
835
836 <varlistentry>
837 <term><filename>system.slice</filename></term>
838 <listitem>
839 <para>By default, all services services started by
840 <command>systemd</command> are found in this slice.</para>
841 </listitem>
842 </varlistentry>
843
844 <varlistentry>
845 <term><filename>user.slice</filename></term>
846 <listitem>
847 <para>By default, all user processes and services started on
848 behalf of the user, including the per-user systemd instance
849 are found in this slice.</para>
850 </listitem>
851 </varlistentry>
852
853 <varlistentry>
854 <term><filename>machine.slice</filename></term>
855 <listitem>
856 <para>By default, all virtual machines and containers
857 registered with <command>systemd-machined</command> are
858 found in this slice.
859 </para>
860 </listitem>
861 </varlistentry>
862 </variablelist>
863 </refsect1>
864
865 <refsect1>
866 <title>See Also</title>
867 <para>
868 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
869 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
870 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
871 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
872 <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
873 <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
874 <citerefentry project='man-pages'><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
875 <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
876 </para>
877 </refsect1>
878
879 </refentry>