Arch manual pages

SYSTEMD.PRESET(5) systemd.preset SYSTEMD.PRESET(5)

systemd.preset - Voreinstellungen für Diensteaktivierung

/etc/systemd/system-preset/*.preset

/run/systemd/system-preset/*.preset

/usr/lib/systemd/system-preset/*.preset

/etc/systemd/user-preset/*.preset

/run/systemd/user-preset/*.preset

/usr/lib/systemd/user-preset/*.preset

Voreinstellungsdateien können dazu benutzt werden, Richtlinien, welche Units standardmäßig aktiviert und welche standardmäßig deaktiviert werden sollen, zu kodieren. Sie werden von systemctl preset gelesen (für weitere Informationen siehe systemctl(1)), das diese Informationen verwendet, um eine Unit gemäß der Voreinstellungsrichtlinie zu aktivieren oder zu deaktivieren. systemctl preset wird von den »post install«-Skript-Stücken von RPM-Paketen (oder anderen Betriebssystem-Paketformaten) verwandt, um eine Unit bei der Paketinstallation standardmäßig zu aktivieren oder zu deaktivieren und damit die Voreinstellungsrichtlinie der Distribution, der Variante oder des Administrators durchzusetzen. Dies erlaubt es, die Aktivierung/Deaktivierung einer bestimmten Gruppe von Units sogar vor deren Installation auszuwählen.

Für weitere Informationen über die Voreinstellungslogik schauen Sie bitte in das Dokument Voreinstellungen[1].

Es wird nicht empfohlen, die Voreinstellungsdateien mit dem betreffenden Softwarepaket, das die Unit implementiert, auszuliefern. Stattdessen sollte sie in einer Richtlinie der Distribution oder der Variante zentralisiert werden, die dann von der Administratorrichtlinie ergänzt werden kann.

Falls keine Voreinstellungsdateien existieren, wird systemctl preset alle Units aktivieren, die standardmäßig installiert sind. Falls dies nicht gewünscht ist und stattdessen alle Units deaktiviert sein sollen, ist es notwendig, dass eine Voreinstellungsdatei mit einer einzelnen, alles auffangenden Zeile »disable *« ausgeliefert wird. (Siehe Beispiel 1 unten.)

Die Voreinstellungsdatei enthält eine Liste von Anweisungen, die entweder aus dem Wort »enable« oder »disable« gefolgt von einem Leerzeichen und einem Unit-Namen (möglicherweise mit Shell-artigen Platzhaltern), die durch Zeilenumbrüche getrennt sind, bestehen. Leere Zeilen und Zeilen, deren erstes von Leerraumzeichen verschiedenes Zeichen ein »#« oder »;« ist, werden ignoriert. Es können für Unit-Vorlagen mehrfache Instanznamen durch eine Leerzeichen-getrennte Liste gemacht werden, die am Ende der Zeile an der gewohnten Stelle zwischen dem »@« und der Endung der Unit platziert werden.

Voreinstellungen müssen sich auf die »echte« Unit-Datei und nicht auf einen Alias beziehen. Siehe systemd.unit(5) für eine Beschreibung von Aliasen bei Units.

Es werden zwei verschiedene Anweisungen verstanden: »enable« kann benutzt werden, um Units standardmäßig zu aktivieren, »disable«, um Units standardmäßig zu deaktivieren.

Falls auf einen Unit-Namen mehrere Zeilen passen, erhält die erste passende Zeile Vorrang über alle anderen.

Jede Voreinstellungsdatei muss einen Namen der Art <Priorität>-<Richtlinienname>.preset haben. Dateien in /etc/ setzen Dateien mit dem gleichen Namen in /usr/lib/ und /run/ außer Kraft. Dateien in /run/ setzen Dateien mit dem gleichen Namen in /usr/lib/ außer Kraft. Pakete sollten ihre Voreinstellungsdateien in /usr/lib/ installieren. Dateien in /etc/ sind für den lokalen Administrator reserviert, der diese Logik dazu verwenden kann, Voreinstellungsdateien des Lieferanten außer Kraft zu setzen. Alle Voreinstellungsdateien werden nach ihrem Dateinamen in lexikographischer Reihenfolge sortiert, unabhängig davon, in welchem Verzeichnis sie sich befinden. Falls mehrere Dateien den gleichen Unit-Namen festlegen, wird der Eintrag in der Datei mit dem lexikographisch niedrigsten Namen angewandt. Es wird empfohlen, allen Dateinamen eine zweistellige Zahl und einen Bindestrich voranzustellen, um die Ordnung der Dateien zu vereinfachen.

Falls der Administrator eine vom Lieferanten bereitgestellte Voreinstellungsdatei deaktivieren möchte, wird empfohlen, einen Symlink in /etc/systemd/system-preset/ auf /dev/null zu setzen, der den gleichen Dateinamen trägt.

Beispiel 1. Standardmäßig aus
# /usr/lib/systemd/system-preset/99-default.preset
disable *

Dies deaktiviert alle Units. Aufgrund des vorangestellten »99-« des Dateinamens wird dies zuletzt eingelesen und kann daher leicht durch eine Varianten- oder Administratorenvoreinstellungsrichtlinie außer Kraft gesetzt werden.

Beispiel 2. Aktiviert mehrfache Vorlageninstanzen

# /usr/lib/systemd/system-preset/80-dirsrv.preset
enable dirsrv@.service foo bar baz

Dies aktiviert alle drei Dienste: dirsrv@foo.service, dirsrv@bar.service und dirsrv@baz.service.

Beispiel 3. A GNOME-Variante

# /usr/lib/systemd/system-preset/50-gnome.preset
enable gdm.service
enable colord.service
enable accounts-daemon.service
enable avahi-daemon.*

Dies aktiviert die drei erwähnten Units plus alle Avahi-Daemon, unabhängig vom Unit-Typ. Eine Datei dieser Art könnte für die Aufnahme in eine GNOME-Variante einer Distribution nützlich sein. Sie stellt sicher, dass die für GNOME notwendigen Units korrekt bei der Installation aktiviert werden. Es lässt alle anderen Units unberührt, diese können (später) durch andere Voreinstellungsdateien beeinflusst werden, beispielsweise von der aus dem ersten Beispiel.

Beispiel 4. Administrator-Richtlinie

# /etc/systemd/system-preset/00-lennart.preset
enable httpd.service
enable sshd.service
enable postfix.service
disable *

Dies aktiviert drei spezielle Dienste und deaktivert alle anderen. Dies ist für Administratoren nützlich, die genau die zu aktivierenden Units auswählen und alle anderen deaktiveren. Aufgrund der dem Dateinamen vorangestellten »00-« wird sie früh gelesen und alle anderen Voreinstellungsrichtliniendateien außer Kraft setzen.

systemd(1), systemctl(1), systemd-delta(1)

1.
Voreinstellungen

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.

systemd 246