[PATCH] doc: describe new /etc - /run - /usr/lib precedence

Nis Martensen nis.martensen at web.de
Tue Apr 3 13:51:21 PDT 2012


The precedence of configuration files was changed in:

commit fc1a2e06a2eab6ca16664adb83b61fe958f00598
conf: when looking for configurations look in /etc first, in /run second

sysctl(5) was already updated. Adapt the text in the other manpages to
reflect the new order.
---
 man/binfmt.d.xml       |   40 +++++++++++++++++++++++++---------------
 man/modules-load.d.xml |   40 +++++++++++++++++++++++++---------------
 man/sysctl.d.xml       |    2 +-
 man/tmpfiles.d.xml     |   35 +++++++++++++++++++++--------------
 4 files changed, 72 insertions(+), 45 deletions(-)

diff --git a/man/binfmt.d.xml b/man/binfmt.d.xml
index f5ec805..b49639e 100644
--- a/man/binfmt.d.xml
+++ b/man/binfmt.d.xml
@@ -73,21 +73,31 @@
                 ignored. Note that this means you may not use ; and #
                 as delimiter in binary format rules.</para>
 
-                <para>Each configuration file is named in the style of
-                <filename>&lt;program&gt;.conf</filename>.
-                Files in <filename>/etc/</filename> overwrite
-                files with the same name in <filename>/usr/lib/</filename>.
-                Files in <filename>/run</filename> overwrite files with
-                the same name in <filename>/etc/</filename> and
-                <filename>/usr/lib/</filename>. Packages should install their
-                configuration files in <filename>/usr/lib/</filename>, files
-                in <filename>/etc/</filename> are reserved for the local
-                administration, which possibly decides to overwrite the
-                configurations installed from packages. All files are sorted
-                by filename in alphabetical order, regardless in which of the
-                directories they reside, to ensure that a specific
-                configuration file takes precedence over another file with
-                an alphabetically later name.</para>
+                <para>Each configuration file shall be named in the
+                style of <filename>&lt;program&gt;.conf</filename>.
+                Files in <filename>/run/</filename> override files
+                with the same name in <filename>/usr/lib/</filename>.
+                Files in <filename>/etc/</filename> override files with
+                the same name in <filename>/run/</filename> and
+                <filename>/usr/lib/</filename>. 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 installed by vendor packages. All
+                configuration files are sorted by their name in
+                alphabetical order, regardless in which of the
+                directories they reside, to guarantee that a specific
+                configuration file takes precedence over another file
+                with an alphabetically earlier name, if both files
+                contain the same variable setting.</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
+                <filename>/etc/binfmt.d</filename> carrying with the
+                same name.</para>
         </refsect1>
 
         <refsect1>
diff --git a/man/modules-load.d.xml b/man/modules-load.d.xml
index e2f7d5c..6faedfe 100644
--- a/man/modules-load.d.xml
+++ b/man/modules-load.d.xml
@@ -74,21 +74,31 @@
 		newlines. Empty lines and lines whose first
 		non-whitespace character is # or ; are ignored.</para>
 
-                <para>Each configuration file is named in the style of
-                <filename>&lt;program&gt;.conf</filename>.
-                Files in <filename>/etc/</filename> overwrite
-                files with the same name in <filename>/usr/lib/</filename>.
-                Files in <filename>/run</filename> overwrite files with
-                the same name in <filename>/etc/</filename> and
-                <filename>/usr/lib/</filename>. Packages should install their
-                configuration files in <filename>/usr/lib/</filename>, files
-                in <filename>/etc/</filename> are reserved for the local
-                administration, which possibly decides to overwrite the
-                configurations installed from packages. All files are sorted
-                by filename in alphabetical order, regardless in which of the
-                directories they reside, to ensure that a specific
-                configuration file takes precedence over another file with
-                an alphabetically later name.</para>
+                <para>Each configuration file shall be named in the
+                style of <filename>&lt;program&gt;.conf</filename>.
+                Files in <filename>/run/</filename> override files
+                with the same name in <filename>/usr/lib/</filename>.
+                Files in <filename>/etc/</filename> override files with
+                the same name in <filename>/run/</filename> and
+                <filename>/usr/lib/</filename>. 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 installed by vendor packages. All
+                configuration files are sorted by their name in
+                alphabetical order, regardless in which of the
+                directories they reside, to guarantee that a specific
+                configuration file takes precedence over another file
+                with an alphabetically earlier name, if both files
+                contain the same variable setting.</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
+                <filename>/etc/modules-load.d</filename> carrying with the
+                same name.</para>
         </refsect1>
 
         <refsect1>
diff --git a/man/sysctl.d.xml b/man/sysctl.d.xml
index 20f2e24..15a2a62 100644
--- a/man/sysctl.d.xml
+++ b/man/sysctl.d.xml
@@ -78,7 +78,7 @@
                 style of <filename>&lt;program&gt;.conf</filename>.
                 Files in <filename>/run/</filename> override files
                 with the same name in <filename>/usr/lib/</filename>.
-                Files in <filename>/etc</filename> override files with
+                Files in <filename>/etc/</filename> override files with
                 the same name in <filename>/run/</filename> and
                 <filename>/usr/lib/</filename>. Packages should
                 install their configuration files in
diff --git a/man/tmpfiles.d.xml b/man/tmpfiles.d.xml
index f70bf0e..6627582 100644
--- a/man/tmpfiles.d.xml
+++ b/man/tmpfiles.d.xml
@@ -66,24 +66,31 @@
         <refsect1>
 		<title>Configuration Format</title>
 
-                <para>Each configuration file is named in the style of
-                <filename>&lt;program&gt;.conf</filename>.  Files in
-                <filename>/etc/</filename> override files with the
-                same name in <filename>/usr/lib/</filename>.  Files in
-                <filename>/run</filename> override files with the same
-                name in <filename>/etc/</filename> and
+                <para>Each configuration file shall be named in the
+                style of <filename>&lt;program&gt;.conf</filename>.
+                Files in <filename>/run/</filename> override files
+                with the same name in <filename>/usr/lib/</filename>.
+                Files in <filename>/etc/</filename> override files with
+                the same name in <filename>/run/</filename> and
                 <filename>/usr/lib/</filename>. Packages should
                 install their configuration files in
-                <filename>/usr/lib/</filename>, files in
+                <filename>/usr/lib/</filename>. Files in
                 <filename>/etc/</filename> are reserved for the local
-                administrator, who may choose to override the
-                configurations installed from packages. The list of
-                configuration files are sorted by their filename in
+                administrator, who may use this logic to override the
+                configuration installed by vendor packages. All
+                configuration files are sorted by their name in
                 alphabetical order, regardless in which of the
-                directories they reside, to guarantee that a
-                configuration file takes precedence over another
-                configuration file with an alphabetically later
-                name.</para>
+                directories they reside, to guarantee that a specific
+                configuration file takes precedence over another file
+                with an alphabetically earlier name, if both files
+                contain the same variable setting.</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
+                <filename>/etc/tmpfiles.d</filename> carrying with the
+                same name.</para>
 
 		<para>The configuration format is one line per path
 		containing action, path, mode, ownership, age and argument
-- 
1.7.2.5


--xHFwDpU9dbj6ez1V--


More information about the systemd-devel mailing list