]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/systemd.special.xml
hwdb: update
[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>,
74 <filename>nss-lookup.target</filename>,
49dbfa7b 75 <filename>nss-user-lookup.target</filename>,
e3d84721 76 <filename>paths.target</filename>,
9f2c5942 77 <filename>poweroff.target</filename>,
49dbfa7b 78 <filename>printer.target</filename>,
9f2c5942
LP
79 <filename>reboot.target</filename>,
80 <filename>remote-fs.target</filename>,
21e557ed 81 <filename>remote-fs-pre.target</filename>,
e8d2f6cd 82 <filename>remote-fs-setup.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>
e3d84721
LP
390 <varlistentry>
391 <term><filename>paths.target</filename></term>
392 <listitem>
393 <para>A special target unit
394 that sets up all path units
395 (see
396 <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>
397 for details) that shall be
398 active after boot.</para>
399
400 <para>It is recommended that
401 path units installed by
402 applications get pulled in via
403 <varname>Wants=</varname>
404 dependencies from this
405 unit. This is best configured
406 via a
407 <varname>WantedBy=paths.target</varname>
408 in the path unit's
409 <literal>[Install]</literal>
410 section.</para>
411 </listitem>
412 </varlistentry>
bd3d19a4
LP
413 <varlistentry>
414 <term><filename>poweroff.target</filename></term>
415 <listitem>
416 <para>A special target unit
417 for shutting down and powering off the system.</para>
418
419 <para>Applications wanting to
420 power off the system should start
421 this unit.</para>
422
423 <para><filename>runlevel0.target</filename>
424 is an alias for this target
425 unit, for compatibility with SysV.</para>
426 </listitem>
427 </varlistentry>
428 <varlistentry>
429 <term><filename>reboot.target</filename></term>
430 <listitem>
431 <para>A special target unit
432 for shutting down and rebooting the system.</para>
433
434 <para>Applications wanting to
435 reboot the system should start
436 this unit.</para>
437
438 <para><filename>runlevel6.target</filename>
439 is an alias for this target
440 unit, for compatibility with SysV.</para>
441 </listitem>
442 </varlistentry>
9f235308
LP
443 <varlistentry>
444 <term><filename>remote-fs.target</filename></term>
445 <listitem>
bd3d19a4
LP
446 <para>Similar to
447 <filename>local-fs.target</filename>,
448 but for remote mount
449 points.</para>
450
9f235308
LP
451 <para>systemd automatically
452 adds dependencies of type
e3d84721
LP
453 <varname>After=</varname> for
454 this target unit to all SysV
455 init script service units with
456 an LSB header referring to the
1e89ced1 457 <literal>$remote_fs</literal>
9f235308
LP
458 facility.</para>
459 </listitem>
460 </varlistentry>
e8d2f6cd
LP
461 <varlistentry>
462 <term><filename>remote-fs-setup.target</filename></term>
463 <listitem>
464 <para>This target unit is
465 automatically pulled in (by a
466 <varname>Wants=</varname> type
467 dependency) by all remote
468 mount points. It can be used
469 to run certain units when at
470 least one remote file system
471 is to be mounted. Note that
472 this target is not ordered
473 against the remote mounts, use
474 <filename>remote-fs-pre.target</filename>
54f874c5 475 for that (see below).</para>
e8d2f6cd
LP
476
477 <para>Again, this target unit
478 is <emphasis>not</emphasis>
479 suitable for ordering, it is
480 only useful for pulling in
481 other units.</para>
21e557ed
LP
482 </listitem>
483 </varlistentry>
bd3d19a4
LP
484 <varlistentry>
485 <term><filename>rescue.target</filename></term>
486 <listitem>
487 <para>A special target unit
488 for setting up the base system
489 and a rescue shell.</para>
490
491 <para><filename>runlevel1.target</filename>
492 is an alias for this target
493 unit, for compatibility with SysV.</para>
494 </listitem>
495 </varlistentry>
700e07ff 496 <varlistentry>
9e5f0f92 497 <term><filename>initrd-root-fs.target</filename></term>
700e07ff 498 <listitem>
e3d84721
LP
499 <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
500 automatically adds
501 dependencies of type
502 <varname>Before=</varname> to
503 the
504 <filename>sysroot.mount</filename>
505 unit, which is generated from
506 the kernel command line.
700e07ff
HH
507 </para>
508 </listitem>
509 </varlistentry>
bd3d19a4
LP
510 <varlistentry>
511 <term><filename>runlevel2.target</filename></term>
bd3d19a4 512 <term><filename>runlevel3.target</filename></term>
bd3d19a4 513 <term><filename>runlevel4.target</filename></term>
bd3d19a4
LP
514 <term><filename>runlevel5.target</filename></term>
515 <listitem>
669b04a4
LP
516 <para>These are targets that
517 are called whenever the SysV
bd3d19a4 518 compatibility code asks for
669b04a4
LP
519 runlevel 2, 3, 4, 5,
520 respectively. It is a good
521 idea to make this an alias for
bd3d19a4
LP
522 (i.e. symlink to)
523 <filename>multi-user.target</filename>
669b04a4
LP
524 (for runlevel 2) or
525 <filename>graphical.target</filename>
526 (the others).</para>
bd3d19a4
LP
527 </listitem>
528 </varlistentry>
9f235308
LP
529 <varlistentry>
530 <term><filename>shutdown.target</filename></term>
531 <listitem>
532 <para>A special target unit
533 that terminates the services
534 on system shutdown.</para>
535
536 <para>Services that shall be
537 terminated on system shutdown
e3d84721 538 shall add <varname>Conflicts=</varname>
bd3d19a4 539 dependencies to this unit for
3b6fdb5b
LP
540 their service unit, which is
541 implicitly done when
542 <varname>DefaultDependencies=yes</varname>
543 is set (the default).</para>
9f235308
LP
544 </listitem>
545 </varlistentry>
546 <varlistentry>
547 <term><filename>sigpwr.target</filename></term>
548 <listitem>
549 <para>A special target that is
550 started when systemd receives
551 the SIGPWR process signal,
552 which is normally sent by the
bd3d19a4 553 kernel or UPS daemons when
9f235308
LP
554 power fails.</para>
555 </listitem>
556 </varlistentry>
6edd7d0a
LP
557 <varlistentry>
558 <term><filename>sleep.target</filename></term>
559 <listitem>
560 <para>A special target unit
561 that is pulled in by
6524990f 562 <filename>suspend.target</filename>,
e3d84721
LP
563 <filename>hibernate.target</filename>
564 and
565 <filename>hybrid-sleep.target</filename>
6edd7d0a
LP
566 and may be used to hook units
567 into the sleep state
568 logic.</para>
569 </listitem>
570 </varlistentry>
9f235308
LP
571 <varlistentry>
572 <term><filename>sockets.target</filename></term>
573 <listitem>
574 <para>A special target unit
e3d84721
LP
575 that sets up all socket
576 units.(see
577 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
578 for details) that shall be
579 active after boot.</para>
9f235308
LP
580
581 <para>Services that can be
582 socket-activated shall add
e3d84721
LP
583 <varname>Wants=</varname>
584 dependencies to this unit for
585 their socket unit during
586 installation. This is best
587 configured via a
588 <varname>WantedBy=sockets.target</varname>
589 in the socket unit's
590 <literal>[Install]</literal>
591 section.</para>
9f235308
LP
592 </listitem>
593 </varlistentry>
6edd7d0a
LP
594 <varlistentry>
595 <term><filename>suspend.target</filename></term>
596 <listitem>
597 <para>A special target unit
598 for suspending the
599 system. This pulls in
600 <filename>sleep.target</filename>.</para>
601 </listitem>
602 </varlistentry>
9f235308
LP
603 <varlistentry>
604 <term><filename>swap.target</filename></term>
605 <listitem>
606 <para>Similar to
607 <filename>local-fs.target</filename>, but for swap
608 partitions and swap
609 files.</para>
610 </listitem>
611 </varlistentry>
f92a18f5
LP
612 <varlistentry>
613 <term><filename>sysinit.target</filename></term>
614 <listitem>
615 <para>A special target unit
616 covering early boot-up scripts.</para>
f92a18f5
LP
617 </listitem>
618 </varlistentry>
feb88c9f
LP
619 <varlistentry>
620 <term><filename>syslog.socket</filename></term>
621 <listitem>
f848f8d8 622 <para>The socket unit
feb88c9f
LP
623 syslog implementations should
624 listen on. All userspace log
625 messages will be made
99800333
LP
626 available on this socket. For
627 more information about syslog
628 integration, please consult
629 the <ulink
630 url="http://www.freedesktop.org/wiki/Software/systemd/syslog">Syslog
631 Interface</ulink>
632 document.</para>
feb88c9f
LP
633 </listitem>
634 </varlistentry>
f5ccf26d
LP
635 <varlistentry>
636 <term><filename>system-update.target</filename></term>
637 <listitem>
638 <para>A special target unit
639 that is used for off-line
640 system updates.
641 <citerefentry><refentrytitle>systemd-system-update-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
642 will redirect the boot process
643 to this target if
644 <filename>/system-update</filename>
645 exists. For more information
646 see the <ulink
647 url="http://freedesktop.org/wiki/Software/systemd/SystemUpdates">System
648 Updates
649 Specification</ulink>.</para>
650 </listitem>
651 </varlistentry>
e3d84721
LP
652 <varlistentry>
653 <term><filename>timers.target</filename></term>
654 <listitem>
655 <para>A special target unit
656 that sets up all timer
657 units (see
658 <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>
659 for details) that shall be
660 active after boot.</para>
661
662 <para>It is recommended that
663 timer units installed by
664 applications get pulled in via
665 <varname>Wants=</varname>
666 dependencies from this
667 unit. This is best configured
668 via
669 <varname>WantedBy=timers.target</varname>
670 in the timer unit's
671 <literal>[Install]</literal>
672 section.</para>
673 </listitem>
674 </varlistentry>
3b6fdb5b
LP
675 <varlistentry>
676 <term><filename>umount.target</filename></term>
677 <listitem>
678 <para>A special target unit
679 that umounts all mount and
680 automount points on system
681 shutdown.</para>
682
683 <para>Mounts that shall be
684 unmounted on system shutdown
685 shall add Conflicts
686 dependencies to this unit for
687 their mount unit, which is
688 implicitly done when
689 <varname>DefaultDependencies=yes</varname>
690 is set (the default).</para>
691 </listitem>
692 </varlistentry>
f5ccf26d 693
54f874c5
LP
694 </variablelist>
695 </refsect1>
696
697 <refsect1>
698 <title>Special System Units for Devices</title>
699
700 <para>Some target units are automatically pulled in as
701 devices of certain kinds show up in the system. These
702 may be used to automatically activate various services
703 based on the specific type of the available
704 hardware.</para>
705
706 <variablelist>
707 <varlistentry>
708 <term><filename>bluetooth.target</filename></term>
709 <listitem>
710 <para>This target is started
711 automatically as soon as a
712 Bluetooth controller is
713 plugged in or becomes
714 available at boot.</para>
715
716 <para>This may be used to pull
717 in Bluetooth management
718 daemons dynamically when
719 Bluetooth hardware is
720 found.</para>
721 </listitem>
722 </varlistentry>
723 <varlistentry>
724 <term><filename>printer.target</filename></term>
725 <listitem>
726 <para>This target is started
727 automatically as soon as a
728 printer is plugged in or
729 becomes available at
730 boot.</para>
731
732 <para>This may be used to pull
733 in printer management
734 daemons dynamically when
735 printer hardware is
736 found.</para>
737 </listitem>
738 </varlistentry>
739 <varlistentry>
740 <term><filename>smartcard.target</filename></term>
741 <listitem>
742 <para>This target is started
743 automatically as soon as a
744 smartcard controller is
745 plugged in or becomes
746 available at boot.</para>
747
748 <para>This may be used to pull
749 in printer management
750 daemons dynamically when
751 smartcard hardware is
752 found.</para>
753 </listitem>
754 </varlistentry>
755 <varlistentry>
756 <term><filename>sound.target</filename></term>
757 <listitem>
758 <para>This target is started
759 automatically as soon as a
760 sound card is plugged in or
761 becomes available at
762 boot.</para>
763
764 <para>This may be used to pull
765 in audio management daemons
766 dynamically when printer
767 hardware is found.</para>
768 </listitem>
769 </varlistentry>
770 </variablelist>
771 </refsect1>
772
773 <refsect1>
774 <title>Special Passive System Units </title>
775
776 <para>A number of special system targets are defined
777 that can be used to properly order boot-up of optional
778 services. These targets are generally not part of the
779 initial boot transaction, unless they are explicitly
780 pulled in by one of the implementing services. Note
781 specifically, that these <emphasis>passive</emphasis>
782 target units are generally not pulled in by the
783 consumer of a service, but by the provider of the
784 service. This means: a consuming service should order
785 itself after these targets (as appropriate), but not
786 pull it in. A providing service should order itself
787 before these targets (as appropriate) and pull it in
788 (via a <varname>Wants=</varname> type
789 dependency).</para>
790
dfebfe67
LP
791 <para>Note that these passive units cannot be started
792 manually, i.e. <literal>systemctl start
793 time-sync.target</literal> will fail with an
794 error. They can only be pulled in by dependency. This
795 is enforced since they exist for ordering purposes
796 only and thus are not useful as only unit within a
797 transaction.</para>
798
54f874c5
LP
799 <variablelist>
800 <varlistentry>
801 <term><filename>local-fs-pre.target</filename></term>
802 <listitem>
803 <para>This target unit is
804 automatically ordered before
805 all local mount points marked
806 with <option>auto</option>
807 (see above). It can be used to
808 execute certain units before
809 all local mounts.</para>
810 </listitem>
811 </varlistentry>
1183f9b2
LP
812 <varlistentry>
813 <term><filename>network.target</filename></term>
814 <listitem>
815 <para>systemd automatically
816 adds dependencies of type
817 <varname>After=</varname> for
818 this target unit to all SysV
819 init script service units with
820 an LSB header referring to the
821 <literal>$network</literal>
822 facility.</para>
823
824 <para>This unit is supposed to
825 indicate when the network is
826 "up", but it is only very
827 loosely defined what that is
828 supposed to mean. Also see <ulink
829 url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
830 Services After the Network is
831 up</ulink> for more
832 information.</para>
833 </listitem>
834 </varlistentry>
54f874c5
LP
835 <varlistentry>
836 <term><filename>nss-lookup.target</filename></term>
837 <listitem>
838 <para>A target that should be
839 used as synchronization point
840 for all host/network name
841 service lookups. Note that
842 this is independent of
843 user/group name lookups for
844 which
845 <filename>nss-user-lookup.target</filename>
846 should be used. systemd
847 automatically adds
848 dependencies of type
849 <varname>After=</varname> for
850 this target unit to all SysV
851 init script service units with
852 an LSB header referring to the
853 <literal>$named</literal>
854 facility.</para>
855 </listitem>
856 </varlistentry>
857 <varlistentry>
858 <term><filename>nss-user-lookup.target</filename></term>
859 <listitem>
860 <para>A target that should be
861 used as synchronization point
862 for all user/group name
863 service lookups. Note that
864 this is independent of
865 host/network name lookups for
866 which
867 <filename>nss-lookup.target</filename>
868 should be used. </para>
869 </listitem>
870 </varlistentry>
871 <varlistentry>
872 <term><filename>remote-fs-pre.target</filename></term>
873 <listitem>
874 <para>This target unit is
875 automatically ordered before
876 all remote mount point units
877 (see above). It can be used to
878 run certain units before the
879 remote mounts are
880 established. Note that this
881 unit is generally not part of
882 the initial transaction,
883 unless the unit that wants to
884 be ordered before all remote
885 mounts pulls it in via a
886 <varname>Wants=</varname> type
887 dependency. If the unit wants
888 to be pulled in by the first
889 remote mount showing up it
890 should use
891 <filename>remote-fs-setup.target</filename>
892 (see above).</para>
893
894 <para>Again, this target unit
895 is <emphasis>not</emphasis>
896 suitable for pulling in other
897 units, it is only useful for
898 ordering.</para>
899 </listitem>
900 </varlistentry>
901 <varlistentry>
902 <term><filename>rpcbind.target</filename></term>
903 <listitem>
904 <para>systemd automatically
905 adds dependencies of type
906 <varname>After=</varname> for
907 this target unit to all SysV
908 init script service units with
909 an LSB header referring to the
910 <literal>$portmap</literal>
911 facility.</para>
912 </listitem>
913 </varlistentry>
914 <varlistentry>
915 <term><filename>time-sync.target</filename></term>
916 <listitem>
917 <para>systemd automatically
918 adds dependencies of type
919 <varname>After=</varname> for
920 this target unit to all SysV
921 init script service units with
922 an LSB header referring to the
923 <literal>$time</literal>
924 facility.</para>
925 </listitem>
926 </varlistentry>
9f235308
LP
927 </variablelist>
928 </refsect1>
929
930 <refsect1>
af2d49f7 931 <title>Special User Units</title>
9f235308 932
af2d49f7 933 <para>When systemd runs as a user instance, the
9f235308
LP
934 following special units are available, which have
935 similar definitions as their system counterparts:
bd3d19a4 936 <filename>default.target</filename>,
9f235308 937 <filename>shutdown.target</filename>,
e06e62f4
LP
938 <filename>sockets.target</filename>,
939 <filename>timers.target</filename>,
940 <filename>paths.target</filename>,
941 <filename>bluetooth.target</filename>,
942 <filename>printer.target</filename>,
943 <filename>smartcard.target</filename>,
944 <filename>sound.target</filename>.</para>
a1b256b0
LP
945
946 <para>In addition the following special unit is
947 understood only when systemd runs as service instance:</para>
948
949 <variablelist>
950 <varlistentry>
0e0320e0 951 <term><filename>exit.target</filename></term>
a1b256b0
LP
952 <listitem>
953 <para>A special service unit
954 for shutting down the
af2d49f7 955 user service manager.</para>
a1b256b0
LP
956
957 <para>Applications wanting to
af2d49f7
LP
958 terminate the user service
959 manager should start this
960 unit. If systemd receives
961 SIGTERM or SIGINT when running
962 as user service daemon it will
963 start this unit.</para>
a1b256b0
LP
964
965 <para>Normally, this pulls in
966 <filename>shutdown.target</filename>
967 which in turn should be
968 conflicted by all units that
969 want to be shut down on
af2d49f7 970 user service manager exit.</para>
a1b256b0
LP
971 </listitem>
972 </varlistentry>
973 </variablelist>
9f235308
LP
974 </refsect1>
975
976 <refsect1>
977 <title>See Also</title>
978 <para>
feb88c9f 979 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
5dc50792
LP
980 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
981 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
982 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
013d8a39 983 <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
e3d84721 984 <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
700e07ff 985 <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
9f235308
LP
986 </para>
987 </refsect1>
988
989</refentry>