Você pode usar as predefinições do systemd para afetar se um serviço do systemd será ativado ou desativado no momento da instalação.
As predefinições Debian usam como padrão habilitar todos os serviços à medida que são instaladas; portanto, você só precisa enviar uma predefinição para as estações de trabalho de desenvolvimento (o comportamento padrão corresponde ao que você deseja que ocorra na produção), enviando um arquivo como /etc/systemd/system-preset/80-foo.presetuma linha que contenha diz
disable foo.service
Se você gerenciar suas estações de trabalho de desenvolvedor usando um sistema como Puppet, Chef, Ansible etc., poderá usá-las para enviar essa configuração predefinida do sistema, o que facilitará a aplicação da política somente às estações de trabalho de desenvolvedor e não à produção. máquinas
Seu pacote .deb deve usar o systemctl presetcomando para habilitar o serviço, pois esse comando respeitará a configuração predefinida.
Como o @JdeBP e o @sourcejedi apontam, as macros Debian nos deb-helpers (como dh_systemd_enable) já fazem isso, invocam o deb-systemd-helperque usará systemctl presetpor padrão (com uma pequena ressalva que se você remover (mas não limpar) o pacote, e mais tarde re-instalá-lo, então ele não vai permitir que o serviço, mesmo se você remover o arquivo de predefinição) Veja. este comentário em deb-systemd-helper's enableoperação :
# 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.
Para obter mais informações sobre o recurso systemd de presets, consulte a página de manual do systemd presets e do comando systemctl presetque o implementa.
*.presetarquivos como parte desse pacote.