Sie können systemd-Voreinstellungen verwenden, um zu beeinflussen, ob ein systemd-Dienst bei der Installation standardmäßig aktiviert oder deaktiviert wird.
Die Debian-Voreinstellungen aktivieren standardmäßig alle Dienste, während sie installiert sind. Sie müssen also nur eine Voreinstellung an die Entwicklungsarbeitsstationen senden (das Standardverhalten entspricht dem, was in der Produktion geschehen soll), indem Sie eine Datei versenden, /etc/systemd/system-preset/80-foo.preset
die beispielsweise eine Zeile enthält, die sagt
disable foo.service
Wenn Sie Ihre Entwicklerarbeitsstationen mit einem System wie Puppet, Chef, Ansible usw. verwalten, können Sie mit ihnen eine solche voreingestellte Systemkonfiguration ausliefern, die es Ihnen erleichtern sollte, die Richtlinie nur auf Entwicklerarbeitsstationen und nicht auf die Produktion anzuwenden Maschinen.
Ihr .deb-Paket sollte den systemctl preset
Befehl verwenden, um den Dienst zu aktivieren, da dieser Befehl die voreingestellte Konfiguration berücksichtigt.
Wie @JdeBP und @sourcejedi hervorheben, rufen die Debian-Makros in Deb-Helfern (wie z. B. dh_systemd_enable
) dies bereits auf. Diese deb-systemd-helper
werden systemctl preset
standardmäßig verwendet (mit einer kleinen Einschränkung, wenn Sie das Paket entfernen (aber nicht löschen), und Wenn Sie es später erneut installieren, wird der Dienst nicht aktiviert, selbst wenn Sie die voreingestellte Datei entfernen.) Siehe diesen Kommentar in deb-systemd-helper
der enable
Operation :
# We use 'systemctl preset' on the initial installation only.
# On upgrade, we manually add the missing symlinks only if the
# service already has some links installed. Using 'systemctl
# preset' allows administrators and downstreams to alter the
# enable policy using systemd-native tools.
Weitere Informationen zur systemd-Funktion von Voreinstellungen finden Sie in der Manpage der systemd-Voreinstellungen und des Befehls, systemctl preset
der sie implementiert.
*.preset
Dateien als Teil dieses Pakets installieren .