mirror of
https://git.proxmox.com/git/systemd
synced 2025-06-05 05:39:28 +00:00
94 lines
8.3 KiB
HTML
94 lines
8.3 KiB
HTML
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>systemd.preset</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
|
||
a.headerlink {
|
||
color: #c60f0f;
|
||
font-size: 0.8em;
|
||
padding: 0 4px 0 4px;
|
||
text-decoration: none;
|
||
visibility: hidden;
|
||
}
|
||
|
||
a.headerlink:hover {
|
||
background-color: #c60f0f;
|
||
color: white;
|
||
}
|
||
|
||
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
|
||
visibility: visible;
|
||
}
|
||
</style><a href="index.html">Index </a>·
|
||
<a href="systemd.directives.html">Directives </a>·
|
||
<a href="../python-systemd/index.html">Python </a>·
|
||
<a href="../libudev/index.html">libudev </a>·
|
||
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 219</span><hr><div class="refentry"><a name="systemd.preset"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>systemd.preset — Service enablement presets</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/systemd/system-preset/*.preset</code></p><p><code class="filename">/run/systemd/system-preset/*.preset</code></p><p><code class="filename">/usr/lib/systemd/system-preset/*.preset</code></p><p><code class="filename">/etc/systemd/user-preset/*.preset</code></p><p><code class="filename">/run/systemd/user-preset/*.preset</code></p><p><code class="filename">/usr/lib/systemd/user-preset/*.preset</code></p></div><div class="refsect1"><a name="idm140239730136768"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>Preset files may be used to encode policy which units shall
|
||
be enabled by default and which ones shall be disabled. They are
|
||
read by <span class="command"><strong>systemctl preset</strong></span> (for more information
|
||
see
|
||
<a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>)
|
||
which uses this information to enable or disable a unit according
|
||
to preset policy. <span class="command"><strong>systemctl preset</strong></span> is used by
|
||
the post install scriptlets of RPM packages (or other OS package
|
||
formats), to enable/disable specific units by default on package
|
||
installation, enforcing distribution, spin or administrator preset
|
||
policy. This allows choosing a certain set of units to be
|
||
enabled/disabled even before installing the actual package.</p><p>For more information on the preset logic please have a look
|
||
at the <a class="ulink" href="http://freedesktop.org/wiki/Software/systemd/Preset" target="_top">Presets</a>
|
||
document.</p><p>It is not recommended to ship preset files within the
|
||
respective software packages implementing the units, but rather
|
||
centralize them in a distribution or spin default policy, which
|
||
can be amended by administrator policy.</p><p>If no preset files exist, <span class="command"><strong>systemctl
|
||
preset</strong></span> will enable all units that are installed by
|
||
default. If this is not desired and all units shall rather be
|
||
disabled, it is necessary to ship a preset file with a single,
|
||
catchall "<code class="filename">disable *</code>" line. (See example 1,
|
||
below.)</p></div><div class="refsect1"><a name="idm140239730128896"></a><h2 id="Preset File Format">Preset File Format<a class="headerlink" title="Permalink to this headline" href="#Preset%20File%20Format">¶</a></h2><p>The preset files contain a list of directives consisting of
|
||
either the word "<code class="literal">enable</code>" or
|
||
"<code class="literal">disable</code>" followed by a space and a unit name
|
||
(possibly with shell style wildcards), separated by newlines.
|
||
Empty lines and lines whose first non-whitespace character is # or
|
||
; are ignored.</p><p>Two different directives are understood:
|
||
"<code class="literal">enable</code>" may be used to enable units by default,
|
||
"<code class="literal">disable</code>" to disable units by default.</p><p>If multiple lines apply to a unit name, the first matching
|
||
one takes precedence over all others.</p><p>Each preset file shall be named in the style of
|
||
<code class="filename"><priority>-<program>.conf</code>. Files
|
||
in <code class="filename">/etc/</code> override files with the same name in
|
||
<code class="filename">/usr/lib/</code> and <code class="filename">/run/</code>.
|
||
Files in <code class="filename">/run/</code> override files with the same
|
||
name in <code class="filename">/usr/lib/</code>. Packages should install
|
||
their preset files in <code class="filename">/usr/lib/</code>. Files in
|
||
<code class="filename">/etc/</code> are reserved for the local
|
||
administrator, who may use this logic to override the preset files
|
||
installed by vendor packages. All preset files are sorted by their
|
||
filename in lexicographic order, regardless of which of the
|
||
directories they reside in. If multiple files specify the same
|
||
unit name, the entry in the file with the lexicographically
|
||
earliest name will be applied. It is recommended to prefix all
|
||
filenames with a two-digit number and a dash, to simplify the
|
||
ordering of the files.</p><p>If the administrator wants to disable a preset file supplied
|
||
by the vendor, the recommended way is to place a symlink to
|
||
<code class="filename">/dev/null</code> in
|
||
<code class="filename">/etc/systemd/system-preset/</code> bearing the same
|
||
filename.</p></div><div class="refsect1"><a name="idm140239734014272"></a><h2 id="Example">Example<a class="headerlink" title="Permalink to this headline" href="#Example">¶</a></h2><div class="example"><a name="idm140239734013600"></a><p class="title"><b>Example 1. Default off example <code class="filename">/usr/lib/systemd/system-preset/99-default.preset</code>:</b></p><div class="example-contents"><pre class="programlisting">disable *</pre></div></div><br class="example-break"><p>This disables all units. Due to the filename prefix
|
||
"<code class="literal">99-</code>", it will be read last and hence can easily
|
||
be overridden by spin or administrator preset policy or
|
||
suchlike.</p><div class="example"><a name="idm140239734010192"></a><p class="title"><b>Example 2. A GNOME spin example <code class="filename">/usr/lib/systemd/system-preset/50-gnome.preset</code>:</b></p><div class="example-contents"><pre class="programlisting">enable gdm.service
|
||
enable colord.service
|
||
enable accounts-daemon.service
|
||
enable avahi-daemon.*</pre></div></div><br class="example-break"><p>This enables the three mentioned units, plus all
|
||
<code class="filename">avahi-daemon</code> regardless of which unit type. A
|
||
file like this could be useful for inclusion in a GNOME spin of a
|
||
distribution. It will ensure that the units necessary for GNOME
|
||
are properly enabled as they are installed. It leaves all other
|
||
units untouched, and subject to other (later) preset files, for
|
||
example like the one from the first example above.</p><div class="example"><a name="idm140239733999184"></a><p class="title"><b>Example 3. Administrator policy <code class="filename">/etc/systemd/system-preset/00-lennart.preset</code>:</b></p><div class="example-contents"><pre class="programlisting">enable httpd.service
|
||
enable sshd.service
|
||
enable postfix.service
|
||
disable *</pre></div></div><br class="example-break"><p>This enables three specific services and disables all
|
||
others. This is useful for administrators to specifically select
|
||
the units to enable, and disable all others. Due to the filename
|
||
prefix "<code class="literal">00-</code>" it will be read early and hence
|
||
overrides all other preset policy files.</p></div><div class="refsect1"><a name="idm140239733995680"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also">¶</a></h2><p>
|
||
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
|
||
<a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>,
|
||
<a href="systemd-delta.html"><span class="citerefentry"><span class="refentrytitle">systemd-delta</span>(1)</span></a>
|
||
</p></div></div></body></html>
|