summaryrefslogtreecommitdiff
path: root/man/systemd.unit.xml
blob: af89d316d5ed13cdcd7828803f9f4680d799b4f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<!--
  This file is part of systemd.

  Copyright 2010 Lennart Poettering

  systemd is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  systemd is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->

<refentry id="systemd.unit">

        <refentryinfo>
                <title>systemd.unit</title>
                <productname>systemd</productname>

                <authorgroup>
                        <author>
                                <contrib>Developer</contrib>
                                <firstname>Lennart</firstname>
                                <surname>Poettering</surname>
                                <email>lennart@poettering.net</email>
                        </author>
                </authorgroup>
        </refentryinfo>

        <refmeta>
                <refentrytitle>systemd.unit</refentrytitle>
                <manvolnum>5</manvolnum>
        </refmeta>

        <refnamediv>
                <refname>systemd.unit</refname>
                <refpurpose>systemd unit configuration files</refpurpose>
        </refnamediv>

        <refsynopsisdiv>
                <para><filename>systemd.service</filename></para>
                <para><filename>systemd.socket</filename></para>
                <para><filename>systemd.device</filename></para>
                <para><filename>systemd.mount</filename></para>
                <para><filename>systemd.automount</filename></para>
                <para><filename>systemd.swap</filename></para>
                <para><filename>systemd.target</filename></para>
                <para><filename>systemd.path</filename></para>
                <para><filename>systemd.timer</filename></para>
        </refsynopsisdiv>

        <refsect1>
                <title>Description</title>

                <para>A unit configuration file encodes information
                about a service, a socket, a device, a mount point, an
                automount point, a swap file or patition, a start-up
                target, a file system path or a timer controlled and
                supervised by <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>. The syntax is inspired by XDG
                <filename>.desktop</filename> files, which are in turn
                inspired by Microsoft Windows <filename>.ini</filename>
                files.</para>

                <para>This man pages lists the common configuration
                options of the all unit types. These options need to
                be configured either in the [Unit] resp. [Install]
                section of the unit files.</para>
        </refsect1>

        <refsect1>
                <title>Options</title>

                <para>Unit file may include a [Unit] section, which
                carries generic information about the unit that is not
                dependent on the type of unit:</para>

                <variablelist>
                        <varlistentry>
                                <term><varname>Names=</varname></term>

                                <listitem><para>Additional names for
                                this unit. The names listed here must
                                have the same suffix (i.e. type) as
                                the unit file name. This option may be
                                specified more than once, in which
                                case all listed names are used. Note
                                that this option is different from the
                                <varname>Alias=</varname> option from
                                the [Install] section mentioned
                                below. See below for details</para>
                                </listitem>
                        </varlistentry>
                        <varlistentry>
                                <term><varname>Requires=</varname></term>

                                <listitem><para>Requirement
                                dependencies on other units. If this
                                units get activated the units listed
                                here will be activated as well. If one
                                of the other units gets deactivated or
                                its activation fails, this unit will
                                be deactivated. This option may be
                                specified more than once, in which
                                case requirement dependencies for all
                                listed names are created.</para>
                                </listitem>
                        </varlistentry>
                </variablelist>

                <para>Unit file may include a [Install] section, which
                carries installation information for the unit. This
                section is not interpreted by
                <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                during runtime. It is used exclusively by the
                <citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                during installation of a unit:</para>

                <variablelist>
                        <varlistentry>
                                <term><varname>Alias=</varname></term>

                                <listitem><para>Additional names this
                                unit shall be installed under. The
                                names listed here must have the same
                                suffix (i.e. type) as the unit file
                                name. This option may be specified
                                more than once, in which case all
                                listed names are used. At installation
                                time
                                <command>systemd-install</command>
                                will create symlinks from these names
                                to the unit file name. Note that this
                                is different from the
                                <varname>Names=</varname> option from
                                the [Unit] section mentioned above:
                                The names from
                                <varname>Names=</varname> apply
                                unconditionally if the unit is
                                loaded. The names from
                                <varname>Alias=</varname> apply only
                                if the unit is actually installed with
                                the <command>systemd-install</command>
                                tool.  Also, if systemd searches for a
                                unit, it will discover symlinked alias
                                names, but not names configured only
                                with <varname>Names=</varname>. It is
                                a common pattern to list a name in both
                                options. In this case, a unit will be
                                active under all names if installed,
                                but also if not installed but
                                requested
                                explicitly.</para></listitem>
                        </varlistentry>
                </variablelist>

        </refsect1>

        <refsect1>
                <title>See Also</title>
                <para>
                        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                </para>
        </refsect1>

</refentry>