]>
Commit | Line | Data |
---|---|---|
9e632bf7 LP |
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 | |
5430f7f2 LP |
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 | |
9e632bf7 LP |
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 | |
5430f7f2 | 18 | Lesser General Public License for more details. |
9e632bf7 | 19 | |
5430f7f2 | 20 | You should have received a copy of the GNU Lesser General Public License |
9e632bf7 LP |
21 | along with systemd; If not, see <http://www.gnu.org/licenses/>. |
22 | --> | |
23 | ||
dfdebb1b ZJS |
24 | <refentry id="systemd" |
25 | xmlns:xi="http://www.w3.org/2001/XInclude"> | |
9e632bf7 LP |
26 | |
27 | <refentryinfo> | |
28 | <title>systemd</title> | |
29 | <productname>systemd</productname> | |
30 | ||
31 | <authorgroup> | |
32 | <author> | |
33 | <contrib>Developer</contrib> | |
34 | <firstname>Lennart</firstname> | |
35 | <surname>Poettering</surname> | |
36 | <email>lennart@poettering.net</email> | |
37 | </author> | |
38 | </authorgroup> | |
39 | </refentryinfo> | |
40 | ||
41 | <refmeta> | |
42 | <refentrytitle>systemd</refentrytitle> | |
160cd5c9 | 43 | <manvolnum>1</manvolnum> |
9e632bf7 LP |
44 | </refmeta> |
45 | ||
46 | <refnamediv> | |
47 | <refname>systemd</refname> | |
6f6083dc | 48 | <refname>init</refname> |
34511ca7 | 49 | <refpurpose>systemd system and service manager</refpurpose> |
9e632bf7 LP |
50 | </refnamediv> |
51 | ||
2218198b LP |
52 | <refsynopsisdiv> |
53 | <cmdsynopsis> | |
160cd5c9 | 54 | <command>systemd <arg choice="opt" rep="repeat">OPTIONS</arg></command> |
2218198b LP |
55 | </cmdsynopsis> |
56 | <cmdsynopsis> | |
160cd5c9 | 57 | <command>init <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg></command> |
2218198b LP |
58 | </cmdsynopsis> |
59 | </refsynopsisdiv> | |
60 | ||
9e632bf7 LP |
61 | <refsect1> |
62 | <title>Description</title> | |
63 | ||
af2d49f7 | 64 | <para>systemd is a system and service manager for |
2218198b | 65 | Linux operating systems. When run as first process on |
af62c704 KS |
66 | boot (as PID 1), it acts as init system that brings |
67 | up and maintains userspace services.</para> | |
2218198b | 68 | |
af62c704 | 69 | <para>For compatibility with SysV, if systemd is called |
2218198b | 70 | as <command>init</command> and a PID that is not |
af62c704 | 71 | 1, it will execute <command>telinit</command> and pass |
2218198b LP |
72 | all command line arguments unmodified. That means |
73 | <command>init</command> and <command>telinit</command> | |
74 | are mostly equivalent when invoked from normal login sessions. See | |
75 | <citerefentry><refentrytitle>telinit</refentrytitle><manvolnum>8</manvolnum></citerefentry> | |
76 | for more information.</para> | |
f3e219a2 LP |
77 | |
78 | <para>When run as system instance, systemd interprets | |
79 | the configuration file | |
80 | <filename>system.conf</filename>, otherwise | |
af2d49f7 | 81 | <filename>user.conf</filename>. See |
5f9cfd4c | 82 | <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> |
f3e219a2 | 83 | for more information.</para> |
2218198b LP |
84 | </refsect1> |
85 | ||
86 | <refsect1> | |
87 | <title>Options</title> | |
88 | ||
89 | <para>The following options are understood:</para> | |
90 | ||
91 | <variablelist> | |
f3e219a2 LP |
92 | <varlistentry> |
93 | <term><option>--test</option></term> | |
94 | ||
95 | <listitem><para>Determine startup | |
96 | sequence, dump it and exit. This is an | |
97 | option useful for debugging | |
98 | only.</para></listitem> | |
99 | </varlistentry> | |
100 | <varlistentry> | |
101 | <term><option>--dump-configuration-items</option></term> | |
102 | ||
103 | <listitem><para>Dump understood unit | |
104 | configuration items. This outputs a | |
105 | terse but complete list of | |
106 | configuration items understood in unit | |
107 | definition files.</para></listitem> | |
108 | </varlistentry> | |
2218198b LP |
109 | <varlistentry> |
110 | <term><option>--unit=</option></term> | |
111 | ||
112 | <listitem><para>Set default unit to | |
79640424 | 113 | activate on startup. If not specified, |
2218198b LP |
114 | defaults to |
115 | <filename>default.target</filename>.</para></listitem> | |
116 | </varlistentry> | |
117 | <varlistentry> | |
edb9aaa8 | 118 | <term><option>--system</option></term> |
af2d49f7 | 119 | <term><option>--user</option></term> |
edb9aaa8 | 120 | |
16dad32e AE |
121 | <listitem><para>For <option>--system</option>, |
122 | tell systemd to run a | |
123 | system instance, even if the process ID is | |
124 | not 1, i.e. systemd is not run as init process. | |
125 | <option>--user</option> does the opposite, | |
126 | running a user instance even if the process | |
127 | ID is 1. | |
edb9aaa8 LP |
128 | Normally it should not be necessary to |
129 | pass these options, as systemd | |
130 | automatically detects the mode it is | |
131 | started in. These options are hence of | |
248e6030 LP |
132 | little use except for debugging. Note |
133 | that it is not supported booting and | |
134 | maintaining a full system with systemd | |
135 | running in <option>--system</option> | |
136 | mode, but PID not 1. In practice, | |
137 | passing <option>--system</option> explicitly is | |
138 | only useful in conjunction with | |
139 | <option>--test</option>.</para></listitem> | |
2218198b LP |
140 | </varlistentry> |
141 | <varlistentry> | |
f3e219a2 | 142 | <term><option>--dump-core</option></term> |
2218198b | 143 | |
af2d49f7 LP |
144 | <listitem><para>Dump core on |
145 | crash. This switch has no effect when | |
146 | run as user | |
147 | instance.</para></listitem> | |
2218198b LP |
148 | </varlistentry> |
149 | <varlistentry> | |
f3e219a2 | 150 | <term><option>--crash-shell</option></term> |
2218198b | 151 | |
af2d49f7 LP |
152 | <listitem><para>Run shell on |
153 | crash. This switch has no effect when | |
154 | run as user | |
155 | instance.</para></listitem> | |
2218198b LP |
156 | </varlistentry> |
157 | <varlistentry> | |
158 | <term><option>--confirm-spawn</option></term> | |
159 | ||
af2d49f7 LP |
160 | <listitem><para>Ask for confirmation |
161 | when spawning processes. This switch | |
162 | has no effect when run as user | |
163 | instance.</para></listitem> | |
2218198b LP |
164 | </varlistentry> |
165 | <varlistentry> | |
69dd2852 LP |
166 | <term><option>--show-status=</option></term> |
167 | ||
168 | <listitem><para>Show terse service | |
169 | status information while booting. This | |
af2d49f7 LP |
170 | switch has no effect when run as user |
171 | instance. Takes a boolean argument | |
172 | which may be omitted which is | |
173 | interpreted as | |
69dd2852 LP |
174 | <option>true</option>.</para></listitem> |
175 | </varlistentry> | |
f3e219a2 LP |
176 | <varlistentry> |
177 | <term><option>--log-target=</option></term> | |
178 | ||
179 | <listitem><para>Set log | |
180 | target. Argument must be one of | |
181 | <option>console</option>, | |
4cfa2c99 | 182 | <option>journal</option>, |
f3e219a2 LP |
183 | <option>syslog</option>, |
184 | <option>kmsg</option>, | |
4cfa2c99 | 185 | <option>journal-or-kmsg</option>, |
f3e219a2 LP |
186 | <option>syslog-or-kmsg</option>, |
187 | <option>null</option>.</para></listitem> | |
2218198b LP |
188 | </varlistentry> |
189 | <varlistentry> | |
190 | <term><option>--log-level=</option></term> | |
191 | ||
192 | <listitem><para>Set log level. As | |
193 | argument this accepts a numerical log | |
5aded369 | 194 | level or the well-known <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry> |
2218198b LP |
195 | symbolic names (lowercase): |
196 | <option>emerg</option>, | |
197 | <option>alert</option>, | |
198 | <option>crit</option>, | |
199 | <option>err</option>, | |
200 | <option>warning</option>, | |
201 | <option>notice</option>, | |
202 | <option>info</option>, | |
203 | <option>debug</option>.</para></listitem> | |
204 | </varlistentry> | |
2218198b LP |
205 | <varlistentry> |
206 | <term><option>--log-color=</option></term> | |
207 | ||
208 | <listitem><para>Highlight important | |
209 | log messages. Argument is a boolean | |
79640424 | 210 | value. If the argument is omitted, it |
2218198b LP |
211 | defaults to |
212 | <option>true</option>.</para></listitem> | |
213 | </varlistentry> | |
214 | <varlistentry> | |
215 | <term><option>--log-location=</option></term> | |
216 | ||
217 | <listitem><para>Include code location | |
218 | in log messages. This is mostly | |
219 | relevant for debugging | |
220 | purposes. Argument is a boolean | |
221 | value. If the argument is omitted | |
222 | it defaults to | |
223 | <option>true</option>.</para></listitem> | |
224 | </varlistentry> | |
0a494f1f LP |
225 | <varlistentry> |
226 | <term><option>--default-standard-output=</option></term> | |
227 | <term><option>--default-standard-error=</option></term> | |
228 | ||
229 | <listitem><para>Sets the default | |
16dad32e AE |
230 | output or error output for all |
231 | services and sockets, respectively. That is, controls | |
0a494f1f LP |
232 | the default for |
233 | <option>StandardOutput=</option> | |
16dad32e | 234 | and <option>StandardError=</option> |
0a494f1f LP |
235 | (see |
236 | <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> | |
237 | for details). Takes one of | |
238 | <option>inherit</option>, | |
239 | <option>null</option>, | |
240 | <option>tty</option>, | |
4cfa2c99 LP |
241 | <option>journal</option>, |
242 | <option>journal+console</option>, | |
0a494f1f LP |
243 | <option>syslog</option>, |
244 | <option>syslog+console</option>, | |
245 | <option>kmsg</option>, | |
756a8d17 | 246 | <option>kmsg+console</option>. If the |
de6c78f8 LP |
247 | argument is omitted |
248 | <option>--default-standard-output=</option> | |
4cfa2c99 | 249 | defaults to <option>journal</option> |
de6c78f8 LP |
250 | and |
251 | <option>--default-standard-error=</option> | |
252 | to | |
934da035 | 253 | <option>inherit</option>.</para></listitem> |
0a494f1f | 254 | </varlistentry> |
dfdebb1b ZJS |
255 | |
256 | <xi:include href="standard-options.xml" xpointer="help" /> | |
257 | <xi:include href="standard-options.xml" xpointer="version" /> | |
2218198b LP |
258 | </variablelist> |
259 | </refsect1> | |
260 | ||
99ffae46 LP |
261 | <refsect1> |
262 | <title>Concepts</title> | |
263 | ||
264 | <para>systemd provides a dependency system between | |
1ec96668 LP |
265 | various entities called "units" of 12 different |
266 | types. Units encapsulate various objects that are | |
267 | relevant for system boot-up and maintenance. The | |
268 | majority of units are configured in unit configuration | |
269 | files, whose syntax and basic set of options is | |
270 | described in | |
99ffae46 LP |
271 | <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
272 | however some are created automatically from other | |
1ec96668 | 273 | configuration, dynamically from system state or |
fbce1139 JE |
274 | programmatically at runtime. Units may be "active" |
275 | (meaning started, bound, plugged in, ..., depending on | |
276 | the unit type, see below), or "inactive" (meaning | |
1ec96668 LP |
277 | stopped, unbound, unplugged, ...), as well as in the |
278 | process of being activated or deactivated, | |
279 | i.e. between the two states (these states are called | |
fbce1139 JE |
280 | "activating", "deactivating"). A special "failed" |
281 | state is available as well, which is very similar to | |
282 | "inactive" and is entered when the service failed in | |
1ec96668 LP |
283 | some way (process returned error code on exit, or |
284 | crashed, or an operation timed out). If this state is | |
fbce1139 | 285 | entered, the cause will be logged, for later |
b9975629 LP |
286 | reference. Note that the various unit types may have a |
287 | number of additional substates, which are mapped to | |
288 | the five generalized unit states described | |
289 | here.</para> | |
290 | ||
291 | <para>The following unit types are available:</para> | |
99ffae46 LP |
292 | |
293 | <orderedlist> | |
1ec96668 | 294 | <listitem><para>Service units, which start and control |
99ffae46 LP |
295 | daemons and the processes they consist of. For |
296 | details see | |
297 | <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
298 | ||
299 | <listitem><para>Socket units, which | |
300 | encapsulate local IPC or network sockets in | |
301 | the system, useful for socket-based | |
302 | activation. For details about socket units see | |
303 | <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
304 | for details on socket-based activation and | |
305 | other forms of activation, see | |
306 | <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para></listitem> | |
307 | ||
308 | <listitem><para>Target units are useful to | |
309 | group units, or provide well-known | |
310 | synchronization points during boot-up, see | |
311 | <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
312 | ||
313 | <listitem><para>Device units expose kernel | |
314 | devices in systemd and may be used to | |
315 | implement device-based activation. For details | |
316 | see | |
317 | <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
318 | ||
319 | <listitem><para>Mount units control mount | |
320 | points in the file system, for details see | |
321 | <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
322 | ||
323 | <listitem><para>Automount units provide | |
324 | automount capabilities, for on-demand mounting | |
325 | of file systems as well as parallelized | |
326 | boot-up. See | |
327 | <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
328 | ||
329 | <listitem><para>Snapshot units can be used to | |
330 | temporarily save the state of the set of | |
331 | systemd units, which later may be restored by | |
332 | activating the saved snapshot unit. For more | |
333 | information see | |
7461d1b7 | 334 | <citerefentry><refentrytitle>systemd.snapshot</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> |
99ffae46 LP |
335 | |
336 | <listitem><para>Timer units are useful for | |
337 | triggering activation of other units based on | |
338 | timers. You may find details in | |
339 | <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
340 | ||
341 | <listitem><para>Swap units are very similar to | |
f8553ccb | 342 | mount units and encapsulate memory swap |
99ffae46 | 343 | partitions or files of the operating |
f8553ccb | 344 | system. They are described in <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> |
99ffae46 LP |
345 | |
346 | <listitem><para>Path units may be used | |
dccb2600 | 347 | to activate other services when file system |
99ffae46 LP |
348 | objects change or are modified. See |
349 | <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
350 | ||
1ec96668 LP |
351 | <listitem><para>Slice units may be used to |
352 | group units which manage system processes | |
353 | (such as service and scope units) in a | |
5eec7de6 | 354 | hierarchical tree for resource management |
1ec96668 LP |
355 | purposes. See |
356 | <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
357 | ||
358 | <listitem><para>Scope units are similar to | |
359 | service units, but manage foreign processes | |
360 | instead of starting them as well. See | |
361 | <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> | |
362 | ||
99ffae46 LP |
363 | </orderedlist> |
364 | ||
365 | <para>Units are named as their configuration | |
366 | files. Some units have special semantics. A detailed | |
f8553ccb | 367 | list is available in |
99ffae46 LP |
368 | <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> |
369 | ||
b9975629 LP |
370 | <para>systemd knows various kinds of dependencies, |
371 | including positive and negative requirement | |
372 | dependencies (i.e. <varname>Requires=</varname> and | |
373 | <varname>Conflicts=</varname>) as well as ordering | |
374 | dependencies (<varname>After=</varname> and | |
375 | <varname>Before=</varname>). NB: ordering and | |
376 | requirement dependencies are orthogonal. If only a | |
377 | requirement dependency exists between two units | |
378 | (e.g. <filename>foo.service</filename> requires | |
379 | <filename>bar.service</filename>), but no ordering | |
380 | dependency (e.g. <filename>foo.service</filename> | |
381 | after <filename>bar.service</filename>) and both are | |
382 | requested to start, they will be started in | |
383 | parallel. It is a common pattern that both requirement | |
384 | and ordering dependencies are placed between two | |
385 | units. Also note that the majority of dependencies are | |
386 | implicitly created and maintained by systemd. In most | |
73e231ab | 387 | cases, it should be unnecessary to declare additional |
b9975629 LP |
388 | dependencies manually, however it is possible to do |
389 | this.</para> | |
390 | ||
391 | <para>Application programs and units (via | |
f8553ccb | 392 | dependencies) may request state changes of units. In |
b9975629 LP |
393 | systemd, these requests are encapsulated as 'jobs' and |
394 | maintained in a job queue. Jobs may succeed or can | |
395 | fail, their execution is ordered based on the ordering | |
396 | dependencies of the units they have been scheduled | |
397 | for.</para> | |
398 | ||
99ffae46 | 399 | <para>On boot systemd activates the target unit |
dccb2600 | 400 | <filename>default.target</filename> whose job is to |
99ffae46 LP |
401 | activate on-boot services and other on-boot units by |
402 | pulling them in via dependencies. Usually the unit | |
403 | name is just an alias (symlink) for either | |
404 | <filename>graphical.target</filename> (for | |
405 | fully-featured boots into the UI) or | |
406 | <filename>multi-user.target</filename> (for limited | |
407 | console-only boots for use in embedded or server | |
408 | environments, or similar; a subset of | |
79640424 | 409 | graphical.target). However, it is at the discretion of |
99ffae46 LP |
410 | the administrator to configure it as an alias to any |
411 | other target unit. See | |
412 | <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry> | |
413 | for details about these target units.</para> | |
414 | ||
dccb2600 | 415 | <para>Processes systemd spawns are placed in |
59a3e1bc LP |
416 | individual Linux control groups named after the unit |
417 | which they belong to in the private systemd | |
418 | hierarchy. (see <ulink | |
6ed80a4e | 419 | url="https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink> |
59a3e1bc LP |
420 | for more information about control groups, or short |
421 | "cgroups"). systemd uses this to effectively keep | |
422 | track of processes. Control group information is | |
423 | maintained in the kernel, and is accessible via the | |
424 | file system hierarchy (beneath | |
77d5f105 | 425 | <filename>/sys/fs/cgroup/systemd/</filename>), or in tools |
59a3e1bc | 426 | such as |
5aded369 | 427 | <citerefentry project='man-pages'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> |
59a3e1bc LP |
428 | (<command>ps xawf -eo pid,user,cgroup,args</command> |
429 | is particularly useful to list all processes and the | |
430 | systemd units they belong to.).</para> | |
431 | ||
432 | <para>systemd is compatible with the SysV init system | |
433 | to a large degree: SysV init scripts are supported and | |
434 | simply read as an alternative (though limited) | |
435 | configuration file format. The SysV | |
436 | <filename>/dev/initctl</filename> interface is | |
dccb2600 OÇ |
437 | provided, and compatibility implementations of the |
438 | various SysV client tools are available. In addition to | |
439 | that, various established Unix functionality such as | |
59a3e1bc LP |
440 | <filename>/etc/fstab</filename> or the |
441 | <filename>utmp</filename> database are | |
442 | supported.</para> | |
443 | ||
444 | <para>systemd has a minimal transaction system: if a | |
445 | unit is requested to start up or shut down it will add | |
446 | it and all its dependencies to a temporary | |
447 | transaction. Then, it will verify if the transaction | |
448 | is consistent (i.e. whether the ordering of all units | |
449 | is cycle-free). If it is not, systemd will try to fix | |
450 | it up, and removes non-essential jobs from the | |
451 | transaction that might remove the loop. Also, systemd | |
452 | tries to suppress non-essential jobs in the | |
453 | transaction that would stop a running service. Finally | |
454 | it is checked whether the jobs of the transaction | |
455 | contradict jobs that have already been queued, and | |
456 | optionally the transaction is aborted then. If all | |
457 | worked out and the transaction is consistent and | |
458 | minimized in its impact it is merged with all already | |
459 | outstanding jobs and added to the run | |
460 | queue. Effectively this means that before executing a | |
461 | requested operation, systemd will verify that it makes | |
462 | sense, fixing it if possible, and only failing if it | |
463 | really cannot work.</para> | |
464 | ||
465 | <para>Systemd contains native implementations of | |
466 | various tasks that need to be executed as part of the | |
e9dd9f95 | 467 | boot process. For example, it sets the hostname or |
59a3e1bc LP |
468 | configures the loopback network device. It also sets |
469 | up and mounts various API file systems, such as | |
470 | <filename>/sys</filename> or | |
471 | <filename>/proc</filename>.</para> | |
472 | ||
99ffae46 | 473 | <para>For more information about the concepts and |
b040723e | 474 | ideas behind systemd, please refer to the <ulink |
99ffae46 | 475 | url="http://0pointer.de/blog/projects/systemd.html">Original |
59a3e1bc | 476 | Design Document</ulink>.</para> |
b9aea954 LP |
477 | |
478 | <para>Note that some but not all interfaces provided | |
479 | by systemd are covered by the <ulink | |
480 | url="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise">Interface | |
481 | Stability Promise</ulink>.</para> | |
059b37cc LP |
482 | |
483 | <para>Units may be generated dynamically at boot and | |
484 | system manager reload time, for example based on other | |
485 | configuration files or parameters passed on the kernel | |
486 | command line. For details see the <ulink | |
487 | url="http://www.freedesktop.org/wiki/Software/systemd/Generators">Generators | |
488 | Specification</ulink>.</para> | |
99800333 LP |
489 | |
490 | <para>Systems which invoke systemd in a container | |
16dad32e | 491 | or initrd environment should implement the |
99800333 LP |
492 | <ulink |
493 | url="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface">Container | |
16dad32e | 494 | Interface</ulink> or <ulink |
99800333 | 495 | url="http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface">initrd |
16dad32e | 496 | Interface</ulink> specifications, respectively.</para> |
99ffae46 LP |
497 | </refsect1> |
498 | ||
160cd5c9 LP |
499 | <refsect1> |
500 | <title>Directories</title> | |
7874bcd6 | 501 | |
19adb8a3 | 502 | <variablelist> |
7874bcd6 LP |
503 | <varlistentry> |
504 | <term>System unit directories</term> | |
505 | ||
506 | <listitem><para>The systemd system | |
507 | manager reads unit configuration from | |
508 | various directories. Packages that | |
509 | want to install unit files shall place | |
510 | them in the directory returned by | |
511 | <command>pkg-config systemd | |
512 | --variable=systemdsystemunitdir</command>. Other | |
513 | directories checked are | |
d636fa3d | 514 | <filename>/usr/local/lib/systemd/system</filename> |
7874bcd6 | 515 | and |
d636fa3d | 516 | <filename>/usr/lib/systemd/system</filename>. User |
7874bcd6 LP |
517 | configuration always takes |
518 | precedence. <command>pkg-config | |
519 | systemd | |
520 | --variable=systemdsystemconfdir</command> | |
521 | returns the path of the system | |
522 | configuration directory. Packages | |
ee5762e3 LP |
523 | should alter the content of these |
524 | directories only with the | |
525 | <command>enable</command> and | |
526 | <command>disable</command> commands of | |
527 | the | |
528 | <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> | |
13219b7f ZJS |
529 | tool. Full list of directories is provided in |
530 | <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. | |
531 | </para></listitem> | |
7874bcd6 LP |
532 | </varlistentry> |
533 | </variablelist> | |
534 | ||
535 | <variablelist> | |
536 | <varlistentry> | |
af2d49f7 | 537 | <term>User unit directories</term> |
7874bcd6 LP |
538 | |
539 | <listitem><para>Similar rules apply | |
af2d49f7 | 540 | for the user unit |
7874bcd6 LP |
541 | directories. However, here the <ulink |
542 | url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG | |
543 | Base Directory specification</ulink> | |
544 | is followed to find | |
545 | units. Applications should place their | |
546 | unit files in the directory returned | |
547 | by <command>pkg-config systemd | |
af2d49f7 | 548 | --variable=systemduserunitdir</command>. Global |
ee5762e3 LP |
549 | configuration is done in the directory |
550 | reported by <command>pkg-config | |
551 | systemd | |
af2d49f7 | 552 | --variable=systemduserconfdir</command>. The |
ee5762e3 LP |
553 | <command>enable</command> and |
554 | <command>disable</command> commands of | |
555 | the | |
556 | <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> | |
7874bcd6 LP |
557 | tool can handle both global (i.e. for |
558 | all users) and private (for one user) | |
559 | enabling/disabling of | |
13219b7f ZJS |
560 | units. Full list of directories is provided in |
561 | <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. | |
562 | </para></listitem> | |
7874bcd6 LP |
563 | </varlistentry> |
564 | </variablelist> | |
565 | ||
566 | <variablelist> | |
567 | <varlistentry> | |
568 | <term>SysV init scripts directory</term> | |
569 | ||
570 | <listitem><para>The location of the | |
571 | SysV init script directory varies | |
572 | between distributions. If systemd | |
573 | cannot find a native unit file for a | |
af62c704 | 574 | requested service, it will look for a |
7874bcd6 LP |
575 | SysV init script of the same name |
576 | (with the | |
577 | <filename>.service</filename> suffix | |
578 | removed).</para></listitem> | |
579 | </varlistentry> | |
580 | </variablelist> | |
581 | ||
582 | <variablelist> | |
583 | <varlistentry> | |
584 | <term>SysV runlevel link farm directory</term> | |
585 | ||
586 | <listitem><para>The location of the | |
587 | SysV runlevel link farm directory | |
588 | varies between distributions. systemd | |
589 | will take the link farm into account | |
590 | when figuring out whether a service | |
591 | shall be enabled. Note that a service | |
592 | unit with a native unit configuration | |
edb9aaa8 | 593 | file cannot be started by activating it |
7874bcd6 LP |
594 | in the SysV runlevel link |
595 | farm.</para></listitem> | |
596 | </varlistentry> | |
597 | </variablelist> | |
160cd5c9 LP |
598 | </refsect1> |
599 | ||
600 | <refsect1> | |
7874bcd6 | 601 | <title>Signals</title> |
160cd5c9 LP |
602 | |
603 | <variablelist> | |
604 | <varlistentry> | |
74d00578 | 605 | <term><constant>SIGTERM</constant></term> |
7874bcd6 LP |
606 | |
607 | <listitem><para>Upon receiving this | |
608 | signal the systemd system manager | |
609 | serializes its state, reexecutes | |
610 | itself and deserializes the saved | |
611 | state again. This is mostly equivalent | |
612 | to <command>systemctl | |
613 | daemon-reexec</command>.</para> | |
614 | ||
af2d49f7 | 615 | <para>systemd user managers will |
7874bcd6 LP |
616 | start the |
617 | <filename>exit.target</filename> unit | |
618 | when this signal is received. This is | |
619 | mostly equivalent to | |
af2d49f7 | 620 | <command>systemctl --user start |
7874bcd6 LP |
621 | exit.target</command>.</para></listitem> |
622 | </varlistentry> | |
623 | ||
624 | <varlistentry> | |
74d00578 | 625 | <term><constant>SIGINT</constant></term> |
7874bcd6 LP |
626 | |
627 | <listitem><para>Upon receiving this | |
628 | signal the systemd system manager will | |
629 | start the | |
630 | <filename>ctrl-alt-del.target</filename> unit. This | |
631 | is mostly equivalent to | |
632 | <command>systemctl start | |
633 | ctl-alt-del.target</command>.</para> | |
634 | ||
af2d49f7 | 635 | <para>systemd user managers |
7874bcd6 | 636 | treat this signal the same way as |
05cc7267 | 637 | <constant>SIGTERM</constant>.</para></listitem> |
7874bcd6 LP |
638 | </varlistentry> |
639 | ||
640 | <varlistentry> | |
74d00578 | 641 | <term><constant>SIGWINCH</constant></term> |
7874bcd6 LP |
642 | |
643 | <listitem><para>When this signal is | |
644 | received the systemd system manager | |
645 | will start the | |
646 | <filename>kbrequest.target</filename> | |
647 | unit. This is mostly equivalent to | |
648 | <command>systemctl start | |
649 | kbrequest.target</command>.</para> | |
650 | ||
651 | <para>This signal is ignored by | |
af2d49f7 | 652 | systemd user |
7874bcd6 LP |
653 | managers.</para></listitem> |
654 | </varlistentry> | |
655 | ||
656 | <varlistentry> | |
74d00578 | 657 | <term><constant>SIGPWR</constant></term> |
7874bcd6 LP |
658 | |
659 | <listitem><para>When this signal is | |
660 | received the systemd manager | |
661 | will start the | |
662 | <filename>sigpwr.target</filename> | |
663 | unit. This is mostly equivalent to | |
664 | <command>systemctl start | |
665 | sigpwr.target</command>.</para></listitem> | |
666 | </varlistentry> | |
667 | ||
668 | <varlistentry> | |
74d00578 | 669 | <term><constant>SIGUSR1</constant></term> |
7874bcd6 LP |
670 | |
671 | <listitem><para>When this signal is | |
672 | received the systemd manager will try | |
673 | to reconnect to the D-Bus | |
674 | bus.</para></listitem> | |
675 | </varlistentry> | |
676 | ||
677 | <varlistentry> | |
74d00578 | 678 | <term><constant>SIGUSR2</constant></term> |
7874bcd6 LP |
679 | |
680 | <listitem><para>When this signal is | |
681 | received the systemd manager will log | |
682 | its complete state in human readable | |
683 | form. The data logged is the same as | |
684 | printed by <command>systemctl | |
685 | dump</command>.</para></listitem> | |
686 | </varlistentry> | |
687 | ||
688 | <varlistentry> | |
74d00578 | 689 | <term><constant>SIGHUP</constant></term> |
7874bcd6 LP |
690 | |
691 | <listitem><para>Reloads the complete | |
692 | daemon configuration. This is mostly | |
693 | equivalent to <command>systemctl | |
694 | daemon-reload</command>.</para></listitem> | |
695 | </varlistentry> | |
696 | ||
697 | <varlistentry> | |
74d00578 | 698 | <term><constant>SIGRTMIN+0</constant></term> |
7874bcd6 LP |
699 | |
700 | <listitem><para>Enters default mode, starts the | |
701 | <filename>default.target</filename> | |
702 | unit. This is mostly equivalent to | |
703 | <command>systemctl start | |
704 | default.target</command>.</para></listitem> | |
705 | </varlistentry> | |
706 | ||
707 | <varlistentry> | |
74d00578 | 708 | <term><constant>SIGRTMIN+1</constant></term> |
7874bcd6 LP |
709 | |
710 | <listitem><para>Enters rescue mode, | |
711 | starts the | |
712 | <filename>rescue.target</filename> | |
713 | unit. This is mostly equivalent to | |
714 | <command>systemctl isolate | |
715 | rescue.target</command>.</para></listitem> | |
716 | </varlistentry> | |
160cd5c9 | 717 | |
7874bcd6 | 718 | <varlistentry> |
74d00578 | 719 | <term><constant>SIGRTMIN+2</constant></term> |
7874bcd6 LP |
720 | |
721 | <listitem><para>Enters emergency mode, | |
722 | starts the | |
723 | <filename>emergency.service</filename> | |
724 | unit. This is mostly equivalent to | |
725 | <command>systemctl isolate | |
726 | emergency.service</command>.</para></listitem> | |
727 | </varlistentry> | |
728 | ||
729 | <varlistentry> | |
74d00578 | 730 | <term><constant>SIGRTMIN+3</constant></term> |
7874bcd6 LP |
731 | |
732 | <listitem><para>Halts the machine, | |
733 | starts the | |
734 | <filename>halt.target</filename> | |
735 | unit. This is mostly equivalent to | |
736 | <command>systemctl start | |
737 | halt.target</command>.</para></listitem> | |
738 | </varlistentry> | |
739 | ||
740 | <varlistentry> | |
74d00578 | 741 | <term><constant>SIGRTMIN+4</constant></term> |
7874bcd6 LP |
742 | |
743 | <listitem><para>Powers off the machine, | |
744 | starts the | |
745 | <filename>poweroff.target</filename> | |
746 | unit. This is mostly equivalent to | |
747 | <command>systemctl start | |
748 | poweroff.target</command>.</para></listitem> | |
749 | </varlistentry> | |
750 | ||
751 | <varlistentry> | |
74d00578 | 752 | <term><constant>SIGRTMIN+5</constant></term> |
7874bcd6 LP |
753 | |
754 | <listitem><para>Reboots the machine, | |
755 | starts the | |
756 | <filename>reboot.target</filename> | |
757 | unit. This is mostly equivalent to | |
758 | <command>systemctl start | |
759 | reboot.target</command>.</para></listitem> | |
160cd5c9 | 760 | </varlistentry> |
0658666b LP |
761 | |
762 | <varlistentry> | |
74d00578 | 763 | <term><constant>SIGRTMIN+6</constant></term> |
0658666b LP |
764 | |
765 | <listitem><para>Reboots the machine via kexec, | |
766 | starts the | |
767 | <filename>kexec.target</filename> | |
768 | unit. This is mostly equivalent to | |
769 | <command>systemctl start | |
770 | kexec.target</command>.</para></listitem> | |
771 | </varlistentry> | |
772 | ||
773 | <varlistentry> | |
74d00578 | 774 | <term><constant>SIGRTMIN+13</constant></term> |
0658666b LP |
775 | |
776 | <listitem><para>Immediately halts the machine.</para></listitem> | |
777 | </varlistentry> | |
778 | ||
779 | <varlistentry> | |
74d00578 | 780 | <term><constant>SIGRTMIN+14</constant></term> |
0658666b LP |
781 | |
782 | <listitem><para>Immediately powers off the machine.</para></listitem> | |
783 | </varlistentry> | |
784 | ||
785 | <varlistentry> | |
74d00578 | 786 | <term><constant>SIGRTMIN+15</constant></term> |
0658666b LP |
787 | |
788 | <listitem><para>Immediately reboots the machine.</para></listitem> | |
789 | </varlistentry> | |
790 | ||
791 | <varlistentry> | |
74d00578 | 792 | <term><constant>SIGRTMIN+16</constant></term> |
0658666b LP |
793 | |
794 | <listitem><para>Immediately reboots the machine with kexec.</para></listitem> | |
795 | </varlistentry> | |
796 | ||
797 | <varlistentry> | |
74d00578 | 798 | <term><constant>SIGRTMIN+20</constant></term> |
0658666b LP |
799 | |
800 | <listitem><para>Enables display of | |
801 | status messages on the console, as | |
802 | controlled via | |
803 | <varname>systemd.show_status=1</varname> | |
804 | on the kernel command | |
805 | line.</para></listitem> | |
806 | </varlistentry> | |
807 | ||
808 | <varlistentry> | |
74d00578 | 809 | <term><constant>SIGRTMIN+21</constant></term> |
0658666b LP |
810 | |
811 | <listitem><para>Disables display of | |
812 | status messages on the console, as | |
813 | controlled via | |
814 | <varname>systemd.show_status=0</varname> | |
815 | on the kernel command | |
816 | line.</para></listitem> | |
817 | </varlistentry> | |
253ee27a LP |
818 | |
819 | <varlistentry> | |
74d00578 ZJS |
820 | <term><constant>SIGRTMIN+22</constant></term> |
821 | <term><constant>SIGRTMIN+23</constant></term> | |
253ee27a LP |
822 | |
823 | <listitem><para>Sets the log level to | |
824 | <literal>debug</literal> | |
16dad32e | 825 | (or <literal>info</literal> on |
74d00578 | 826 | <constant>SIGRTMIN+23</constant>), as |
253ee27a LP |
827 | controlled via |
828 | <varname>systemd.log_level=debug</varname> | |
16dad32e | 829 | (or <varname>systemd.log_level=info</varname> |
74d00578 | 830 | on <constant>SIGRTMIN+23</constant>) on |
253ee27a LP |
831 | the kernel command |
832 | line.</para></listitem> | |
833 | </varlistentry> | |
834 | ||
600b704e | 835 | <varlistentry> |
74d00578 | 836 | <term><constant>SIGRTMIN+24</constant></term> |
600b704e LP |
837 | |
838 | <listitem><para>Immediately exits the | |
839 | manager (only available for --user | |
840 | instances).</para></listitem> | |
841 | </varlistentry> | |
842 | ||
253ee27a | 843 | <varlistentry> |
74d00578 ZJS |
844 | <term><constant>SIGRTMIN+26</constant></term> |
845 | <term><constant>SIGRTMIN+27</constant></term> | |
846 | <term><constant>SIGRTMIN+28</constant></term> | |
847 | <term><constant>SIGRTMIN+29</constant></term> | |
253ee27a LP |
848 | |
849 | <listitem><para>Sets the log level to | |
4cfa2c99 | 850 | <literal>journal-or-kmsg</literal> |
16dad32e | 851 | (or <literal>console</literal> on |
74d00578 | 852 | <constant>SIGRTMIN+27</constant>, |
16dad32e | 853 | <literal>kmsg</literal> on |
74d00578 | 854 | <constant>SIGRTMIN+28</constant>, |
16dad32e | 855 | or <literal>syslog-or-kmsg</literal> |
74d00578 | 856 | on <constant>SIGRTMIN+29</constant>), as |
253ee27a | 857 | controlled via |
4cfa2c99 | 858 | <varname>systemd.log_target=journal-or-kmsg</varname> |
16dad32e | 859 | (or <varname>systemd.log_target=console</varname> |
74d00578 | 860 | on <constant>SIGRTMIN+27</constant>, |
16dad32e | 861 | <varname>systemd.log_target=kmsg</varname> |
74d00578 | 862 | on <constant>SIGRTMIN+28</constant>, |
16dad32e | 863 | or |
253ee27a | 864 | <varname>systemd.log_target=syslog-or-kmsg</varname> |
74d00578 | 865 | on <constant>SIGRTMIN+29</constant>) on |
253ee27a LP |
866 | the kernel command |
867 | line.</para></listitem> | |
868 | </varlistentry> | |
160cd5c9 LP |
869 | </variablelist> |
870 | </refsect1> | |
871 | ||
7874bcd6 LP |
872 | <refsect1> |
873 | <title>Environment</title> | |
874 | ||
08177c85 | 875 | <variablelist class='environment-variables'> |
7874bcd6 LP |
876 | <varlistentry> |
877 | <term><varname>$SYSTEMD_LOG_LEVEL</varname></term> | |
878 | <listitem><para>systemd reads the | |
879 | log level from this environment | |
436c44a5 | 880 | variable. This can be overridden with |
7874bcd6 LP |
881 | <option>--log-level=</option>.</para></listitem> |
882 | </varlistentry> | |
883 | ||
884 | <varlistentry> | |
885 | <term><varname>$SYSTEMD_LOG_TARGET</varname></term> | |
886 | <listitem><para>systemd reads the | |
887 | log target from this environment | |
436c44a5 | 888 | variable. This can be overridden with |
7874bcd6 LP |
889 | <option>--log-target=</option>.</para></listitem> |
890 | </varlistentry> | |
891 | ||
892 | <varlistentry> | |
893 | <term><varname>$SYSTEMD_LOG_COLOR</varname></term> | |
894 | <listitem><para>Controls whether | |
895 | systemd highlights important log | |
436c44a5 | 896 | messages. This can be overridden with |
7874bcd6 LP |
897 | <option>--log-color=</option>.</para></listitem> |
898 | </varlistentry> | |
899 | ||
900 | <varlistentry> | |
901 | <term><varname>$SYSTEMD_LOG_LOCATION</varname></term> | |
902 | <listitem><para>Controls whether | |
903 | systemd prints the code location along | |
904 | with log messages. This can be | |
436c44a5 | 905 | overridden with |
7874bcd6 LP |
906 | <option>--log-location=</option>.</para></listitem> |
907 | </varlistentry> | |
908 | ||
909 | <varlistentry> | |
910 | <term><varname>$XDG_CONFIG_HOME</varname></term> | |
911 | <term><varname>$XDG_CONFIG_DIRS</varname></term> | |
912 | <term><varname>$XDG_DATA_HOME</varname></term> | |
913 | <term><varname>$XDG_DATA_DIRS</varname></term> | |
914 | ||
af2d49f7 | 915 | <listitem><para>The systemd user |
7874bcd6 LP |
916 | manager uses these variables in |
917 | accordance to the <ulink | |
918 | url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG | |
919 | Base Directory specification</ulink> | |
920 | to find its configuration.</para></listitem> | |
921 | </varlistentry> | |
922 | ||
923 | <varlistentry> | |
924 | <term><varname>$SYSTEMD_UNIT_PATH</varname></term> | |
925 | ||
926 | <listitem><para>Controls where systemd | |
927 | looks for unit | |
928 | files.</para></listitem> | |
929 | </varlistentry> | |
930 | ||
931 | <varlistentry> | |
932 | <term><varname>$SYSTEMD_SYSVINIT_PATH</varname></term> | |
933 | ||
934 | <listitem><para>Controls where systemd | |
935 | looks for SysV init scripts.</para></listitem> | |
936 | </varlistentry> | |
937 | ||
938 | <varlistentry> | |
939 | <term><varname>$SYSTEMD_SYSVRCND_PATH</varname></term> | |
940 | ||
941 | <listitem><para>Controls where systemd | |
942 | looks for SysV init script runlevel link | |
943 | farms.</para></listitem> | |
944 | </varlistentry> | |
945 | ||
946 | <varlistentry> | |
947 | <term><varname>$LISTEN_PID</varname></term> | |
948 | <term><varname>$LISTEN_FDS</varname></term> | |
949 | ||
950 | <listitem><para>Set by systemd for | |
951 | supervised processes during | |
952 | socket-based activation. See | |
953 | <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry> | |
954 | for more information. | |
955 | </para></listitem> | |
956 | </varlistentry> | |
957 | ||
958 | <varlistentry> | |
959 | <term><varname>$NOTIFY_SOCKET</varname></term> | |
960 | ||
961 | <listitem><para>Set by systemd for | |
962 | supervised processes for status and | |
963 | start-up completion notification. See | |
964 | <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry> | |
965 | for more information. | |
966 | </para></listitem> | |
967 | </varlistentry> | |
968 | </variablelist> | |
969 | </refsect1> | |
160cd5c9 | 970 | |
f3e219a2 LP |
971 | <refsect1> |
972 | <title>Kernel Command Line</title> | |
973 | ||
45dc3a04 LP |
974 | <para>When run as system instance systemd parses a |
975 | number of kernel command line | |
976 | arguments<footnote><para>If run inside a Linux | |
977 | container these arguments may be passed as command | |
978 | line arguments to systemd itself, next to any of the | |
979 | command line options listed in the Options section | |
980 | above. If run outside of Linux containers, these | |
981 | arguments are parsed from | |
982 | <filename>/proc/cmdline</filename> | |
983 | instead.</para></footnote>:</para> | |
f3e219a2 | 984 | |
ccc9a4f9 | 985 | <variablelist class='kernel-commandline-options'> |
f3e219a2 LP |
986 | <varlistentry> |
987 | <term><varname>systemd.unit=</varname></term> | |
c66e7bc7 | 988 | <term><varname>rd.systemd.unit=</varname></term> |
f3e219a2 LP |
989 | |
990 | <listitem><para>Overrides the unit to | |
991 | activate on boot. Defaults to | |
992 | <filename>default.target</filename>. This | |
993 | may be used to temporarily boot into a | |
994 | different boot unit, for example | |
995 | <filename>rescue.target</filename> or | |
996 | <filename>emergency.service</filename>. See | |
997 | <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry> | |
c66e7bc7 LP |
998 | for details about these units. The |
999 | option prefixed with | |
bb31a4ac | 1000 | <literal>rd.</literal> is honored |
c66e7bc7 | 1001 | only in the initial RAM disk (initrd), |
6b4991cf | 1002 | while the one that is not prefixed only |
c66e7bc7 | 1003 | in the main system.</para></listitem> |
f3e219a2 LP |
1004 | </varlistentry> |
1005 | ||
f3e219a2 LP |
1006 | <varlistentry> |
1007 | <term><varname>systemd.dump_core=</varname></term> | |
1008 | ||
1009 | <listitem><para>Takes a boolean | |
79640424 | 1010 | argument. If <option>true</option>, |
f3e219a2 | 1011 | systemd dumps core when it |
79640424 | 1012 | crashes. Otherwise, no core dump is |
f3e219a2 LP |
1013 | created. Defaults to |
1014 | <option>true</option>.</para></listitem> | |
1015 | </varlistentry> | |
1016 | ||
1017 | <varlistentry> | |
1018 | <term><varname>systemd.crash_shell=</varname></term> | |
1019 | ||
1020 | <listitem><para>Takes a boolean | |
79640424 | 1021 | argument. If <option>true</option>, |
f3e219a2 | 1022 | systemd spawns a shell when it |
79640424 | 1023 | crashes. Otherwise, no shell is |
f8553ccb | 1024 | spawned. Defaults to |
f3e219a2 LP |
1025 | <option>false</option>, for security |
1026 | reasons, as the shell is not protected | |
1027 | by any password | |
1028 | authentication.</para></listitem> | |
1029 | </varlistentry> | |
1030 | ||
1031 | <varlistentry> | |
1032 | <term><varname>systemd.crash_chvt=</varname></term> | |
1033 | ||
1034 | <listitem><para>Takes an integer | |
1035 | argument. If positive systemd | |
1036 | activates the specified virtual | |
1037 | terminal when it crashes. Defaults to | |
74d00578 | 1038 | <constant>-1</constant>.</para></listitem> |
f3e219a2 LP |
1039 | </varlistentry> |
1040 | ||
69dd2852 LP |
1041 | <varlistentry> |
1042 | <term><varname>systemd.confirm_spawn=</varname></term> | |
1043 | ||
1044 | <listitem><para>Takes a boolean | |
79640424 | 1045 | argument. If <option>true</option>, |
69dd2852 LP |
1046 | asks for confirmation when spawning |
1047 | processes. Defaults to | |
1048 | <option>false</option>.</para></listitem> | |
1049 | </varlistentry> | |
1050 | ||
f3e219a2 LP |
1051 | <varlistentry> |
1052 | <term><varname>systemd.show_status=</varname></term> | |
1053 | ||
1054 | <listitem><para>Takes a boolean | |
d450b6f2 ZJS |
1055 | argument or the constant |
1056 | <constant>auto</constant>. If | |
1057 | <option>true</option>, shows terse | |
1058 | service status updates on the console | |
1059 | during bootup. | |
1060 | <constant>auto</constant> behaves like | |
1061 | <option>false</option> until a service | |
1062 | fails or there is a significant delay | |
1063 | in boot. Defaults to | |
c66e7bc7 LP |
1064 | <option>true</option>, unless |
1065 | <option>quiet</option> is passed as | |
1066 | kernel command line option in which | |
1067 | case it defaults to | |
d450b6f2 | 1068 | <constant>auto</constant>.</para></listitem> |
f3e219a2 LP |
1069 | </varlistentry> |
1070 | ||
69dd2852 LP |
1071 | <varlistentry> |
1072 | <term><varname>systemd.log_target=</varname></term> | |
1073 | <term><varname>systemd.log_level=</varname></term> | |
1074 | <term><varname>systemd.log_color=</varname></term> | |
1075 | <term><varname>systemd.log_location=</varname></term> | |
1076 | ||
1077 | <listitem><para>Controls log output, | |
1078 | with the same effect as the | |
1079 | <varname>$SYSTEMD_LOG_TARGET</varname>, <varname>$SYSTEMD_LOG_LEVEL</varname>, <varname>$SYSTEMD_LOG_COLOR</varname>, <varname>$SYSTEMD_LOG_LOCATION</varname> | |
1080 | environment variables described above.</para></listitem> | |
1081 | </varlistentry> | |
1082 | ||
0a494f1f LP |
1083 | <varlistentry> |
1084 | <term><varname>systemd.default_standard_output=</varname></term> | |
1085 | <term><varname>systemd.default_standard_error=</varname></term> | |
1086 | <listitem><para>Controls default | |
16dad32e | 1087 | standard output and error output for |
0a494f1f LP |
1088 | services, with the same effect as the |
1089 | <option>--default-standard-output=</option> | |
16dad32e | 1090 | and <option>--default-standard-error=</option> |
0a494f1f | 1091 | command line arguments described |
16dad32e | 1092 | above, respectively.</para></listitem> |
0a494f1f LP |
1093 | </varlistentry> |
1094 | ||
aa704ba8 LP |
1095 | <varlistentry> |
1096 | <term><varname>systemd.setenv=</varname></term> | |
1097 | ||
1098 | <listitem><para>Takes a string | |
e21fea24 KS |
1099 | argument in the form VARIABLE=VALUE. |
1100 | May be used to set default environment | |
1101 | variables to add to forked child processes. | |
1102 | May be used more than once to set multiple | |
1103 | variables.</para></listitem> | |
aa704ba8 LP |
1104 | </varlistentry> |
1105 | ||
c66e7bc7 LP |
1106 | <varlistentry> |
1107 | <term><varname>quiet</varname></term> | |
1108 | ||
9749cd77 | 1109 | <listitem><para>Turn off |
d081dffb | 1110 | status output at boot, much like |
c66e7bc7 | 1111 | <varname>systemd.show_status=false</varname> |
c66e7bc7 LP |
1112 | would. Note that this option is also |
1113 | read by the kernel itself and disables | |
9749cd77 LN |
1114 | kernel log output. Passing this option |
1115 | hence turns off the usual output from | |
1116 | both the system manager and the kernel. | |
1117 | </para></listitem> | |
1118 | </varlistentry> | |
1119 | ||
1120 | <varlistentry> | |
1121 | <term><varname>debug</varname></term> | |
1122 | ||
1123 | <listitem><para>Turn on debugging | |
1124 | output. This is equivalent to | |
1125 | <varname>systemd.log_level=debug</varname>. | |
1126 | Note that this option is also read by | |
1127 | the kernel itself and enables kernel | |
1128 | debug output. Passing this option | |
1129 | hence turns on the debug output from | |
1130 | both the system manager and the | |
c66e7bc7 LP |
1131 | kernel.</para></listitem> |
1132 | </varlistentry> | |
1133 | ||
1134 | <varlistentry> | |
77565771 | 1135 | <term><varname>-b</varname></term> |
c66e7bc7 LP |
1136 | <term><varname>emergency</varname></term> |
1137 | ||
1138 | <listitem><para>Boot into emergency | |
1139 | mode. This is equivalent to | |
1140 | <varname>systemd.unit=emergency.target</varname> | |
1141 | and provided for compatibility | |
1142 | reasons and to be easier to type.</para></listitem> | |
1143 | </varlistentry> | |
1144 | ||
1145 | <varlistentry> | |
1146 | <term><varname>single</varname></term> | |
1147 | <term><varname>s</varname></term> | |
1148 | <term><varname>S</varname></term> | |
1149 | <term><varname>1</varname></term> | |
1150 | ||
1151 | <listitem><para>Boot into rescue | |
1152 | mode. This is equivalent to | |
1153 | <varname>systemd.unit=rescue.target</varname> | |
1154 | and provided for compatibility reasons | |
1155 | and to be easier to | |
1156 | type.</para></listitem> | |
1157 | </varlistentry> | |
1158 | ||
1159 | <varlistentry> | |
1160 | <term><varname>2</varname></term> | |
1161 | <term><varname>3</varname></term> | |
1162 | <term><varname>4</varname></term> | |
1163 | <term><varname>5</varname></term> | |
1164 | ||
1165 | <listitem><para>Boot into the | |
16dad32e AE |
1166 | specified legacy SysV runlevel. These |
1167 | are equivalent to | |
c66e7bc7 LP |
1168 | <varname>systemd.unit=runlevel2.target</varname>, |
1169 | <varname>systemd.unit=runlevel3.target</varname>, | |
1170 | <varname>systemd.unit=runlevel4.target</varname>, | |
16dad32e | 1171 | and <varname>systemd.unit=runlevel5.target</varname>, respectively, |
c66e7bc7 LP |
1172 | and provided for compatibility reasons |
1173 | and to be easier to | |
1174 | type.</para></listitem> | |
1175 | </varlistentry> | |
1176 | ||
1177 | <varlistentry> | |
1178 | <term><varname>locale.LANG=</varname></term> | |
1179 | <term><varname>locale.LANGUAGE=</varname></term> | |
1180 | <term><varname>locale.LC_CTYPE=</varname></term> | |
1181 | <term><varname>locale.LC_NUMERIC=</varname></term> | |
1182 | <term><varname>locale.LC_TIME=</varname></term> | |
1183 | <term><varname>locale.LC_COLLATE=</varname></term> | |
1184 | <term><varname>locale.LC_MONETARY=</varname></term> | |
1185 | <term><varname>locale.LC_MESSAGES=</varname></term> | |
1186 | <term><varname>locale.LC_PAPER=</varname></term> | |
1187 | <term><varname>locale.LC_NAME=</varname></term> | |
1188 | <term><varname>locale.LC_ADDRESS=</varname></term> | |
1189 | <term><varname>locale.LC_TELEPHONE=</varname></term> | |
1190 | <term><varname>locale.LC_MEASUREMENT=</varname></term> | |
1191 | <term><varname>locale.LC_IDENTIFICATION=</varname></term> | |
1192 | ||
1193 | <listitem><para>Set the system locale | |
1194 | to use. This overrides the settings in | |
1195 | <filename>/etc/locale.conf</filename>. For | |
1196 | more information see | |
1197 | <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> | |
1198 | and | |
1199 | <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>. | |
1200 | </para></listitem> | |
1201 | </varlistentry> | |
f3e219a2 | 1202 | </variablelist> |
c66e7bc7 LP |
1203 | |
1204 | <para>For other kernel command line parameters | |
1205 | understood by components of the core OS, please refer | |
1206 | to | |
1207 | <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> | |
f3e219a2 LP |
1208 | </refsect1> |
1209 | ||
2218198b LP |
1210 | <refsect1> |
1211 | <title>Sockets and FIFOs</title> | |
1212 | ||
1213 | <variablelist> | |
1214 | <varlistentry> | |
bb29785e | 1215 | <term><filename>/run/systemd/notify</filename></term> |
2218198b LP |
1216 | |
1217 | <listitem><para>Daemon status | |
bb29785e | 1218 | notification socket. This is an |
74d00578 | 1219 | <constant>AF_UNIX</constant> datagram socket and is used to |
bb29785e LP |
1220 | implement the daemon notification |
1221 | logic as implemented by | |
2218198b LP |
1222 | <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> |
1223 | ||
1224 | </varlistentry> | |
1225 | ||
5dc50792 | 1226 | <varlistentry> |
bb29785e | 1227 | <term><filename>/run/systemd/shutdownd</filename></term> |
5dc50792 LP |
1228 | |
1229 | <listitem><para>Used internally by the | |
1230 | <citerefentry><refentrytitle>shutdown</refentrytitle><manvolnum>8</manvolnum></citerefentry> | |
1231 | tool to implement delayed | |
74d00578 | 1232 | shutdowns. This is an <constant>AF_UNIX</constant> datagram |
bb29785e | 1233 | socket.</para></listitem> |
5dc50792 LP |
1234 | </varlistentry> |
1235 | ||
2218198b | 1236 | <varlistentry> |
bb29785e | 1237 | <term><filename>/run/systemd/private</filename></term> |
2218198b LP |
1238 | |
1239 | <listitem><para>Used internally as | |
1240 | communication channel between | |
1241 | <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> | |
1242 | and the systemd process. This is an | |
74d00578 | 1243 | <constant>AF_UNIX</constant> stream socket. This interface |
bb29785e LP |
1244 | is private to systemd and should not |
1245 | be used in external | |
2218198b LP |
1246 | projects.</para></listitem> |
1247 | </varlistentry> | |
1248 | ||
1249 | <varlistentry> | |
1250 | <term><filename>/dev/initctl</filename></term> | |
1251 | ||
1252 | <listitem><para>Limited compatibility | |
1253 | support for the SysV client interface, | |
1254 | as implemented by the | |
1255 | <filename>systemd-initctl.service</filename> | |
1256 | unit. This is a named pipe in the file | |
1257 | system. This interface is obsolete and | |
1258 | should not be used in new | |
1259 | applications.</para></listitem> | |
1260 | </varlistentry> | |
1261 | </variablelist> | |
9e632bf7 LP |
1262 | </refsect1> |
1263 | ||
9e632bf7 LP |
1264 | <refsect1> |
1265 | <title>See Also</title> | |
1266 | <para> | |
ba54bcb8 | 1267 | The <ulink url="http://www.freedesktop.org/wiki/Software/systemd/">systemd Homepage</ulink>, |
5f9cfd4c | 1268 | <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
4aa6e778 | 1269 | <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
7874bcd6 | 1270 | <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |
1638bd34 | 1271 | <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |
7874bcd6 | 1272 | <citerefentry><refentrytitle>systemd-notify</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |
9e632bf7 | 1273 | <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>, |
cb07866b | 1274 | <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>, |
7874bcd6 LP |
1275 | <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |
1276 | <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
5aded369 | 1277 | <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |
013d8a39 | 1278 | <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>, |
5aded369 | 1279 | <citerefentry project='man-pages'><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>, |
9cc2c8b7 | 1280 | <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry> |
9e632bf7 LP |
1281 | </para> |
1282 | </refsect1> | |
1283 | ||
1284 | </refentry> |