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