mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 17:51:22 +03:00
0f943ae4ea
We have a common parser, but for the user it might be completely unobvious that the same general rules apply to all those files. Let's add a page about the basic syntax so that the more specific pages don't have to repeat those details.
108 lines
5.2 KiB
XML
108 lines
5.2 KiB
XML
<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
|
<!ENTITY % entities SYSTEM "custom-entities.ent" >
|
|
%entities;
|
|
]>
|
|
|
|
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
|
|
|
<refentry id="systemd.syntax">
|
|
|
|
<refentryinfo>
|
|
<title>systemd.syntax</title>
|
|
<productname>systemd</productname>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<contrib>A. U. Thor</contrib>
|
|
<firstname>Zbigniew</firstname>
|
|
<surname>Jędrzejewski-Szmek</surname>
|
|
<email>zbyszek@in.waw.pl</email>
|
|
</author>
|
|
</authorgroup>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>systemd.syntax</refentrytitle>
|
|
<manvolnum>7</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>systemd.syntax</refname>
|
|
<refpurpose>General syntax of systemd configuration files</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1>
|
|
<title>Introduction</title>
|
|
|
|
<para>This page describes the basic principles of configuration files used by
|
|
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
|
and related programs for:
|
|
<itemizedlist>
|
|
<listitem><para>systemd unit files, see
|
|
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</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>,
|
|
<citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry></para></listitem>
|
|
|
|
<listitem><para>daemon config files, see
|
|
<citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-user.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>journal-remote.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>journal-upload.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-sleep.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>timesyncd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>The syntax is inspired by
|
|
<ulink url="http://standards.freedesktop.org/desktop-entry-spec/latest/">XDG Desktop Entry Specification</ulink>
|
|
<filename>.desktop</filename> files, which are in turn inspired by Microsoft Windows
|
|
<filename>.ini</filename> files.
|
|
</para>
|
|
|
|
<para>Each file is a plain text file divided into sections, with configuration entries in the
|
|
style <replaceable>key</replaceable>=<replaceable>value</replaceable>.
|
|
Empty lines and lines starting with <literal>#</literal> or <literal>;</literal> are
|
|
ignored, which may be used for commenting.</para>
|
|
|
|
<para>Lines ending in a backslash are concatenated with the following line while reading and the
|
|
backslash is replaced by a space character. This may be used to wrap long lines. The limit on
|
|
line length is very large (currently 1 MB), but it is recommended to avoid such long lines and
|
|
use multiple directives, variable substitution, or other mechanism as appropriate for the given
|
|
file type.</para>
|
|
|
|
<example><programlisting>[Section A]
|
|
KeyOne=value 1
|
|
KeyTwo=value 2
|
|
|
|
# a comment
|
|
|
|
[Section B]
|
|
Setting="something" "some thing" "…"
|
|
KeyTwo=value 2 \
|
|
value 2 continued
|
|
</programlisting></example>
|
|
|
|
<para>Various settings are allowed to be specified more than once, in which case the
|
|
interpretation depends on the setting. Often, multiple settings form a list, and setting to an
|
|
empty value "resets", which means that previous assignments are ignored. When this is allowed,
|
|
it is mentioned in the description of the setting. Note that using multiple assignments to the
|
|
same value makes the file incompatible with parsers for the XDG <filename>.desktop</filename>
|
|
file format.</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|