diff options
Diffstat (limited to 'man/standard-conf.xml')
-rw-r--r-- | man/standard-conf.xml | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/man/standard-conf.xml b/man/standard-conf.xml new file mode 100644 index 0000000..cc2b874 --- /dev/null +++ b/man/standard-conf.xml @@ -0,0 +1,74 @@ +<?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-or-later + 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>, <filename>/usr/local/lib/</filename>, and <filename>/usr/lib/</filename>, in + order of precedence, as listed in the SYNOPSIS section above. Files must have the + <literal>.conf</literal> extension. Files in <filename>/etc/</filename> override files with the same name + in <filename>/run/</filename>, <filename>/usr/local/lib/</filename>, and + <filename>/usr/lib/</filename>. Files in <filename>/run/</filename> override files with the same name + under <filename>/usr/</filename>.</para> + + <para>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. Thus, the configuration in a certain file may either + be replaced completely (by placing a file with the same name in a directory with higher priority), or + individual settings might be changed (by specifying additional settings in a file with a different name + that is ordered later).</para> + + <para>Packages should install their configuration files in <filename>/usr/lib/</filename> (distribution + packages) or <filename>/usr/local/lib/</filename> (local installs). 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. 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 set during compilation, so configuration is only needed when it is + necessary to deviate from those defaults. The main configuration file is either in + <filename>/usr/lib/systemd/</filename> or <filename>/etc/systemd/</filename> and contains commented out + entries showing the defaults as a guide to the administrator. Local overrides can be created by creating + drop-ins, as described below. The main configuration file can also be edited for this purpose (or a copy + in <filename>/etc/</filename> if it's shipped in <filename>/usr/</filename>) however using drop-ins for + local configuration is recommended over modifications to the main configuration file.</para> + + <para>In addition to the "main" configuration file, drop-in configuration snippets are read from + <filename>/usr/lib/systemd/*.conf.d/</filename>, <filename>/usr/local/lib/systemd/*.conf.d/</filename>, + and <filename>/etc/systemd/*.conf.d/</filename>. Those drop-ins have higher precedence and override the + main configuration file. Files in the <filename>*.conf.d/</filename> configuration subdirectories are + sorted by their filename in lexicographic order, regardless of in which of the subdirectories they + reside. When multiple files specify the same option, for options which accept just a single value, the + entry in the file sorted last takes precedence, and for options which accept a list of values, entries + are collected as they occur in the sorted files.</para> + + <para>When packages need to customize the configuration, they can install drop-ins under + <filename>/usr/</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. Drop-ins have to + be used to override package drop-ins, since the main configuration file has lower precedence. 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. This also defined a concept of drop-in priority to allow + distributions to ship drop-ins within a specific range lower than the range used by users. This should + lower the risk of package drop-ins overriding accidentally drop-ins defined by users.</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> |