| <?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 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> or <filename>/usr/local/lib/systemd/*.conf.d/</filename>. |
| 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 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 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.</para> |
| |
| <para>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 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> |