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>default.target</filename>,
54 <filename>display-manager.service</filename>,
55 <filename>emergency.service</filename>,
56 <filename>graphical.target</filename>,
57 <filename>halt.target</filename>,
58 <filename>kbrequest.target</filename>,
59 <filename>local-fs.target</filename>,
60 <filename>mail-transfer-agent.target</filename>,
61 <filename>multi-user.target</filename>,
62 <filename>network.target</filename>,
63 <filename>nss-lookup.target</filename>,
64 <filename>poweroff.target</filename>,
65 <filename>reboot.target</filename>,
66 <filename>remote-fs.target</filename>,
67 <filename>rescue.target</filename>,
68 <filename>rpcbind.target</filename>,
69 <filename>rtc-set.target</filename>,
70 <filename>runlevel0.target</filename>,
71 <filename>runlevel1.target</filename>,
72 <filename>runlevel2.target</filename>,
73 <filename>runlevel3.target</filename>,
74 <filename>runlevel4.target</filename>,
75 <filename>runlevel5.target</filename>,
76 <filename>runlevel6.target</filename>
77 <filename>shutdown.target</filename>,
78 <filename>sigpwr.target</filename>,
79 <filename>sockets.target</filename>,
80 <filename>swap.target</filename>,
81 <filename>syslog.target</filename>,
82 <filename>systemd-initctl.service</filename>,
83 <filename>systemd-initctl.socket</filename>,
84 <filename>systemd-logger.service</filename>,
85 <filename>systemd-logger.socket</filename></para>
89 <title>Description</title>
91 <para>A few units are treated specially by
92 systemd. They have special internal semantics and
93 cannot be renamed.</para>
97 <title>Special System Units</title>
101 <term><filename>basic.target</filename></term>
103 <para>A special target unit
104 covering early boot-up.</para>
105 <para>systemd automatically
106 adds dependencies of the types
107 Requires and After for this
108 target unit to all SysV
109 service units configured for
110 runlevel 1 to 5.</para>
111 <para>systemd automatically
112 adds dependencies of the types
113 Wants and After for all
114 SysV service units configured
115 for runlevels that are not 0
116 to 6 to this target unit.
117 This covers the special
118 boot-up runlevels some
119 distributions have, such as S
124 <term><filename>ctrl-alt-del.target</filename></term>
126 <para>systemd starts this
128 Control+Alt+Del is pressed on
129 the console. Usually this
130 should be aliased (symlinked)
132 <filename>reboot.target</filename>.</para>
136 <term><filename>default.target</filename></term>
138 <para>The default unit systemd
139 starts at bootup. Usually this
140 should be aliased (symlinked)
142 <filename>multi-user.target</filename>
144 <filename>graphical.target</filename>.</para>
145 <para>The default unit systemd
146 starts at bootup can be
148 <varname>systemd.default=</varname>
149 kernel command line option.</para>
153 <term><filename>display-manager.service</filename></term>
155 <para>The display manager
156 service. Usually this should
157 be aliased (symlinked) to
158 <filename>gdm.service</filename>
159 or a similar display manager
161 <para>systemd automatically
162 adds dependencies of type
163 After for this target unit to
164 all SysV init script service
165 units with an LSB header
167 <literal>$x-display-manager</literal>
168 facility, for compatibility
173 <term><filename>emergency.service</filename></term>
175 <para>A special service unit
176 that starts an emergency
178 console. This unit is supposed
179 to be used with the kernel
181 <varname>systemd.default=</varname>
182 and has otherwise little use.
187 <term><filename>graphical.target</filename></term>
189 <para>A special target unit
190 for setting up a graphical
191 login screen. This pulls in
192 <filename>multi-user.target</filename>.</para>
194 <para>Units that are needed
195 for graphical login shall add
196 Wants dependencies for their
197 unit to this unit (or
198 <filename>multi-user.target</filename>)
199 during installation.</para>
203 <term><filename>halt.target</filename></term>
205 <para>A special target unit
206 for shutting down and halting the system.</para>
208 <para>Applications wanting to
209 halt the system should start
214 <term><filename>kbrequest.target</filename></term>
216 <para>systemd starts this
217 target whenever Alt+ArrowUp is
218 pressed on the console. This
219 is a good candidate to be
220 aliased (symlinked) to
221 <filename>rescue.target</filename>.</para>
225 <term><filename>local-fs.target</filename></term>
227 <para>systemd automatically
228 adds dependencies of type
229 After to all mount units that
230 refer to local mount points
231 for this target unit. In
232 addition, systemd adds
233 dependencies of type Wants to
234 this target unit for those
236 <filename>/etc/fstab</filename>
238 <literal>auto</literal> and
239 <literal>comment=systemd.mount</literal>
240 mount options set.</para>
242 <para>systemd automatically
243 adds dependencies of type
244 After for this target unit to
245 all SysV init script service
246 units with an LSB header
248 <literal>$local_fs</literal>
253 <term><filename>mail-transfer-agent.target</filename></term>
255 <para>The mail transfer agent
256 (MTA) service. Usually this
257 should pull in all units
259 sending/receiving mails on the
262 <para>systemd automatically
263 adds dependencies of type
264 After for this target unit to
265 all SysV init script service
266 units with an LSB header
268 <literal>$mail-transfer-argent</literal>
270 <literal>$mail-transport-agent</literal>
271 facilities, for compatibility
276 <term><filename>multi-user.target</filename></term>
278 <para>A special target unit
279 for setting up a multi-user
280 system (non-graphical). This
282 <filename>graphical.target</filename>.</para>
284 <para>Units that are needed
285 for a multi-user system shall
286 add Wants dependencies to
287 this unit for their unit during
292 <term><filename>network.target</filename></term>
294 <para>systemd automatically
295 adds dependencies of type
296 After for this target unit to
297 all SysV init script service
298 units with an LSB header
300 <literal>$network</literal>
305 <term><filename>nss-lookup.target</filename></term>
307 <para>systemd automatically
308 adds dependencies of type
309 After for this target unit to
310 all SysV init script service
311 units with an LSB header
313 <literal>$named</literal>
318 <term><filename>poweroff.target</filename></term>
320 <para>A special target unit
321 for shutting down and powering off the system.</para>
323 <para>Applications wanting to
324 power off the system should start
327 <para><filename>runlevel0.target</filename>
328 is an alias for this target
329 unit, for compatibility with SysV.</para>
333 <term><filename>reboot.target</filename></term>
335 <para>A special target unit
336 for shutting down and rebooting the system.</para>
338 <para>Applications wanting to
339 reboot the system should start
342 <para><filename>runlevel6.target</filename>
343 is an alias for this target
344 unit, for compatibility with SysV.</para>
348 <term><filename>remote-fs.target</filename></term>
351 <filename>local-fs.target</filename>,
355 <para>systemd automatically
356 adds dependencies of type
357 After for this target unit to
358 all SysV init script service
359 units with an LSB header
361 <literal>$remote_fs</literal>
366 <term><filename>rescue.target</filename></term>
368 <para>A special target unit
369 for setting up the base system
370 and a rescue shell.</para>
372 <para><filename>runlevel1.target</filename>
373 is an alias for this target
374 unit, for compatibility with SysV.</para>
378 <term><filename>rpcbind.target</filename></term>
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>$rpcbind</literal>
391 <term><filename>rtc-set.target</filename></term>
393 <para>systemd automatically
394 adds dependencies of type
395 After for this target unit to
396 all SysV init script service
397 units with an LSB header
399 <literal>$time</literal>
404 <term><filename>runlevel0.target</filename></term>
406 <para>This is a target that is
407 called whever the SysV
408 compatibility code asks for
409 runlevel 0. This is an alias
411 <filename>poweroff.target</filename>,
412 for compatibility with
417 <term><filename>runlevel1.target</filename></term>
419 <para>This is a target that is
420 called whever the SysV
421 compatibility code asks for
422 runlevel 1. This is an alias
424 <filename>rescue.target</filename>,
425 for compatibility with
430 <term><filename>runlevel2.target</filename></term>
432 <para>This is a target that is
433 called whever the SysV
434 compatibility code asks for
435 runlevel 2. It is a good idea
436 to make this an alias for
438 <filename>multi-user.target</filename>.</para>
442 <term><filename>runlevel3.target</filename></term>
444 <para>This is a target that is
445 called whever the SysV
446 compatibility code asks for
447 runlevel 3. It is a good idea
448 to make this an alias for
450 <filename>multi-user.target</filename>
452 <filename>graphical.target</filename>.</para>
456 <term><filename>runlevel4.target</filename></term>
458 <para>This is a target that is
459 called whever the SysV
460 compatibility code asks for
461 runlevel 4. It is a good idea
462 to make this an alias for
464 <filename>multi-user.target</filename>
466 <filename>graphical.target</filename>.</para>
470 <term><filename>runlevel5.target</filename></term>
472 <para>This is a target that is
473 called whever the SysV
474 compatibility code asks for
475 runlevel 5. It is a good idea
476 to make this an alias for
478 <filename>multi-user.target</filename>
480 <filename>graphical.target</filename>.</para>
484 <term><filename>runlevel6.target</filename></term>
486 <para>This is a target that is
487 called whever the SysV
488 compatibility code asks for
489 runlevel 6. This is an alias
491 <filename>reboot.target</filename>,
492 for compatibility with
497 <term><filename>shutdown.target</filename></term>
499 <para>A special target unit
500 that terminates the services
501 on system shutdown.</para>
503 <para>Services that shall be
504 terminated on system shutdown
506 dependencies to this unit for
507 their service unit during
510 <para>systemd automatically
511 adds dependencies of type
512 Conflicts to this target unit
513 for all SysV init script
514 service units that shall be
515 terminated in SysV runlevels 0
520 <term><filename>sigpwr.target</filename></term>
522 <para>A special target that is
523 started when systemd receives
524 the SIGPWR process signal,
525 which is normally sent by the
526 kernel or UPS daemons when
531 <term><filename>sockets.target</filename></term>
533 <para>A special target unit
534 that sets up all service
537 <para>Services that can be
538 socket-activated shall add
539 Wants dependencies to this
540 unit for their socket unit
541 during installation.</para>
545 <term><filename>swap.target</filename></term>
548 <filename>local-fs.target</filename>, but for swap
554 <term><filename>syslog.target</filename></term>
556 <para>systemd automatically
557 adds dependencies of type
558 After for this target unit to
559 all SysV init script service
560 units with an LSB header
562 <literal>$syslog</literal>
565 <para>Administrators should
566 ensure that this target pulls
567 in a service unit with the
569 <filename>@SPECIAL_SYSLOG_SERVICE@</filename>
570 (or a socket unit that
576 <term><filename>systemd-initctl.service</filename></term>
579 compatibility with the SysV
580 /dev/initctl file system FIFO
581 for communication with the
584 socket-activated service, see
585 <filename>system-initctl.socket</filename>.</para>
589 <term><filename>systemd-initctl.socket</filename></term>
591 <para>Socket activation unit
593 <filename>system-initctl.service</filename>.</para>
597 <term><filename>systemd-logger.service</filename></term>
599 <para>This is internally used
600 by systemd to provide syslog
601 logging to the processes it
604 socket-activated service, see
605 <filename>system-logger.socket</filename>.</para>
609 <term><filename>systemd-logger.socket</filename></term>
611 <para>Socket activation unit
613 <filename>system-logger.service</filename>. systemd
614 will automatically add
615 dependencies of types Requires
616 and After to all units that
617 have been configured for
618 stdout or stderr to be
619 connected to syslog or the
620 kernel log buffer.</para>
627 <title>Special Session Units</title>
629 <para>When systemd runs as a service instance, the
630 following special units are available, which have
631 similar definitions as their system counterparts:
632 <filename>default.target</filename>,
633 <filename>local-fs.target</filename>,
634 <filename>remote-fs.target</filename>,
635 <filename>shutdown.target</filename>,
636 <filename>sockets.target</filename>,
637 <filename>swap.target</filename>.</para>
641 <title>See Also</title>
643 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
644 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
645 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
646 <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>