summaryrefslogtreecommitdiffstats
path: root/man/standard-conf.xml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:35:18 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:35:18 +0000
commitb750101eb236130cf056c675997decbac904cc49 (patch)
treea5df1a06754bdd014cb975c051c83b01c9a97532 /man/standard-conf.xml
parentInitial commit. (diff)
downloadsystemd-b750101eb236130cf056c675997decbac904cc49.tar.xz
systemd-b750101eb236130cf056c675997decbac904cc49.zip
Adding upstream version 252.22.upstream/252.22upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man/standard-conf.xml')
-rw-r--r--man/standard-conf.xml71
1 files changed, 71 insertions, 0 deletions
diff --git a/man/standard-conf.xml b/man/standard-conf.xml
new file mode 100644
index 0000000..f02b9b0
--- /dev/null
+++ b/man/standard-conf.xml
@@ -0,0 +1,71 @@
+<?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. Initially, the main configuration file in
+ <filename>/etc/systemd/</filename> contains commented out entries showing the defaults as a guide to the
+ administrator. Local overrides can be created by editing this file or by creating drop-ins, as described
+ below. 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.</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>