AFAIK the method described only works if sysvinit is still the init system (no longer the default as of Debian 8 - with systemd you can achieve the same by masking the unit file with a link to /dev/null). I could’ve sworn I’ve seen an apt.conf option that disables daemon auto-start but I can’t for the life of me find it now.
I’ve never understood why auto-starting daemons is the default on Debian-based systems and why it’s so difficult to work around that behaviour…
I’ve never understood why auto-starting daemons is the default on Debian-based systems…
It could just be because I’ve used Debian for so long, but it’s what I’d personally expect to happen. If I install the package openssh-server, I expect an OpenSSH server to be installed, configured with sane defaults, and running. The expectation is that you should only have to edit config files if you want different-than-default behavior, not as a required step to get a package working.
Yes, that’s a fair comment (and Debian packages do, for the most part, come with sane defaults). In a lot of cases it doesn’t make sense to auto-start a daemon until it’s been configured though (eg, a configuration management system installed package with a custom configuration file) - why is there no easy knob to disable autostart on installation? And I say that as someone who’s used Debian almost exclusively since (I think) 1.3 - it still annoys me!
I completely agree that starting daemons automatically is annoying and potentially a security issue. Many times I have installed something to find that some dependency includes an auto-starting daemon.