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></para>
52 <para><filename>ctrl-alt-del.target</filename></para>
53 <para><filename>default.target</filename></para>
54 <para><filename>emergency.service</filename></para>
55 <para><filename>graphical.target</filename></para>
56 <para><filename>halt.target</filename></para>
57 <para><filename>kbrequest.target</filename></para>
58 <para><filename>local-fs.target</filename></para>
59 <para><filename>multi-user.target</filename></para>
60 <para><filename>network.target</filename></para>
61 <para><filename>nss-lookup.target</filename></para>
62 <para><filename>poweroff.target</filename></para>
63 <para><filename>reboot.target</filename></para>
64 <para><filename>remote-fs.target</filename></para>
65 <para><filename>rescue.target</filename></para>
66 <para><filename>rpcbind.target</filename></para>
67 <para><filename>rtc-set.target</filename></para>
68 <para><filename>runlevel0.target</filename>,
69 <filename>runlevel0.target</filename>,
70 <filename>runlevel1.target</filename>,
71 <filename>runlevel2.target</filename>,
72 <filename>runlevel3.target</filename>,
73 <filename>runlevel4.target</filename>,
74 <filename>runlevel5.target</filename>,
75 <filename>runlevel6.target</filename></para>
76 <para><filename>shutdown.target</filename></para>
77 <para><filename>sigpwr.target</filename></para>
78 <para><filename>sockets.target</filename></para>
79 <para><filename>swap.target</filename></para>
80 <para><filename>syslog.target</filename></para>
81 <para><filename>systemd-initctl.service</filename>, <filename>systemd-initctl.socket</filename></para>
82 <para><filename>systemd-logger.service</filename>, <filename>systemd-logger.socket</filename></para>
86 <title>Description</title>
88 <para>A few units are treated specially by
89 systemd. They have special internal semantics and
90 cannot be renamed.</para>
94 <title>Special System Units</title>
98 <term><filename>basic.target</filename></term>
100 <para>A special target unit
101 covering early boot-up.</para>
102 <para>systemd automatically
103 adds dependencies of the types
104 Requires and After for this
105 target unit to all SysV
106 service units configured for
107 runlevel 1 to 5.</para>
108 <para>systemd automatically
109 adds dependencies of the types
110 Wants and After for all
111 SysV service units configured
112 for runlevels that are not 0
113 to 6 to this target unit.
114 This covers the special
115 boot-up runlevels some
116 distributions have, such as S
121 <term><filename>ctrl-alt-del.target</filename></term>
123 <para>systemd starts this
125 Control+Alt+Del is pressed on
126 the console. Usually this
127 should be aliased (symlinked)
129 <filename>reboot.target</filename>.</para>
133 <term><filename>default.target</filename></term>
135 <para>The default unit systemd
136 starts at bootup. Usually this
137 should be aliased (symlinked)
139 <filename>multi-user.target</filename>
141 <filename>graphical.target</filename>.</para>
142 <para>The default unit systemd
143 starts at bootup can be
145 <varname>systemd.default=</varname>
146 kernel command line option.</para>
150 <term><filename>emergency.service</filename></term>
152 <para>A special service unit
153 that starts an emergency
155 console. This unit is supposed
156 to be used with the kernel
158 <varname>systemd.default=</varname>
159 and has otherwise little use.
164 <term><filename>graphical.target</filename></term>
166 <para>A special target unit
167 for setting up a graphical
168 login screen. This pulls in
169 <filename>multi-user.target</filename>.</para>
171 <para>Units that are needed
172 for graphical login shall add
173 Wants dependencies for their
174 unit to this unit (or
175 <filename>multi-user.target</filename>)
176 during installation.</para>
180 <term><filename>halt.target</filename></term>
182 <para>A special target unit
183 for shutting down and halting the system.</para>
185 <para>Applications wanting to
186 halt the system should start
191 <term><filename>kbrequest.target</filename></term>
193 <para>systemd starts this
194 target whenever Alt+ArrowUp is
195 pressed on the console. This
196 is a good candidate to be
197 aliased (symlinked) to
198 <filename>rescue.target</filename>.</para>
202 <term><filename>local-fs.target</filename></term>
204 <para>systemd automatically
205 adds dependencies of type
206 After to all mount units that
207 refer to local mount points
208 for this target unit. In
209 addition, systemd adds
210 dependencies of type Wants to
211 this target unit for those
213 <filename>/etc/fstab</filename>
215 <literal>auto</literal> and
216 <literal>comment=systemd.mount</literal>
217 mount options set.</para>
219 <para>systemd automatically
220 adds dependencies of type
221 After for this target unit to
222 all SysV init script service
223 units with an LSB header
225 <literal>$local_fs</literal>
230 <term><filename>multi-user.target</filename></term>
232 <para>A special target unit
233 for setting up a multi-user
234 system (non-graphical). This
236 <filename>graphical.target</filename>.</para>
238 <para>Units that are needed
239 for a multi-user system shall
240 add Wants dependencies to
241 this unit for their unit during
246 <term><filename>network.target</filename></term>
248 <para>systemd automatically
249 adds dependencies of type
250 After for this target unit to
251 all SysV init script service
252 units with an LSB header
254 <literal>$network</literal>
259 <term><filename>nss-lookup.target</filename></term>
261 <para>systemd automatically
262 adds dependencies of type
263 After for this target unit to
264 all SysV init script service
265 units with an LSB header
267 <literal>$named</literal>
272 <term><filename>poweroff.target</filename></term>
274 <para>A special target unit
275 for shutting down and powering off the system.</para>
277 <para>Applications wanting to
278 power off the system should start
281 <para><filename>runlevel0.target</filename>
282 is an alias for this target
283 unit, for compatibility with SysV.</para>
287 <term><filename>reboot.target</filename></term>
289 <para>A special target unit
290 for shutting down and rebooting the system.</para>
292 <para>Applications wanting to
293 reboot the system should start
296 <para><filename>runlevel6.target</filename>
297 is an alias for this target
298 unit, for compatibility with SysV.</para>
302 <term><filename>remote-fs.target</filename></term>
305 <filename>local-fs.target</filename>,
309 <para>systemd automatically
310 adds dependencies of type
311 After for this target unit to
312 all SysV init script service
313 units with an LSB header
315 <literal>$remote-fs</literal>
320 <term><filename>rescue.target</filename></term>
322 <para>A special target unit
323 for setting up the base system
324 and a rescue shell.</para>
326 <para><filename>runlevel1.target</filename>
327 is an alias for this target
328 unit, for compatibility with SysV.</para>
332 <term><filename>rpcbind.target</filename></term>
334 <para>systemd automatically
335 adds dependencies of type
336 After for this target unit to
337 all SysV init script service
338 units with an LSB header
340 <literal>$rpcbind</literal>
345 <term><filename>rtc-set.target</filename></term>
347 <para>systemd automatically
348 adds dependencies of type
349 After for this target unit to
350 all SysV init script service
351 units with an LSB header
353 <literal>$time</literal>
358 <term><filename>runlevel0.target</filename></term>
360 <para>This is a target that is
361 called whever the SysV
362 compatibility code asks for
363 runlevel 0. This is an alias
365 <filename>poweroff.target</filename>,
366 for compatibility with
371 <term><filename>runlevel1.target</filename></term>
373 <para>This is a target that is
374 called whever the SysV
375 compatibility code asks for
376 runlevel 1. This is an alias
378 <filename>rescue.target</filename>,
379 for compatibility with
384 <term><filename>runlevel2.target</filename></term>
386 <para>This is a target that is
387 called whever the SysV
388 compatibility code asks for
389 runlevel 2. It is a good idea
390 to make this an alias for
392 <filename>multi-user.target</filename>.</para>
396 <term><filename>runlevel3.target</filename></term>
398 <para>This is a target that is
399 called whever the SysV
400 compatibility code asks for
401 runlevel 3. It is a good idea
402 to make this an alias for
404 <filename>multi-user.target</filename>
406 <filename>graphical.target</filename>.</para>
410 <term><filename>runlevel4.target</filename></term>
412 <para>This is a target that is
413 called whever the SysV
414 compatibility code asks for
415 runlevel 4. It is a good idea
416 to make this an alias for
418 <filename>multi-user.target</filename>
420 <filename>graphical.target</filename>.</para>
424 <term><filename>runlevel5.target</filename></term>
426 <para>This is a target that is
427 called whever the SysV
428 compatibility code asks for
429 runlevel 5. It is a good idea
430 to make this an alias for
432 <filename>multi-user.target</filename>
434 <filename>graphical.target</filename>.</para>
438 <term><filename>runlevel6.target</filename></term>
440 <para>This is a target that is
441 called whever the SysV
442 compatibility code asks for
443 runlevel 6. This is an alias
445 <filename>reboot.target</filename>,
446 for compatibility with
451 <term><filename>shutdown.target</filename></term>
453 <para>A special target unit
454 that terminates the services
455 on system shutdown.</para>
457 <para>Services that shall be
458 terminated on system shutdown
460 dependencies to this unit for
461 their service unit during
464 <para>systemd automatically
465 adds dependencies of type
466 Conflicts to this target unit
467 for all SysV init script
468 service units that shall be
469 terminated in SysV runlevels 0
474 <term><filename>sigpwr.target</filename></term>
476 <para>A special target that is
477 started when systemd receives
478 the SIGPWR process signal,
479 which is normally sent by the
480 kernel or UPS daemons when
485 <term><filename>sockets.target</filename></term>
487 <para>A special target unit
488 that sets up all service
491 <para>Services that can be
492 socket-activated shall add
493 Wants dependencies to this
494 unit for their socket unit
495 during installation.</para>
499 <term><filename>swap.target</filename></term>
502 <filename>local-fs.target</filename>, but for swap
508 <term><filename>syslog.target</filename></term>
510 <para>systemd automatically
511 adds dependencies of type
512 After for this target unit to
513 all SysV init script service
514 units with an LSB header
516 <literal>$syslog</literal>
519 <para>Administrators should
520 ensure that this target pulls
521 in a service unit with the
523 <filename>@SPECIAL_SYSLOG_SERVICE@</filename>
524 (or a socket unit that
530 <term><filename>systemd-initctl.service</filename></term>
533 compatibility with the SysV
534 /dev/initctl file system FIFO
535 for communication with the
538 socket-activated service, see
539 <filename>system-initctl.socket</filename>.</para>
543 <term><filename>systemd-initctl.socket</filename></term>
545 <para>Socket activation unit
547 <filename>system-initctl.service</filename>.</para>
551 <term><filename>systemd-logger.service</filename></term>
553 <para>This is internally used
554 by systemd to provide syslog
555 logging to the processes it
558 socket-activated service, see
559 <filename>system-logger.socket</filename>.</para>
563 <term><filename>systemd-logger.socket</filename></term>
565 <para>Socket activation unit
567 <filename>system-logger.service</filename>. systemd
568 will automatically add
569 dependencies of types Requires
570 and After to all units that
571 have been configured for
572 stdout or stderr to be
573 connected to syslog or the
574 kernel log buffer.</para>
581 <title>Special Session Units</title>
583 <para>When systemd runs as a service instance, the
584 following special units are available, which have
585 similar definitions as their system counterparts:
586 <filename>default.target</filename>,
587 <filename>local-fs.target</filename>,
588 <filename>remote-fs.target</filename>,
589 <filename>shutdown.target</filename>,
590 <filename>sockets.target</filename>,
591 <filename>swap.target</filename>.</para>
595 <title>See Also</title>
597 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
598 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
599 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
600 <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>