chiark / gitweb /
units: synchronize with shutdown.target
[elogind.git] / man / systemd.special.xml.in
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
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.
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
18   General Public License for more details.
19
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/>.
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>
47                 <refpurpose>special systemd units</refpurpose>
48         </refnamediv>
49
50         <refsynopsisdiv>
51                 <para><filename>basic.target</filename>,
52                 <filename>ctrl-alt-del.target</filename>,
53                 <filename>default.target</filename>,
54                 <filename>emergency.service</filename>,
55                 <filename>graphical.target</filename>,
56                 <filename>halt.target</filename>,
57                 <filename>kbrequest.target</filename>,
58                 <filename>local-fs.target</filename>,
59                 <filename>multi-user.target</filename>,
60                 <filename>network.target</filename>,
61                 <filename>nss-lookup.target</filename>,
62                 <filename>poweroff.target</filename>,
63                 <filename>reboot.target</filename>,
64                 <filename>remote-fs.target</filename>,
65                 <filename>rescue.target</filename>,
66                 <filename>rpcbind.target</filename>,
67                 <filename>rtc-set.target</filename>,
68                 <filename>runlevel0.target</filename>,
69                 <filename>runlevel1.target</filename>,
70                 <filename>runlevel2.target</filename>,
71                 <filename>runlevel3.target</filename>,
72                 <filename>runlevel4.target</filename>,
73                 <filename>runlevel5.target</filename>,
74                 <filename>runlevel6.target</filename>
75                 <filename>shutdown.target</filename>,
76                 <filename>sigpwr.target</filename>,
77                 <filename>sockets.target</filename>,
78                 <filename>swap.target</filename>,
79                 <filename>syslog.target</filename>,
80                 <filename>systemd-initctl.service</filename>,
81                 <filename>systemd-initctl.socket</filename>,
82                 <filename>systemd-logger.service</filename>,
83                 <filename>systemd-logger.socket</filename></para>
84         </refsynopsisdiv>
85
86         <refsect1>
87                 <title>Description</title>
88
89                 <para>A few units are treated specially by
90                 systemd. They have special internal semantics and
91                 cannot be renamed.</para>
92         </refsect1>
93
94         <refsect1>
95                 <title>Special System Units</title>
96
97                 <variablelist>
98                         <varlistentry>
99                                 <term><filename>basic.target</filename></term>
100                                 <listitem>
101                                         <para>A special target unit
102                                         covering early boot-up.</para>
103                                         <para>systemd automatically
104                                         adds dependencies of the types
105                                         Requires and After for this
106                                         target unit to all SysV
107                                         service units configured for
108                                         runlevel 1 to 5.</para>
109                                         <para>systemd automatically
110                                         adds dependencies of the types
111                                         Wants and After for all
112                                         SysV service units configured
113                                         for runlevels that are not 0
114                                         to 6 to this target unit.
115                                         This covers the special
116                                         boot-up runlevels some
117                                         distributions have, such as S
118                                         or b.</para>
119                                 </listitem>
120                         </varlistentry>
121                         <varlistentry>
122                                 <term><filename>ctrl-alt-del.target</filename></term>
123                                 <listitem>
124                                         <para>systemd starts this
125                                         target whenever
126                                         Control+Alt+Del is pressed on
127                                         the console. Usually this
128                                         should be aliased (symlinked)
129                                         to
130                                         <filename>reboot.target</filename>.</para>
131                                 </listitem>
132                         </varlistentry>
133                         <varlistentry>
134                                 <term><filename>default.target</filename></term>
135                                 <listitem>
136                                         <para>The default unit systemd
137                                         starts at bootup. Usually this
138                                         should be aliased (symlinked)
139                                         to
140                                         <filename>multi-user.target</filename>
141                                         or
142                                         <filename>graphical.target</filename>.</para>
143                                         <para>The default unit systemd
144                                         starts at bootup can be
145                                         overriden with the
146                                         <varname>systemd.default=</varname>
147                                         kernel command line option.</para>
148                                 </listitem>
149                         </varlistentry>
150                         <varlistentry>
151                                 <term><filename>emergency.service</filename></term>
152                                 <listitem>
153                                         <para>A special service unit
154                                         that starts an emergency
155                                         shell on the main
156                                         console. This unit is supposed
157                                         to be used with the kernel
158                                         command line option
159                                         <varname>systemd.default=</varname>
160                                         and has otherwise little use.
161                                         </para>
162                                 </listitem>
163                         </varlistentry>
164                         <varlistentry>
165                                 <term><filename>graphical.target</filename></term>
166                                 <listitem>
167                                         <para>A special target unit
168                                         for setting up a graphical
169                                         login screen. This pulls in
170                                         <filename>multi-user.target</filename>.</para>
171
172                                         <para>Units that are needed
173                                         for graphical login shall add
174                                         Wants dependencies for their
175                                         unit to this unit (or
176                                         <filename>multi-user.target</filename>)
177                                         during installation.</para>
178                                 </listitem>
179                         </varlistentry>
180                         <varlistentry>
181                                 <term><filename>halt.target</filename></term>
182                                 <listitem>
183                                         <para>A special target unit
184                                         for shutting down and halting the system.</para>
185
186                                         <para>Applications wanting to
187                                         halt the system should start
188                                         this unit.</para>
189                                 </listitem>
190                         </varlistentry>
191                         <varlistentry>
192                                 <term><filename>kbrequest.target</filename></term>
193                                 <listitem>
194                                         <para>systemd starts this
195                                         target whenever Alt+ArrowUp is
196                                         pressed on the console. This
197                                         is a good candidate to be
198                                         aliased (symlinked) to
199                                         <filename>rescue.target</filename>.</para>
200                                 </listitem>
201                         </varlistentry>
202                         <varlistentry>
203                                 <term><filename>local-fs.target</filename></term>
204                                 <listitem>
205                                         <para>systemd automatically
206                                         adds dependencies of type
207                                         After to all mount units that
208                                         refer to local mount points
209                                         for this target unit. In
210                                         addition, systemd adds
211                                         dependencies of type Wants to
212                                         this target unit for those
213                                         mounts listed in
214                                         <filename>/etc/fstab</filename>
215                                         that have the
216                                         <literal>auto</literal> and
217                                         <literal>comment=systemd.mount</literal>
218                                         mount options set.</para>
219
220                                         <para>systemd automatically
221                                         adds dependencies of type
222                                         After for this target unit to
223                                         all SysV init script service
224                                         units with an LSB header
225                                         referring to the
226                                         <literal>$local_fs</literal>
227                                         facility.</para>
228                                 </listitem>
229                         </varlistentry>
230                         <varlistentry>
231                                 <term><filename>multi-user.target</filename></term>
232                                 <listitem>
233                                         <para>A special target unit
234                                         for setting up a multi-user
235                                         system (non-graphical). This
236                                         is pulled in by
237                                         <filename>graphical.target</filename>.</para>
238
239                                         <para>Units that are needed
240                                         for a multi-user system shall
241                                         add Wants dependencies to
242                                         this unit for their unit during
243                                         installation.</para>
244                                 </listitem>
245                         </varlistentry>
246                         <varlistentry>
247                                 <term><filename>network.target</filename></term>
248                                 <listitem>
249                                         <para>systemd automatically
250                                         adds dependencies of type
251                                         After for this target unit to
252                                         all SysV init script service
253                                         units with an LSB header
254                                         referring to the
255                                         <literal>$network</literal>
256                                         facility.</para>
257                                 </listitem>
258                         </varlistentry>
259                         <varlistentry>
260                                 <term><filename>nss-lookup.target</filename></term>
261                                 <listitem>
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
267                                         referring to the
268                                         <literal>$named</literal>
269                                         facility.</para>
270                                 </listitem>
271                         </varlistentry>
272                         <varlistentry>
273                                 <term><filename>poweroff.target</filename></term>
274                                 <listitem>
275                                         <para>A special target unit
276                                         for shutting down and powering off the system.</para>
277
278                                         <para>Applications wanting to
279                                         power off the system should start
280                                         this unit.</para>
281
282                                         <para><filename>runlevel0.target</filename>
283                                         is an alias for this target
284                                         unit, for compatibility with SysV.</para>
285                                 </listitem>
286                         </varlistentry>
287                         <varlistentry>
288                                 <term><filename>reboot.target</filename></term>
289                                 <listitem>
290                                         <para>A special target unit
291                                         for shutting down and rebooting the system.</para>
292
293                                         <para>Applications wanting to
294                                         reboot the system should start
295                                         this unit.</para>
296
297                                         <para><filename>runlevel6.target</filename>
298                                         is an alias for this target
299                                         unit, for compatibility with SysV.</para>
300                                 </listitem>
301                         </varlistentry>
302                         <varlistentry>
303                                 <term><filename>remote-fs.target</filename></term>
304                                 <listitem>
305                                         <para>Similar to
306                                         <filename>local-fs.target</filename>,
307                                         but for remote mount
308                                         points.</para>
309
310                                         <para>systemd automatically
311                                         adds dependencies of type
312                                         After for this target unit to
313                                         all SysV init script service
314                                         units with an LSB header
315                                         referring to the
316                                         <literal>$remote-fs</literal>
317                                         facility.</para>
318                                 </listitem>
319                         </varlistentry>
320                         <varlistentry>
321                                 <term><filename>rescue.target</filename></term>
322                                 <listitem>
323                                         <para>A special target unit
324                                         for setting up the base system
325                                         and a rescue shell.</para>
326
327                                         <para><filename>runlevel1.target</filename>
328                                         is an alias for this target
329                                         unit, for compatibility with SysV.</para>
330                                 </listitem>
331                         </varlistentry>
332                         <varlistentry>
333                                 <term><filename>rpcbind.target</filename></term>
334                                 <listitem>
335                                         <para>systemd automatically
336                                         adds dependencies of type
337                                         After for this target unit to
338                                         all SysV init script service
339                                         units with an LSB header
340                                         referring to the
341                                         <literal>$rpcbind</literal>
342                                         facility.</para>
343                                 </listitem>
344                         </varlistentry>
345                         <varlistentry>
346                                 <term><filename>rtc-set.target</filename></term>
347                                 <listitem>
348                                         <para>systemd automatically
349                                         adds dependencies of type
350                                         After for this target unit to
351                                         all SysV init script service
352                                         units with an LSB header
353                                         referring to the
354                                         <literal>$time</literal>
355                                         facility.</para>
356                                 </listitem>
357                         </varlistentry>
358                         <varlistentry>
359                                 <term><filename>runlevel0.target</filename></term>
360                                 <listitem>
361                                         <para>This is a target that is
362                                         called whever the SysV
363                                         compatibility code asks for
364                                         runlevel 0. This is an alias
365                                         for
366                                         <filename>poweroff.target</filename>,
367                                         for compatibility with
368                                         SysV.</para>
369                                 </listitem>
370                         </varlistentry>
371                         <varlistentry>
372                                 <term><filename>runlevel1.target</filename></term>
373                                 <listitem>
374                                         <para>This is a target that is
375                                         called whever the SysV
376                                         compatibility code asks for
377                                         runlevel 1. This is an alias
378                                         for
379                                         <filename>rescue.target</filename>,
380                                         for compatibility with
381                                         SysV.</para>
382                                 </listitem>
383                         </varlistentry>
384                         <varlistentry>
385                                 <term><filename>runlevel2.target</filename></term>
386                                 <listitem>
387                                         <para>This is a target that is
388                                         called whever the SysV
389                                         compatibility code asks for
390                                         runlevel 2. It is a good idea
391                                         to make this an alias for
392                                         (i.e. symlink to)
393                                         <filename>multi-user.target</filename>.</para>
394                                 </listitem>
395                         </varlistentry>
396                         <varlistentry>
397                                 <term><filename>runlevel3.target</filename></term>
398                                 <listitem>
399                                         <para>This is a target that is
400                                         called whever the SysV
401                                         compatibility code asks for
402                                         runlevel 3. It is a good idea
403                                         to make this an alias for
404                                         (i.e. symlink to)
405                                         <filename>multi-user.target</filename>
406                                         or
407                                         <filename>graphical.target</filename>.</para>
408                                 </listitem>
409                         </varlistentry>
410                         <varlistentry>
411                                 <term><filename>runlevel4.target</filename></term>
412                                 <listitem>
413                                         <para>This is a target that is
414                                         called whever the SysV
415                                         compatibility code asks for
416                                         runlevel 4. It is a good idea
417                                         to make this an alias for
418                                         (i.e. symlink to)
419                                         <filename>multi-user.target</filename>
420                                         or
421                                         <filename>graphical.target</filename>.</para>
422                                 </listitem>
423                         </varlistentry>
424                         <varlistentry>
425                                 <term><filename>runlevel5.target</filename></term>
426                                 <listitem>
427                                         <para>This is a target that is
428                                         called whever the SysV
429                                         compatibility code asks for
430                                         runlevel 5. It is a good idea
431                                         to make this an alias for
432                                         (i.e. symlink to)
433                                         <filename>multi-user.target</filename>
434                                         or
435                                         <filename>graphical.target</filename>.</para>
436                                 </listitem>
437                         </varlistentry>
438                         <varlistentry>
439                                 <term><filename>runlevel6.target</filename></term>
440                                 <listitem>
441                                         <para>This is a target that is
442                                         called whever the SysV
443                                         compatibility code asks for
444                                         runlevel 6. This is an alias
445                                         for
446                                         <filename>reboot.target</filename>,
447                                         for compatibility with
448                                         SysV.</para>
449                                 </listitem>
450                         </varlistentry>
451                         <varlistentry>
452                                 <term><filename>shutdown.target</filename></term>
453                                 <listitem>
454                                         <para>A special target unit
455                                         that terminates the services
456                                         on system shutdown.</para>
457
458                                         <para>Services that shall be
459                                         terminated on system shutdown
460                                         shall add Conflicts
461                                         dependencies to this unit for
462                                         their service unit during
463                                         installation.</para>
464
465                                         <para>systemd automatically
466                                         adds dependencies of type
467                                         Conflicts to this target unit
468                                         for all SysV init script
469                                         service units that shall be
470                                         terminated in SysV runlevels 0
471                                         or 6.</para>
472                                 </listitem>
473                         </varlistentry>
474                         <varlistentry>
475                                 <term><filename>sigpwr.target</filename></term>
476                                 <listitem>
477                                         <para>A special target that is
478                                         started when systemd receives
479                                         the SIGPWR process signal,
480                                         which is normally sent by the
481                                         kernel or UPS daemons when
482                                         power fails.</para>
483                                 </listitem>
484                         </varlistentry>
485                         <varlistentry>
486                                 <term><filename>sockets.target</filename></term>
487                                 <listitem>
488                                         <para>A special target unit
489                                         that sets up all service
490                                         sockets.</para>
491
492                                         <para>Services that can be
493                                         socket-activated shall add
494                                         Wants dependencies to this
495                                         unit for their socket unit
496                                         during installation.</para>
497                                 </listitem>
498                         </varlistentry>
499                         <varlistentry>
500                                 <term><filename>swap.target</filename></term>
501                                 <listitem>
502                                         <para>Similar to
503                                         <filename>local-fs.target</filename>, but for swap
504                                         partitions and swap
505                                         files.</para>
506                                 </listitem>
507                         </varlistentry>
508                         <varlistentry>
509                                 <term><filename>syslog.target</filename></term>
510                                 <listitem>
511                                         <para>systemd automatically
512                                         adds dependencies of type
513                                         After for this target unit to
514                                         all SysV init script service
515                                         units with an LSB header
516                                         referring to the
517                                         <literal>$syslog</literal>
518                                         facility.</para>
519
520                                         <para>Administrators should
521                                         ensure that this target pulls
522                                         in a service unit with the
523                                         name or alias of
524                                         <filename>@SPECIAL_SYSLOG_SERVICE@</filename>
525                                         (or a socket unit that
526                                         activates this
527                                         service).</para>
528                                 </listitem>
529                         </varlistentry>
530                         <varlistentry>
531                                 <term><filename>systemd-initctl.service</filename></term>
532                                 <listitem>
533                                         <para>This provides
534                                         compatibility with the SysV
535                                         /dev/initctl file system FIFO
536                                         for communication with the
537                                         init system.</para>
538                                         <para>This is a
539                                         socket-activated service, see
540                                         <filename>system-initctl.socket</filename>.</para>
541                                 </listitem>
542                         </varlistentry>
543                         <varlistentry>
544                                 <term><filename>systemd-initctl.socket</filename></term>
545                                 <listitem>
546                                         <para>Socket activation unit
547                                         for
548                                         <filename>system-initctl.service</filename>.</para>
549                                 </listitem>
550                         </varlistentry>
551                         <varlistentry>
552                                 <term><filename>systemd-logger.service</filename></term>
553                                 <listitem>
554                                         <para>This is internally used
555                                         by systemd to provide syslog
556                                         logging to the processes it
557                                         maintains.</para>
558                                         <para>This is a
559                                         socket-activated service, see
560                                         <filename>system-logger.socket</filename>.</para>
561                                 </listitem>
562                         </varlistentry>
563                         <varlistentry>
564                                 <term><filename>systemd-logger.socket</filename></term>
565                                 <listitem>
566                                         <para>Socket activation unit
567                                         for
568                                         <filename>system-logger.service</filename>. systemd
569                                         will automatically add
570                                         dependencies of types Requires
571                                         and After to all units that
572                                         have been configured for
573                                         stdout or stderr to be
574                                         connected to syslog or the
575                                         kernel log buffer.</para>
576                                 </listitem>
577                         </varlistentry>
578                 </variablelist>
579         </refsect1>
580
581         <refsect1>
582                 <title>Special Session Units</title>
583
584                 <para>When systemd runs as a service instance, the
585                 following special units are available, which have
586                 similar definitions as their system counterparts:
587                 <filename>default.target</filename>,
588                 <filename>local-fs.target</filename>,
589                 <filename>remote-fs.target</filename>,
590                 <filename>shutdown.target</filename>,
591                 <filename>sockets.target</filename>,
592                 <filename>swap.target</filename>.</para>
593         </refsect1>
594
595         <refsect1>
596                   <title>See Also</title>
597                   <para>
598                           <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
599                           <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
600                           <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
601                           <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>
602                   </para>
603         </refsect1>
604
605 </refentry>