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.presetdie 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 presetBefehl 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-helperwerden systemctl presetstandardmäß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-helperder enableOperation :
# 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 presetder sie implementiert.
*.presetDateien als Teil dieses Pakets installieren .