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">
6 This file is part of systemd.
8 Copyright 2010 Lennart Poettering
10 systemd is free software; you can redistribute it and/or modify it
11 under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
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
18 General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
24 <refentry id="systemd.special">
27 <title>systemd.special</title>
28 <productname>systemd</productname>
32 <contrib>Developer</contrib>
33 <firstname>Lennart</firstname>
34 <surname>Poettering</surname>
35 <email>lennart@poettering.net</email>
41 <refentrytitle>systemd.special</refentrytitle>
42 <manvolnum>7</manvolnum>
46 <refname>systemd.special</refname>
47 <refpurpose>special systemd units</refpurpose>
51 <para><filename>basic.target</filename>,
52 <filename>ctrl-alt-del.target</filename>,
53 <filename>dbus.service</filename>,
54 <filename>default.target</filename>,
55 <filename>display-manager.service</filename>,
56 <filename>emergency.target</filename>,
57 <filename>exit.service</filename>,
58 <filename>graphical.target</filename>,
59 <filename>halt.target</filename>,
60 <filename>kbrequest.target</filename>,
61 <filename>local-fs.target</filename>,
62 <filename>local-fs-pre.target</filename>,
63 <filename>mail-transfer-agent.target</filename>,
64 <filename>multi-user.target</filename>,
65 <filename>network.target</filename>,
66 <filename>nss-lookup.target</filename>,
67 <filename>poweroff.target</filename>,
68 <filename>reboot.target</filename>,
69 <filename>remote-fs.target</filename>,
70 <filename>remote-fs-pre.target</filename>,
71 <filename>rescue.target</filename>,
72 <filename>rpcbind.target</filename>,
73 <filename>runlevel2.target</filename>,
74 <filename>runlevel3.target</filename>,
75 <filename>runlevel4.target</filename>,
76 <filename>runlevel5.target</filename>,
77 <filename>shutdown.target</filename>,
78 <filename>sigpwr.target</filename>,
79 <filename>sockets.target</filename>,
80 <filename>swap.target</filename>,
81 <filename>sysinit.target</filename>,
82 <filename>syslog.target</filename>,
83 <filename>systemd-initctl.service</filename>,
84 <filename>systemd-initctl.socket</filename>,
85 <filename>systemd-stdout-syslog-bridge.service</filename>,
86 <filename>systemd-stdout-syslog-bridge.socket</filename>,
87 <filename>time-sync.target</filename>,
88 <filename>umount.target</filename></para>
92 <title>Description</title>
94 <para>A few units are treated specially by
95 systemd. They have special internal semantics and
96 cannot be renamed.</para>
100 <title>Special System Units</title>
104 <term><filename>basic.target</filename></term>
106 <para>A special target unit
107 covering early boot-up.</para>
108 <para>systemd automatically
109 adds dependencies of the types
110 Requires and After for this
111 target unit to all SysV
112 service units configured for
113 runlevel 1 to 5.</para>
114 <para>Usually this should pull-in
115 all sockets, mount points,
116 swap devices and other basic
117 initialization necessary for
119 daemons. Most normal daemons
120 should have dependencies of
121 type After and Requires on
126 <term><filename>ctrl-alt-del.target</filename></term>
128 <para>systemd starts this
130 Control+Alt+Del is pressed on
131 the console. Usually this
132 should be aliased (symlinked)
134 <filename>reboot.target</filename>.</para>
138 <term><filename>dbus.service</filename></term>
140 <para>A special unit for the
141 D-Bus system bus. As soon as
142 this service is fully started
143 up systemd will connect to it
149 <term><filename>default.target</filename></term>
151 <para>The default unit systemd
152 starts at bootup. Usually this
153 should be aliased (symlinked)
155 <filename>multi-user.target</filename>
157 <filename>graphical.target</filename>.</para>
158 <para>The default unit systemd
159 starts at bootup can be
161 <varname>systemd.unit=</varname>
162 kernel command line option.</para>
166 <term><filename>display-manager.service</filename></term>
168 <para>The display manager
169 service. Usually this should
170 be aliased (symlinked) to
171 <filename>xdm.service</filename>
172 or a similar display manager
174 <para>systemd automatically
175 adds dependencies of type
176 After for this target unit to
177 all SysV init script service
178 units with a LSB header
180 <literal>$x-display-manager</literal>
181 facility, for compatibility
186 <term><filename>emergency.target</filename></term>
188 <para>A special target unit
189 that starts an emergency
191 console. This unit is supposed
192 to be used with the kernel
194 <varname>systemd.unit=</varname>
195 and has otherwise little use.
200 <term><filename>graphical.target</filename></term>
202 <para>A special target unit
203 for setting up a graphical
204 login screen. This pulls in
205 <filename>multi-user.target</filename>.</para>
207 <para>Units that are needed
208 for graphical login shall add
209 Wants dependencies for their
210 unit to this unit (or
211 <filename>multi-user.target</filename>)
212 during installation.</para>
216 <term><filename>halt.target</filename></term>
218 <para>A special target unit
219 for shutting down and halting the system.</para>
221 <para>Applications wanting to
222 halt the system should start
227 <term><filename>kbrequest.target</filename></term>
229 <para>systemd starts this
230 target whenever Alt+ArrowUp is
231 pressed on the console. This
232 is a good candidate to be
233 aliased (symlinked) to
234 <filename>rescue.target</filename>.</para>
238 <term><filename>local-fs.target</filename></term>
240 <para>systemd automatically
241 adds dependencies of type
242 After to all mount units that
243 refer to local mount points
244 for this target unit. In
245 addition, systemd adds
246 dependencies of type Wants to
247 this target unit for those
249 <filename>/etc/fstab</filename>
251 <option>auto</option> and
252 <option>comment=systemd.mount</option>
253 mount options set.</para>
255 <para>systemd automatically
256 adds dependencies of type
257 After for this target unit to
258 all SysV init script service
259 units with an LSB header
261 <literal>$local_fs</literal>
266 <term><filename>local-fs-pre.target</filename></term>
268 <para>This target unit is
269 automatically ordered before
270 all local mount points marked
271 with <option>auto</option>
272 (see above). It can be used to
273 execute certain units before
274 all local mounts.</para>
278 <term><filename>mail-transfer-agent.target</filename></term>
280 <para>The mail transfer agent
281 (MTA) service. Usually this
282 should pull-in all units
284 sending/receiving mails on the
287 <para>systemd automatically
288 adds dependencies of type
289 After for this target unit to
290 all SysV init script service
291 units with an LSB header
293 <literal>$mail-transfer-agent</literal>
295 <literal>$mail-transport-agent</literal>
296 facilities, for compatibility
301 <term><filename>multi-user.target</filename></term>
303 <para>A special target unit
304 for setting up a multi-user
305 system (non-graphical). This
307 <filename>graphical.target</filename>.</para>
309 <para>Units that are needed
310 for a multi-user system shall
311 add Wants dependencies to
312 this unit for their unit during
317 <term><filename>network.target</filename></term>
319 <para>systemd automatically
320 adds dependencies of type
321 After for this target unit to
322 all SysV init script service
323 units with an LSB header
325 <literal>$network</literal>
330 <term><filename>nss-lookup.target</filename></term>
332 <para>systemd automatically
333 adds dependencies of type
334 After for this target unit to
335 all SysV init script service
336 units with an LSB header
338 <literal>$named</literal>
343 <term><filename>poweroff.target</filename></term>
345 <para>A special target unit
346 for shutting down and powering off the system.</para>
348 <para>Applications wanting to
349 power off the system should start
352 <para><filename>runlevel0.target</filename>
353 is an alias for this target
354 unit, for compatibility with SysV.</para>
358 <term><filename>reboot.target</filename></term>
360 <para>A special target unit
361 for shutting down and rebooting the system.</para>
363 <para>Applications wanting to
364 reboot the system should start
367 <para><filename>runlevel6.target</filename>
368 is an alias for this target
369 unit, for compatibility with SysV.</para>
373 <term><filename>remote-fs.target</filename></term>
376 <filename>local-fs.target</filename>,
380 <para>systemd automatically
381 adds dependencies of type
382 After for this target unit to
383 all SysV init script service
384 units with an LSB header
386 <literal>$remote_fs</literal>
391 <term><filename>remote-fs-pre.target</filename></term>
393 <para>This target unit is
394 automatically ordered before
395 all remote mount points marked
396 with <option>auto</option>
397 (see above). It can be used to
398 execute certain units before
399 all remote mounts.</para>
403 <term><filename>rescue.target</filename></term>
405 <para>A special target unit
406 for setting up the base system
407 and a rescue shell.</para>
409 <para><filename>runlevel1.target</filename>
410 is an alias for this target
411 unit, for compatibility with SysV.</para>
415 <term><filename>rpcbind.target</filename></term>
417 <para>systemd automatically
418 adds dependencies of type
419 After for this target unit to
420 all SysV init script service
421 units with an LSB header
423 <literal>$rpcbind</literal>
428 <term><filename>runlevel2.target</filename></term>
430 <para>This is a target that is
431 called whenever the SysV
432 compatibility code asks for
433 runlevel 2. It is a good idea
434 to make this an alias for
436 <filename>multi-user.target</filename>.</para>
440 <term><filename>runlevel3.target</filename></term>
442 <para>This is a target that is
443 called whenever the SysV
444 compatibility code asks for
445 runlevel 3. It is a good idea
446 to make this an alias for
448 <filename>multi-user.target</filename>
450 <filename>graphical.target</filename>.</para>
454 <term><filename>runlevel4.target</filename></term>
456 <para>This is a target that is
457 called whenever the SysV
458 compatibility code asks for
459 runlevel 4. It is a good idea
460 to make this an alias for
462 <filename>multi-user.target</filename>
464 <filename>graphical.target</filename>.</para>
468 <term><filename>runlevel5.target</filename></term>
470 <para>This is a target that is
471 called whenever the SysV
472 compatibility code asks for
473 runlevel 5. It is a good idea
474 to make this an alias for
476 <filename>multi-user.target</filename>
478 <filename>graphical.target</filename>.</para>
482 <term><filename>shutdown.target</filename></term>
484 <para>A special target unit
485 that terminates the services
486 on system shutdown.</para>
488 <para>Services that shall be
489 terminated on system shutdown
491 dependencies to this unit for
492 their service unit, which is
494 <varname>DefaultDependencies=yes</varname>
495 is set (the default).</para>
497 <para>systemd automatically
498 adds dependencies of type
499 Conflicts to this target unit
500 for all SysV init script
501 service units that shall be
502 terminated in SysV runlevels 0
507 <term><filename>sigpwr.target</filename></term>
509 <para>A special target that is
510 started when systemd receives
511 the SIGPWR process signal,
512 which is normally sent by the
513 kernel or UPS daemons when
518 <term><filename>sockets.target</filename></term>
520 <para>A special target unit
521 that sets up all service
524 <para>Services that can be
525 socket-activated shall add
526 Wants dependencies to this
527 unit for their socket unit
528 during installation.</para>
532 <term><filename>swap.target</filename></term>
535 <filename>local-fs.target</filename>, but for swap
541 <term><filename>sysinit.target</filename></term>
543 <para>A special target unit
544 covering early boot-up scripts.</para>
545 <para>systemd automatically
546 adds dependencies of the types
547 Wants and After for all
548 SysV service units configured
549 for runlevels that are not 0
550 to 6 to this target unit.
551 This covers the special
552 boot-up runlevels some
553 distributions have, such as S
558 <term><filename>syslog.target</filename></term>
560 <para>systemd automatically
561 adds dependencies of type
562 After for this target unit to
563 all SysV init script service
564 units with an LSB header
566 <literal>$syslog</literal>
571 <term><filename>systemd-initctl.service</filename></term>
574 compatibility with the SysV
575 /dev/initctl file system FIFO
576 for communication with the
579 socket-activated service, see
580 <filename>system-initctl.socket</filename>.</para>
584 <term><filename>systemd-initctl.socket</filename></term>
586 <para>Socket activation unit
588 <filename>system-initctl.service</filename>.</para>
592 <term><filename>systemd-stdout-syslog-bridge.service</filename></term>
594 <para>This is internally used
595 by systemd to provide syslog
596 logging to the processes it
599 socket-activated service, see
600 <filename>system-stdout-syslog-bridge.socket</filename>.</para>
604 <term><filename>systemd-stdout-syslog-bridge.socket</filename></term>
606 <para>Socket activation unit
608 <filename>system-stdout-syslog-bridge.service</filename>. systemd
609 will automatically add
610 dependencies of types Requires
611 and After to all units that
612 have been configured for
613 stdout or stderr to be
614 connected to syslog or the
615 kernel log buffer.</para>
619 <term><filename>systemd-shutdownd.service</filename></term>
621 <para>This is internally used
623 <citerefentry><refentrytitle>shutdown</refentrytitle><manvolnum>8</manvolnum></citerefentry>
624 to implement delayed shutdowns.</para>
626 socket-activated service, see
627 <filename>system-shutdownd.socket</filename>.</para>
631 <term><filename>systemd-shutdownd.socket</filename></term>
633 <para>Socket activation unit
635 <filename>system-shutdownd.service</filename>.</para>
639 <term><filename>time-sync.target</filename></term>
641 <para>systemd automatically
642 adds dependencies of type
643 After for this target unit to
644 all SysV init script service
645 units with an LSB header
647 <literal>$time</literal>
652 <term><filename>umount.target</filename></term>
654 <para>A special target unit
655 that umounts all mount and
656 automount points on system
659 <para>Mounts that shall be
660 unmounted on system shutdown
662 dependencies to this unit for
663 their mount unit, which is
665 <varname>DefaultDependencies=yes</varname>
666 is set (the default).</para>
673 <title>Special User Units</title>
675 <para>When systemd runs as a user instance, the
676 following special units are available, which have
677 similar definitions as their system counterparts:
678 <filename>default.target</filename>,
679 <filename>local-fs.target</filename>,
680 <filename>remote-fs.target</filename>,
681 <filename>shutdown.target</filename>,
682 <filename>sockets.target</filename>,
683 <filename>swap.target</filename>.</para>
685 <para>In addition the following special unit is
686 understood only when systemd runs as service instance:</para>
690 <term><filename>exit.service</filename></term>
692 <para>A special service unit
693 for shutting down the
694 user service manager.</para>
696 <para>Applications wanting to
697 terminate the user service
698 manager should start this
699 unit. If systemd receives
700 SIGTERM or SIGINT when running
701 as user service daemon it will
702 start this unit.</para>
704 <para>Normally, this pulls in
705 <filename>shutdown.target</filename>
706 which in turn should be
707 conflicted by all units that
708 want to be shut down on
709 user service manager exit.</para>
716 <title>See Also</title>
718 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
719 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
720 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
721 <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>