chiark / gitweb /
move imported udev into place
[elogind.git] / man / sysctl.d.xml
index 8f336dc0dd6461696430e58a2ebd436c15c4319a..20f2e24820e53e2d38225a5e5593c526a1a12dc4 100644 (file)
 
         <refsynopsisdiv>
                 <para><filename>/etc/sysctl.d/*.conf</filename></para>
+                <para><filename>/run/sysctl.d/*.conf</filename></para>
+                <para><filename>/usr/lib/sysctl.d/*.conf</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
-               <para><command>systemd</command> uses
-               <filename>/etc/sysctl.d/</filename> to configure
+               <para><command>systemd</command> uses configuration
+               files from the above directories to configure
                <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
-               kernel parameters to load during boot. Each
-               configuration file is named in the style of
-               <filename>/etc/sysctl.d/&lt;program&gt;.conf</filename>.</para>
+               kernel parameters during boot.</para>
         </refsect1>
 
         <refsect1>
                <title>Configuration Format</title>
 
-               <para>The configuration files should simply contain a
-               list of variable assignments, separated by
-               newlines. Empty lines and lines whose first
-               non-whitespace character is # or ; are ignored.</para>
-
-                <para>Note that both / and . are accepted as
-                separators in sysctl variable names.</para>
-
+               <para>The configuration files contain a list of
+               variable assignments, separated by newlines. Empty
+               lines and lines whose first non-whitespace character
+               is # or ; are ignored.</para>
+
+                <para>Note that both / and . are accepted as label
+                separators within sysctl variable
+                names. <literal>kernel.domainname=foo</literal> and
+                <literal>kernel/domainname=foo</literal> hence are
+                entirely equivalent.</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/sysctl.d</filename> carrying with the
+                same name.</para>
         </refsect1>
 
         <refsect1>