summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man5/systemd.preset.5
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man5/systemd.preset.5')
-rw-r--r--upstream/mageia-cauldron/man5/systemd.preset.5220
1 files changed, 220 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man5/systemd.preset.5 b/upstream/mageia-cauldron/man5/systemd.preset.5
new file mode 100644
index 00000000..945e0d62
--- /dev/null
+++ b/upstream/mageia-cauldron/man5/systemd.preset.5
@@ -0,0 +1,220 @@
+'\" t
+.TH "SYSTEMD\&.PRESET" "5" "" "systemd 255" "systemd.preset"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+systemd.preset \- Service enablement presets
+.SH "SYNOPSIS"
+.PP
+/etc/systemd/system\-preset/*\&.preset
+.PP
+/run/systemd/system\-preset/*\&.preset
+.PP
+/usr/lib/systemd/system\-preset/*\&.preset
+.PP
+/etc/systemd/user\-preset/*\&.preset
+.PP
+/run/systemd/user\-preset/*\&.preset
+.PP
+/usr/lib/systemd/user\-preset/*\&.preset
+.SH "DESCRIPTION"
+.PP
+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
+\fBsystemctl preset\fR
+which uses this information to enable or disable a unit\&. Depending on that policy,
+\fBsystemctl preset\fR
+is identical to
+\fBsystemctl enable\fR
+or
+\fBsystemctl disable\fR\&.
+\fBsystemctl preset\fR
+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\&. For more information, see
+\fBsystemctl\fR(1)\&.
+.PP
+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, see below\&.
+.PP
+If no preset files exist, preset operations 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 "disable *" line\&. (See example 1, below\&.)
+.PP
+When the machine is booted for the first time,
+\fBsystemd\fR(1)
+will enable/disable all units according to preset policy, similarly to
+\fBsystemctl preset\-all\fR\&. Also see "First Boot Semantics" in
+\fBmachine-id\fR(5)\&.
+.SH "PRESET FILE FORMAT"
+.PP
+The preset files contain a list of directives, one per line\&. Empty lines and lines whose first non\-whitespace character is
+"#"
+or
+";"
+are ignored\&. Each directive consists of one of the words
+"enable",
+"disable", or
+"ignore", followed by whitespace and a unit name\&. The unit name may contain shell\-style wildcards\&.
+.PP
+For the enable directive for template units, one or more instance names may be specified as a space\-separated list after the unit name\&. In this case, those instances will be enabled instead of the instance specified via DefaultInstance= in the unit\&.
+.PP
+Presets must refer to the "real" unit file, and not to any aliases\&. See
+\fBsystemd.unit\fR(5)
+for a description of unit aliasing\&.
+.PP
+Three different directives are understood:
+"enable"
+may be used to enable units by default,
+"disable"
+to disable units by default, and
+"ignore"
+to ignore units and leave existing configuration intact\&.
+.PP
+If multiple lines apply to a unit name, the first matching one takes precedence over all others\&.
+.PP
+Each preset file shall be named in the style of
+<priority>\-<policy\-name>\&.preset\&. Files in
+/etc/
+override files with the same name in
+/usr/lib/
+and
+/run/\&. Files in
+/run/
+override files with the same name in
+/usr/lib/\&. Packages should install their preset files in
+/usr/lib/\&. Files in
+/etc/
+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\&.
+.PP
+If the administrator wants to disable a preset file supplied by the vendor, the recommended way is to place a symlink to
+/dev/null
+in
+/etc/systemd/system\-preset/
+bearing the same filename\&.
+.SH "EXAMPLES"
+.PP
+\fBExample\ \&1.\ \&Default to off\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# /usr/lib/systemd/system\-preset/99\-default\&.preset
+
+disable *
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+This disables all units\&. Due to the filename prefix
+"99\-", it will be read last and hence can easily be overridden by spin or administrator preset policy\&.
+.PP
+\fBExample\ \&2.\ \&Enable multiple template instances\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# /usr/lib/systemd/system\-preset/80\-dirsrv\&.preset
+
+enable dirsrv@\&.service foo bar baz
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+This enables all three of
+dirsrv@foo\&.service,
+dirsrv@bar\&.service
+and
+dirsrv@baz\&.service\&.
+.PP
+\fBExample\ \&3.\ \&A GNOME spin\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# /usr/lib/systemd/system\-preset/50\-gnome\&.preset
+
+enable gdm\&.service
+enable colord\&.service
+enable accounts\-daemon\&.service
+enable avahi\-daemon\&.*
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+This enables the three mentioned units, plus all
+avahi\-daemon
+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\&.
+.PP
+\fBExample\ \&4.\ \&Administrator policy\fR
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# /etc/systemd/system\-preset/00\-lennart\&.preset
+
+enable httpd\&.service
+enable sshd\&.service
+enable postfix\&.service
+disable *
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+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
+"00\-"
+it will be read early and override all other preset policy files\&.
+.SH "MOTIVATION FOR THE PRESET LOGIC"
+.PP
+Different distributions have different policies on which services shall be enabled by default when the package they are shipped in is installed\&. On Fedora all services stay off by default, so that installing a package will not cause a service to be enabled (with some exceptions)\&. On Debian all services are immediately enabled by default, so that installing a package will cause its services to be enabled right\-away\&.
+.PP
+Even within a single distribution, different spins (flavours, remixes, whatever you might want to call them) of a distribution also have different policies on what services to enable, and what services to leave off\&. For example, Fedora Workstation will enable
+\fBgdm\fR
+as display manager by default, while the Fedora KDE spin will enable
+\fBsddm\fR
+instead\&.
+.PP
+Different sites might also have different policies what to turn on by default and what to turn off\&. For example, one administrator would prefer to enforce the policy of "\fBsshd\fR
+should be always on, but everything else off", while another one might say "\fBsnmpd\fR
+always on, and for everything else use the distribution policy defaults"\&.
+.PP
+Traditionally, policy about which services shall be enabled were implemented in each package individually\&. This made it cumbersome to implement different policies per spin or per site, or to create software packages that do the right thing on more than one distribution\&. The enablement mechanism was also encoding the enablement policy\&.
+.PP
+The preset mechanism allows clean separation of the enablement mechanism (inside the package scriptlets, by invoking
+\fBsystemctl preset\fR) and enablement policy (centralized in the preset files), and lifts the configuration out of individual packages\&. Preset files may be written for specific distributions, for specific spins or for specific sites, in order to enforce different policies as needed\&. It is recommended to apply the policy encoded in preset files in package installation scriptlets\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemctl\fR(1),
+\fBsystemd-delta\fR(1)
+.PP
+\fBdaemon\fR(7)
+has a discussion of packaging scriptlets\&.
+.PP
+Fedora page introducing the use of presets:
+\m[blue]\fBFeatures/PackagePresets\fR\m[]\&\s-2\u[1]\d\s+2\&.
+.SH "NOTES"
+.IP " 1." 4
+Features/PackagePresets
+.RS 4
+\%https://fedoraproject.org/wiki/Features/PackagePresets
+.RE