diff options
Diffstat (limited to 'man/standard-conf.xml')
-rw-r--r-- | man/standard-conf.xml | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/man/standard-conf.xml b/man/standard-conf.xml new file mode 100644 index 0000000..f5c961a --- /dev/null +++ b/man/standard-conf.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<!DOCTYPE refsection PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> + +<!-- + SPDX-License-Identifier: LGPL-2.1+ + Copyright © 2014 Josh Triplett +--> + +<refsection> + <refsection id='confd'> + <title>Configuration Directories and Precedence</title> + + <para>Configuration files are read from directories in + <filename>/etc/</filename>, <filename>/run/</filename>, and + <filename>/usr/lib/</filename>, in order of precedence. + Each configuration file in these configuration directories shall be named in + the style of <filename><replaceable>filename</replaceable>.conf</filename>. + Files in <filename>/etc/</filename> override files with the same name in + <filename>/run/</filename> and <filename>/usr/lib/</filename>. Files in + <filename>/run/</filename> override files with the same name in + <filename>/usr/lib/</filename>.</para> + + <para>Packages should install their configuration files in + <filename>/usr/lib/</filename>. Files in <filename>/etc/</filename> are + reserved for the local administrator, who may use this logic to override the + configuration files installed by vendor packages. All configuration files + are sorted by their filename in lexicographic order, regardless of which of + the directories they reside in. If multiple files specify the same option, + the entry in the file with the lexicographically latest name will take + precedence. It is recommended to prefix all filenames with a two-digit number + and a dash, to simplify the ordering of the files.</para> + + <para>If the administrator wants to disable a configuration file supplied by + the vendor, the recommended way is to place a symlink to + <filename>/dev/null</filename> in the configuration directory in + <filename>/etc/</filename>, with the same filename as the vendor + configuration file. If the vendor configuration file is included in + the initrd image, the image has to be regenerated.</para> + </refsection> + + <refsection id='main-conf'> + <title>Configuration Directories and Precedence</title> + + <para>The default configuration is defined during compilation, so a + configuration file is only needed when it is necessary to deviate + from those defaults. By default, the configuration file in + <filename>/etc/systemd/</filename> contains commented out entries + showing the defaults as a guide to the administrator. This file + can be edited to create local overrides. + </para> + + <para>When packages need to customize the configuration, they can + install configuration snippets in + <filename>/usr/lib/systemd/*.conf.d/</filename>. Files in + <filename>/etc/</filename> are reserved for the local + administrator, who may use this logic to override the + configuration files installed by vendor packages. The main + configuration file is read before any of the configuration + directories, and has the lowest precedence; entries in a file in + any configuration directory override entries in the single + configuration file. Files in the <filename>*.conf.d/</filename> + configuration subdirectories are sorted by their filename in lexicographic + order, regardless of which of the subdirectories they reside in. When + multiple files specify the same option, for options which accept just a + single value, the entry in the file with the lexicographically latest name + takes precedence. For options which accept a list of values, entries are + collected as they occur in files sorted lexicographically. It is recommended + to prefix all filenames in those subdirectories with a two-digit number and + a dash, to simplify the ordering of the files.</para> + + <para>To disable a configuration file supplied by the vendor, the + recommended way is to place a symlink to + <filename>/dev/null</filename> in the configuration directory in + <filename>/etc/</filename>, with the same filename as the vendor + configuration file.</para> + </refsection> +</refsection> |