chiark / gitweb /
units: introduce remote-fs-setup.target to pull in dependencies from remote mounts
[elogind.git] / man / systemd.special.xml
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 Lesser General Public License as published by
12   the Free Software Foundation; either version 2.1 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   Lesser General Public License for more details.
19
20   You should have received a copy of the GNU Lesser 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>bluetooth.target</filename>,
53                 <filename>ctrl-alt-del.target</filename>,
54                 <filename>cryptsetup.target</filename>,
55                 <filename>dbus.service</filename>,
56                 <filename>dbus.socket</filename>,
57                 <filename>default.target</filename>,
58                 <filename>display-manager.service</filename>,
59                 <filename>emergency.target</filename>,
60                 <filename>exit.target</filename>,
61                 <filename>final.target</filename>,
62                 <filename>getty.target</filename>,
63                 <filename>graphical.target</filename>,
64                 <filename>halt.target</filename>,
65                 <filename>hibernate.target</filename>,
66                 <filename>hybrid-sleep.target</filename>,
67                 <filename>initrd-fs.target</filename>,
68                 <filename>kbrequest.target</filename>,
69                 <filename>kexec.target</filename>,
70                 <filename>local-fs.target</filename>,
71                 <filename>local-fs-pre.target</filename>,
72                 <filename>multi-user.target</filename>,
73                 <filename>network.target</filename>,
74                 <filename>nss-lookup.target</filename>,
75                 <filename>nss-user-lookup.target</filename>,
76                 <filename>paths.target</filename>,
77                 <filename>poweroff.target</filename>,
78                 <filename>printer.target</filename>,
79                 <filename>reboot.target</filename>,
80                 <filename>remote-fs.target</filename>,
81                 <filename>remote-fs-pre.target</filename>,
82                 <filename>remote-fs-setup.target</filename>,
83                 <filename>rescue.target</filename>,
84                 <filename>initrd-root-fs.target</filename>,
85                 <filename>rpcbind.target</filename>,
86                 <filename>runlevel2.target</filename>,
87                 <filename>runlevel3.target</filename>,
88                 <filename>runlevel4.target</filename>,
89                 <filename>runlevel5.target</filename>,
90                 <filename>shutdown.target</filename>,
91                 <filename>sigpwr.target</filename>,
92                 <filename>sleep.target</filename>,
93                 <filename>smartcard.target</filename>,
94                 <filename>sockets.target</filename>,
95                 <filename>sound.target</filename>,
96                 <filename>suspend.target</filename>,
97                 <filename>swap.target</filename>,
98                 <filename>sysinit.target</filename>,
99                 <filename>syslog.socket</filename>,
100                 <filename>system-update.target</filename>,
101                 <filename>time-sync.target</filename>,
102                 <filename>timers.target</filename>,
103                 <filename>umount.target</filename></para>
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>
118                         <varlistentry>
119                                 <term><filename>basic.target</filename></term>
120                                 <listitem>
121                                         <para>A special target unit
122                                         covering basic boot-up.</para>
123                                         <para>systemd automatically
124                                         adds dependencies of the types
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
136                                         initialization necessary for
137                                         general purpose
138                                         daemons.</para>
139                                 </listitem>
140                         </varlistentry>
141                         <varlistentry>
142                                 <term><filename>bluetooth.target</filename></term>
143                                 <listitem>
144                                         <para>This target is started
145                                         automatically as soon as a
146                                         Bluetooth controller is
147                                         plugged in or becomes
148                                         available at boot.</para>
149
150                                         <para>This may be used to pull
151                                         in Bluetooth management
152                                         daemons dynamically when
153                                         Bluetooth hardware is
154                                         found.</para>
155                                 </listitem>
156                         </varlistentry>
157                         <varlistentry>
158                                 <term><filename>ctrl-alt-del.target</filename></term>
159                                 <listitem>
160                                         <para>systemd starts this
161                                         target whenever
162                                         Control+Alt+Del is pressed on
163                                         the console. Usually this
164                                         should be aliased (symlinked)
165                                         to
166                                         <filename>reboot.target</filename>.</para>
167                                 </listitem>
168                         </varlistentry>
169                         <varlistentry>
170                                 <term><filename>cryptsetup.target</filename></term>
171                                 <listitem>
172                                         <para>A target that pulls in
173                                         setup services for all
174                                         encrypted block
175                                         devices.</para>
176                                 </listitem>
177                         </varlistentry>
178                         <varlistentry>
179                                 <term><filename>dbus.service</filename></term>
180                                 <listitem>
181                                         <para>A special unit for the
182                                         D-Bus bus daemon. As soon as
183                                         this service is fully started
184                                         up systemd will connect to it
185                                         and register its
186                                         service.</para>
187                                 </listitem>
188                         </varlistentry>
189                         <varlistentry>
190                                 <term><filename>dbus.socket</filename></term>
191                                 <listitem>
192                                         <para>A special unit for the
193                                         D-Bus system bus socket. All
194                                         units with
195                                         <varname>Type=dbus</varname>
196                                         automatically gain a
197                                         dependency on this
198                                         unit.</para>
199                                 </listitem>
200                         </varlistentry>
201                         <varlistentry>
202                                 <term><filename>default.target</filename></term>
203                                 <listitem>
204                                         <para>The default unit systemd
205                                         starts at bootup. Usually this
206                                         should be aliased (symlinked)
207                                         to
208                                         <filename>multi-user.target</filename>
209                                         or
210                                         <filename>graphical.target</filename>.</para>
211
212                                         <para>The default unit systemd
213                                         starts at bootup can be
214                                         overridden with the
215                                         <varname>systemd.unit=</varname>
216                                         kernel command line option.</para>
217                                 </listitem>
218                         </varlistentry>
219                         <varlistentry>
220                                 <term><filename>display-manager.service</filename></term>
221                                 <listitem>
222                                         <para>The display manager
223                                         service. Usually this should
224                                         be aliased (symlinked) to
225                                         <filename>gdm.service</filename>
226                                         or a similar display manager
227                                         service.</para>
228                                 </listitem>
229                         </varlistentry>
230                         <varlistentry>
231                                 <term><filename>emergency.target</filename></term>
232                                 <listitem>
233                                         <para>A special target unit
234                                         that starts an emergency
235                                         shell on the main
236                                         console. This unit is supposed
237                                         to be used with the kernel
238                                         command line option
239                                         <varname>systemd.unit=</varname>
240                                         and has otherwise little use.
241                                         </para>
242                                 </listitem>
243                         </varlistentry>
244                         <varlistentry>
245                                 <term><filename>final.target</filename></term>
246                                 <listitem>
247                                         <para>A special target unit
248                                         that is used during the
249                                         shutdown logic and may be used
250                                         to pull in late services after
251                                         all normal services are
252                                         already terminated and all
253                                         mounts unmounted.
254                                         </para>
255                                 </listitem>
256                         </varlistentry>
257                         <varlistentry>
258                                 <term><filename>getty.target</filename></term>
259                                 <listitem>
260                                         <para>A special target unit
261                                         that pulls in statically
262                                         configured local TTY
263                                         <filename>getty</filename>
264                                         instances.
265                                         </para>
266                                 </listitem>
267                         </varlistentry>
268                         <varlistentry>
269                                 <term><filename>graphical.target</filename></term>
270                                 <listitem>
271                                         <para>A special target unit
272                                         for setting up a graphical
273                                         login screen. This pulls in
274                                         <filename>multi-user.target</filename>.</para>
275
276                                         <para>Units that are needed
277                                         for graphical logins shall add
278                                         <varname>Wants=</varname>
279                                         dependencies for their unit to
280                                         this unit (or
281                                         <filename>multi-user.target</filename>)
282                                         during installation. This is
283                                         best configured via
284                                         <varname>WantedBy=graphical.target</varname>
285                                         in the unit's
286                                         <literal>[Install]</literal>
287                                         section.</para>
288                                 </listitem>
289                         </varlistentry>
290                         <varlistentry>
291                                 <term><filename>hibernate.target</filename></term>
292                                 <listitem>
293                                         <para>A special target unit
294                                         for hibernating the
295                                         system. This pulls in
296                                         <filename>sleep.target</filename>.</para>
297                                 </listitem>
298                         </varlistentry>
299                         <varlistentry>
300                                 <term><filename>hybrid-sleep.target</filename></term>
301                                 <listitem>
302                                         <para>A special target unit
303                                         for hibernating and suspending the
304                                         system at the same time. This pulls in
305                                         <filename>sleep.target</filename>.</para>
306                                 </listitem>
307                         </varlistentry>
308                         <varlistentry>
309                                 <term><filename>halt.target</filename></term>
310                                 <listitem>
311                                         <para>A special target unit
312                                         for shutting down and halting
313                                         the system. Note that this
314                                         target is distinct from
315                                         <filename>poweroff.target</filename>
316                                         in that it generally really
317                                         just halts the system rather
318                                         than powering it down.</para>
319
320                                         <para>Applications wanting to
321                                         halt the system should start
322                                         this unit.</para>
323                                 </listitem>
324                         </varlistentry>
325                         <varlistentry>
326                                 <term><filename>initrd-fs.target</filename></term>
327                                 <listitem>
328                                         <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
329                                         automatically adds
330                                         dependencies of type
331                                         <varname>Before=</varname> to
332                                         <filename>sysroot-usr.mount</filename>
333                                         and all mount points fround in
334                                         <filename>/etc/fstab</filename>
335                                         that have the
336                                         <option>auto</option> and
337                                         <option>x-initrd.mount</option>
338                                         mount options set.
339                                         </para>
340                                 </listitem>
341                         </varlistentry>
342                         <varlistentry>
343                                 <term><filename>kbrequest.target</filename></term>
344                                 <listitem>
345                                         <para>systemd starts this
346                                         target whenever Alt+ArrowUp is
347                                         pressed on the console. This
348                                         is a good candidate to be
349                                         aliased (symlinked) to
350                                         <filename>rescue.target</filename>.</para>
351                                 </listitem>
352                         </varlistentry>
353                         <varlistentry>
354                                 <term><filename>kexec.target</filename></term>
355                                 <listitem>
356                                         <para>A special target unit
357                                         for shutting down and rebooting the system via kexec.</para>
358
359                                         <para>Applications wanting to
360                                         reboot the system with kexec should start
361                                         this unit.</para>
362                                 </listitem>
363                         </varlistentry>
364                         <varlistentry>
365                                 <term><filename>local-fs.target</filename></term>
366                                 <listitem>
367                                         <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
368                                         automatically adds
369                                         dependencies of type
370                                         <varname>Before=</varname> to
371                                         all mount units that refer to
372                                         local mount points for this
373                                         target unit. In addition, it
374                                         adds dependencies of type
375                                         <varname>Wants=</varname> to
376                                         this target unit for those
377                                         mounts listed in
378                                         <filename>/etc/fstab</filename>
379                                         that have the
380                                         <option>auto</option> mount
381                                         option set.</para>
382                                 </listitem>
383                         </varlistentry>
384                         <varlistentry>
385                                 <term><filename>local-fs-pre.target</filename></term>
386                                 <listitem>
387                                         <para>This target unit is
388                                         automatically ordered before
389                                         all local mount points marked
390                                         with <option>auto</option>
391                                         (see above). It can be used to
392                                         execute certain units before
393                                         all local mounts.</para>
394                                 </listitem>
395                         </varlistentry>
396                         <varlistentry>
397                                 <term><filename>multi-user.target</filename></term>
398                                 <listitem>
399                                         <para>A special target unit
400                                         for setting up a multi-user
401                                         system (non-graphical). This
402                                         is pulled in by
403                                         <filename>graphical.target</filename>.</para>
404
405                                         <para>Units that are needed
406                                         for a multi-user system shall
407                                         add <varname>Wants=</varname>
408                                         dependencies for their unit to
409                                         this unit during
410                                         installation. This is best
411                                         configured via
412                                         <varname>WantedBy=multi-uer.target</varname>
413                                         in the unit's
414                                         <literal>[Install]</literal>
415                                         section.</para>
416                                 </listitem>
417                         </varlistentry>
418                         <varlistentry>
419                                 <term><filename>network.target</filename></term>
420                                 <listitem>
421                                         <para>systemd automatically
422                                         adds dependencies of type
423                                         <varname>After=</varname> for
424                                         this target unit to all SysV
425                                         init script service units with
426                                         an LSB header referring to the
427                                         <literal>$network</literal>
428                                         facility.</para>
429
430                                         <para>This unit is supposed to
431                                         indicate when the network is
432                                         "up", but it is only very
433                                         loosely defined what that is
434                                         supposed to mean. Also see <ulink
435                                         url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
436                                         Services After the Network is
437                                         up</ulink> for more
438                                         information.</para>
439                                 </listitem>
440                         </varlistentry>
441                         <varlistentry>
442                                 <term><filename>nss-lookup.target</filename></term>
443                                 <listitem>
444                                         <para>A target that should be
445                                         used as synchronization point
446                                         for all host/network name
447                                         service lookups. Note that
448                                         this is independent of
449                                         user/group name lookups for
450                                         which
451                                         <filename>nss-user-lookup.target</filename>
452                                         should be used. systemd
453                                         automatically adds
454                                         dependencies of type
455                                         <varname>After=</varname> for
456                                         this target unit to all SysV
457                                         init script service units with
458                                         an LSB header referring to the
459                                         <literal>$named</literal>
460                                         facility.</para>
461                                 </listitem>
462                         </varlistentry>
463                         <varlistentry>
464                                 <term><filename>nss-user-lookup.target</filename></term>
465                                 <listitem>
466                                         <para>A target that should be
467                                         used as synchronization point
468                                         for all user/group name
469                                         service lookups. Note that
470                                         this is independent of
471                                         host/network name lookups for
472                                         which
473                                         <filename>nss-lookup.target</filename>
474                                         should be used. </para>
475                                 </listitem>
476                         </varlistentry>
477                         <varlistentry>
478                                 <term><filename>paths.target</filename></term>
479                                 <listitem>
480                                         <para>A special target unit
481                                         that sets up all path units
482                                         (see
483                                         <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>
484                                         for details) that shall be
485                                         active after boot.</para>
486
487                                         <para>It is recommended that
488                                         path units installed by
489                                         applications get pulled in via
490                                         <varname>Wants=</varname>
491                                         dependencies from this
492                                         unit. This is best configured
493                                         via a
494                                         <varname>WantedBy=paths.target</varname>
495                                         in the path unit's
496                                         <literal>[Install]</literal>
497                                         section.</para>
498                                 </listitem>
499                         </varlistentry>
500                         <varlistentry>
501                                 <term><filename>poweroff.target</filename></term>
502                                 <listitem>
503                                         <para>A special target unit
504                                         for shutting down and powering off the system.</para>
505
506                                         <para>Applications wanting to
507                                         power off the system should start
508                                         this unit.</para>
509
510                                         <para><filename>runlevel0.target</filename>
511                                         is an alias for this target
512                                         unit, for compatibility with SysV.</para>
513                                 </listitem>
514                         </varlistentry>
515                         <varlistentry>
516                                 <term><filename>printer.target</filename></term>
517                                 <listitem>
518                                         <para>This target is started
519                                         automatically as soon as a
520                                         printer is plugged in or
521                                         becomes available at
522                                         boot.</para>
523
524                                         <para>This may be used to pull
525                                         in printer management
526                                         daemons dynamically when
527                                         printer hardware is
528                                         found.</para>
529                                 </listitem>
530                         </varlistentry>
531                         <varlistentry>
532                                 <term><filename>reboot.target</filename></term>
533                                 <listitem>
534                                         <para>A special target unit
535                                         for shutting down and rebooting the system.</para>
536
537                                         <para>Applications wanting to
538                                         reboot the system should start
539                                         this unit.</para>
540
541                                         <para><filename>runlevel6.target</filename>
542                                         is an alias for this target
543                                         unit, for compatibility with SysV.</para>
544                                 </listitem>
545                         </varlistentry>
546                         <varlistentry>
547                                 <term><filename>remote-fs.target</filename></term>
548                                 <listitem>
549                                         <para>Similar to
550                                         <filename>local-fs.target</filename>,
551                                         but for remote mount
552                                         points.</para>
553
554                                         <para>systemd automatically
555                                         adds dependencies of type
556                                         <varname>After=</varname> for
557                                         this target unit to all SysV
558                                         init script service units with
559                                         an LSB header referring to the
560                                         <literal>$remote_fs</literal>
561                                         facility.</para>
562                                 </listitem>
563                         </varlistentry>
564                         <varlistentry>
565                                 <term><filename>remote-fs-pre.target</filename></term>
566                                 <listitem>
567                                         <para>This target unit is
568                                         automatically ordered before
569                                         all remote mount point units
570                                         (see above). It can be used to
571                                         run certain units before the
572                                         remote mounts are
573                                         established. Note that this
574                                         unit is generally not part of
575                                         the initial transaction,
576                                         unless the unit that wants to
577                                         be ordered before all remote
578                                         mounts pulls it in via a
579                                         <varname>Wants=</varname> type
580                                         dependency. If the unit wants
581                                         to be pulled in by the first
582                                         remote mount showing up it
583                                         should use
584                                         <filename>remote-fs-setup.target</filename>
585                                         (see below).</para>
586
587                                         <para>Again, this target unit
588                                         is <emphasis>not</emphasis>
589                                         suitable for pulling in other
590                                         units, it is only useful for
591                                         ordering.</para>
592                                 </listitem>
593                         </varlistentry>
594                         <varlistentry>
595                                 <term><filename>remote-fs-setup.target</filename></term>
596                                 <listitem>
597                                         <para>This target unit is
598                                         automatically pulled in (by a
599                                         <varname>Wants=</varname> type
600                                         dependency) by all remote
601                                         mount points. It can be used
602                                         to run certain units when at
603                                         least one remote file system
604                                         is to be mounted. Note that
605                                         this target is not ordered
606                                         against the remote mounts, use
607                                         <filename>remote-fs-pre.target</filename>
608                                         for that.</para>
609
610                                         <para>Again, this target unit
611                                         is <emphasis>not</emphasis>
612                                         suitable for ordering, it is
613                                         only useful for pulling in
614                                         other units.</para>
615                                 </listitem>
616                         </varlistentry>
617                         <varlistentry>
618                                 <term><filename>rescue.target</filename></term>
619                                 <listitem>
620                                         <para>A special target unit
621                                         for setting up the base system
622                                         and a rescue shell.</para>
623
624                                         <para><filename>runlevel1.target</filename>
625                                         is an alias for this target
626                                         unit, for compatibility with SysV.</para>
627                                 </listitem>
628                         </varlistentry>
629                         <varlistentry>
630                                 <term><filename>initrd-root-fs.target</filename></term>
631                                 <listitem>
632                                         <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
633                                         automatically adds
634                                         dependencies of type
635                                         <varname>Before=</varname> to
636                                         the
637                                         <filename>sysroot.mount</filename>
638                                         unit, which is generated from
639                                         the kernel command line.
640                                         </para>
641                                 </listitem>
642                         </varlistentry>
643                         <varlistentry>
644                                 <term><filename>rpcbind.target</filename></term>
645                                 <listitem>
646                                         <para>systemd automatically
647                                         adds dependencies of type
648                                         <varname>After=</varname> for
649                                         this target unit to all SysV
650                                         init script service units with
651                                         an LSB header referring to the
652                                         <literal>$portmap</literal>
653                                         facility.</para>
654                                 </listitem>
655                         </varlistentry>
656                         <varlistentry>
657                                 <term><filename>runlevel2.target</filename></term>
658                                 <term><filename>runlevel3.target</filename></term>
659                                 <term><filename>runlevel4.target</filename></term>
660                                 <term><filename>runlevel5.target</filename></term>
661                                 <listitem>
662                                         <para>These are targets that
663                                         are called whenever the SysV
664                                         compatibility code asks for
665                                         runlevel 2, 3, 4, 5,
666                                         respectively. It is a good
667                                         idea to make this an alias for
668                                         (i.e. symlink to)
669                                         <filename>multi-user.target</filename>
670                                         (for runlevel 2) or
671                                         <filename>graphical.target</filename>
672                                         (the others).</para>
673                                 </listitem>
674                         </varlistentry>
675                         <varlistentry>
676                                 <term><filename>shutdown.target</filename></term>
677                                 <listitem>
678                                         <para>A special target unit
679                                         that terminates the services
680                                         on system shutdown.</para>
681
682                                         <para>Services that shall be
683                                         terminated on system shutdown
684                                         shall add <varname>Conflicts=</varname>
685                                         dependencies to this unit for
686                                         their service unit, which is
687                                         implicitly done when
688                                         <varname>DefaultDependencies=yes</varname>
689                                         is set (the default).</para>
690                                 </listitem>
691                         </varlistentry>
692                         <varlistentry>
693                                 <term><filename>sigpwr.target</filename></term>
694                                 <listitem>
695                                         <para>A special target that is
696                                         started when systemd receives
697                                         the SIGPWR process signal,
698                                         which is normally sent by the
699                                         kernel or UPS daemons when
700                                         power fails.</para>
701                                 </listitem>
702                         </varlistentry>
703                         <varlistentry>
704                                 <term><filename>sleep.target</filename></term>
705                                 <listitem>
706                                         <para>A special target unit
707                                         that is pulled in by
708                                         <filename>suspend.target</filename>,
709                                         <filename>hibernate.target</filename>
710                                         and
711                                         <filename>hybrid-sleep.target</filename>
712                                         and may be used to hook units
713                                         into the sleep state
714                                         logic.</para>
715                                 </listitem>
716                         </varlistentry>
717                         <varlistentry>
718                                 <term><filename>smartcard.target</filename></term>
719                                 <listitem>
720                                         <para>This target is started
721                                         automatically as soon as a
722                                         smartcard controller is
723                                         plugged in or becomes
724                                         available at boot.</para>
725
726                                         <para>This may be used to pull
727                                         in printer management
728                                         daemons dynamically when
729                                         smartcard hardware is
730                                         found.</para>
731                                 </listitem>
732                         </varlistentry>
733                         <varlistentry>
734                                 <term><filename>sockets.target</filename></term>
735                                 <listitem>
736                                         <para>A special target unit
737                                         that sets up all socket
738                                         units.(see
739                                         <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
740                                         for details) that shall be
741                                         active after boot.</para>
742
743                                         <para>Services that can be
744                                         socket-activated shall add
745                                         <varname>Wants=</varname>
746                                         dependencies to this unit for
747                                         their socket unit during
748                                         installation. This is best
749                                         configured via a
750                                         <varname>WantedBy=sockets.target</varname>
751                                         in the socket unit's
752                                         <literal>[Install]</literal>
753                                         section.</para>
754                                 </listitem>
755                         </varlistentry>
756                         <varlistentry>
757                                 <term><filename>sound.target</filename></term>
758                                 <listitem>
759                                         <para>This target is started
760                                         automatically as soon as a
761                                         sound card is plugged in or
762                                         becomes available at
763                                         boot.</para>
764
765                                         <para>This may be used to pull
766                                         in audio management daemons
767                                         dynamically when printer
768                                         hardware is found.</para>
769                                 </listitem>
770                         </varlistentry>
771                         <varlistentry>
772                                 <term><filename>suspend.target</filename></term>
773                                 <listitem>
774                                         <para>A special target unit
775                                         for suspending the
776                                         system. This pulls in
777                                         <filename>sleep.target</filename>.</para>
778                                 </listitem>
779                         </varlistentry>
780                         <varlistentry>
781                                 <term><filename>swap.target</filename></term>
782                                 <listitem>
783                                         <para>Similar to
784                                         <filename>local-fs.target</filename>, but for swap
785                                         partitions and swap
786                                         files.</para>
787                                 </listitem>
788                         </varlistentry>
789                         <varlistentry>
790                                 <term><filename>sysinit.target</filename></term>
791                                 <listitem>
792                                         <para>A special target unit
793                                         covering early boot-up scripts.</para>
794                                 </listitem>
795                         </varlistentry>
796                         <varlistentry>
797                                 <term><filename>syslog.socket</filename></term>
798                                 <listitem>
799                                         <para>The socket unit
800                                         syslog implementations should
801                                         listen on. All userspace log
802                                         messages will be made
803                                         available on this socket. For
804                                         more information about syslog
805                                         integration, please consult
806                                         the <ulink
807                                         url="http://www.freedesktop.org/wiki/Software/systemd/syslog">Syslog
808                                         Interface</ulink>
809                                         document.</para>
810                                 </listitem>
811                         </varlistentry>
812                         <varlistentry>
813                                 <term><filename>system-update.target</filename></term>
814                                 <listitem>
815                                         <para>A special target unit
816                                         that is used for off-line
817                                         system updates.
818                                         <citerefentry><refentrytitle>systemd-system-update-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
819                                         will redirect the boot process
820                                         to this target if
821                                         <filename>/system-update</filename>
822                                         exists. For more information
823                                         see the <ulink
824                                         url="http://freedesktop.org/wiki/Software/systemd/SystemUpdates">System
825                                         Updates
826                                         Specification</ulink>.</para>
827                                 </listitem>
828                         </varlistentry>
829                         <varlistentry>
830                                 <term><filename>time-sync.target</filename></term>
831                                 <listitem>
832                                         <para>systemd automatically
833                                         adds dependencies of type
834                                         <varname>After=</varname> for
835                                         this target unit to all SysV
836                                         init script service units with
837                                         an LSB header referring to the
838                                         <literal>$time</literal>
839                                         facility.</para>
840                                 </listitem>
841                         </varlistentry>
842                         <varlistentry>
843                                 <term><filename>timers.target</filename></term>
844                                 <listitem>
845                                         <para>A special target unit
846                                         that sets up all timer
847                                         units (see
848                                         <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>
849                                         for details) that shall be
850                                         active after boot.</para>
851
852                                         <para>It is recommended that
853                                         timer units installed by
854                                         applications get pulled in via
855                                         <varname>Wants=</varname>
856                                         dependencies from this
857                                         unit. This is best configured
858                                         via
859                                         <varname>WantedBy=timers.target</varname>
860                                         in the timer unit's
861                                         <literal>[Install]</literal>
862                                         section.</para>
863                                 </listitem>
864                         </varlistentry>
865                         <varlistentry>
866                                 <term><filename>umount.target</filename></term>
867                                 <listitem>
868                                         <para>A special target unit
869                                         that umounts all mount and
870                                         automount points on system
871                                         shutdown.</para>
872
873                                         <para>Mounts that shall be
874                                         unmounted on system shutdown
875                                         shall add Conflicts
876                                         dependencies to this unit for
877                                         their mount unit, which is
878                                         implicitly done when
879                                         <varname>DefaultDependencies=yes</varname>
880                                         is set (the default).</para>
881                                 </listitem>
882                         </varlistentry>
883
884                 </variablelist>
885         </refsect1>
886
887         <refsect1>
888                 <title>Special User Units</title>
889
890                 <para>When systemd runs as a user instance, the
891                 following special units are available, which have
892                 similar definitions as their system counterparts:
893                 <filename>default.target</filename>,
894                 <filename>shutdown.target</filename>,
895                 <filename>sockets.target</filename></para>
896
897                 <para>In addition the following special unit is
898                 understood only when systemd runs as service instance:</para>
899
900                 <variablelist>
901                         <varlistentry>
902                                 <term><filename>exit.target</filename></term>
903                                 <listitem>
904                                         <para>A special service unit
905                                         for shutting down the
906                                         user service manager.</para>
907
908                                         <para>Applications wanting to
909                                         terminate the user service
910                                         manager should start this
911                                         unit. If systemd receives
912                                         SIGTERM or SIGINT when running
913                                         as user service daemon it will
914                                         start this unit.</para>
915
916                                         <para>Normally, this pulls in
917                                         <filename>shutdown.target</filename>
918                                         which in turn should be
919                                         conflicted by all units that
920                                         want to be shut down on
921                                         user service manager exit.</para>
922                                 </listitem>
923                         </varlistentry>
924                 </variablelist>
925         </refsect1>
926
927         <refsect1>
928                   <title>See Also</title>
929                   <para>
930                           <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
931                           <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
932                           <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
933                           <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
934                           <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
935                           <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
936                           <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
937                   </para>
938         </refsect1>
939
940 </refentry>