blob: 4f30276ad4e9aba8901f96fdc076abc1d6f84d4b [file] [log] [blame] [raw]
<?xml version="1.0"?>
<!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of systemd.
Copyright 2011 Lennart Poettering
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="sysctl.d">
<refentryinfo>
<title>sysctl.d</title>
<productname>systemd</productname>
<authorgroup>
<author>
<contrib>Developer</contrib>
<firstname>Lennart</firstname>
<surname>Poettering</surname>
<email>lennart@poettering.net</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>sysctl.d</refentrytitle>
<manvolnum>5</manvolnum>
</refmeta>
<refnamediv>
<refname>sysctl.d</refname>
<refpurpose>Configure kernel parameters at boot</refpurpose>
</refnamediv>
<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 configuration
files from the above directories to configure
<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
kernel parameters during boot.</para>
</refsect1>
<refsect1>
<title>Configuration Format</title>
<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>
<title>Example</title>
<example>
<title>/etc/sysctl.d/domain-name.conf example:</title>
<programlisting># Set kernel YP domain name
kernel.domainname=example.com</programlisting>
</example>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sysctl.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>