Вы можете использовать предварительные настройки systemd, чтобы указать, будет ли служба systemd по умолчанию включена или отключена во время установки.
По умолчанию предустановки Debian включают все службы по мере их установки, поэтому вам нужно только отправить предустановку на рабочие станции разработки (поведение по умолчанию соответствует тому, что вы хотите получить в рабочей среде), отправив файл, например, /etc/systemd/system-preset/80-foo.presetсодержащий строку, которая говорит
disable foo.service
Если вы управляете своими рабочими станциями разработчика с помощью таких систем, как Puppet, Chef, Ansible и т. Д., Вы можете использовать их для доставки такой предустановленной конфигурации systemd, которая облегчит вам применение политики только к рабочим станциям разработчика, а не к рабочей среде. машины.
Ваш пакет .deb должен использовать systemctl presetкоманду для включения службы, так как эта команда будет учитывать предварительно заданную конфигурацию.
Как указывают @JdeBP и @sourcejedi , макросы Debian в deb-помощниках (таких как dh_systemd_enable) уже делают это, они вызывают, deb-systemd-helperкоторый будет использовать systemctl presetпо умолчанию (с небольшим предупреждением, что если вы удалите (но не очистите) пакет, и затем снова установить его, он будет не включить службу, даже если вы удалите файл предустановленный) См. этот комментарий в deb-systemd-helper«s enableоперации :
# 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.
Для получения дополнительной информации о функции пресетов systemd см. Справочную страницу пресетов systemd и команды, systemctl presetкоторая ее реализует.
*.presetфайлы как часть этого пакета.