Você pode usar predefinições do sistema para afetar se um serviço do systemd será padronizado ativado ou desativado no momento da instalação.
O padrão de predefinições do Debian é ativar todos os serviços quando eles são instalados, portanto, você só precisa enviar uma predefinição para as estações de trabalho de desenvolvimento (o comportamento padrão corresponde ao que você quer que aconteça na produção), enviando um arquivo como /etc/systemd/system-preset/80-foo.preset contendo uma linha que diz
disable foo.service
Se você gerenciar suas estações de trabalho de desenvolvedor usando um sistema como Puppet, Chef, Ansible, etc., você poderá usá-las para enviar uma configuração predefinida do systemd, que facilitará a aplicação da política somente a estações de trabalho do desenvolvedor e não máquinas de produção.
Seu pacote .deb deve usar o comando systemctl preset para ativar o serviço, já que esse comando respeitará a configuração predefinida.
Como @JdeBP e @ sourcejedi apontam, as macros do Debian em deb-helpers (como dh_systemd_enable ) já fazem isso, elas invocam deb-systemd-helper que usará systemctl preset por padrão (com uma pequena advertência que se você remover (mas não purgar) o pacote e depois reinstalá-lo, ele não ativará o serviço, mesmo se você remover o arquivo predefinido.) Consulte este comentário em deb-systemd-helper ' 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.
Para obter mais informações sobre o recurso systemd de predefinições, consulte a página do manual de predefinições do systemd e do comando systemctl preset que implementa.