Debian packages usually start services right after installing them. This is a well-known phenomenon, given tens of webpages explaining how to disable this behavior. As far as I remember, this has been in place before systemd
has been adopted.
My question is, is it an official policy? Has this rule been written down anywhere? I've tried looking for it in the Debian Policy, but couldn't find relevant notes.
Best Answer
This is addressed in the “Managing the links” section of Policy, which described how links to services should be handled:
Here I’m reading “autostarting” in a wide sense; technically since this section of Policy only deals with “links”, i.e., configuring services to start at boot, it could be read as only requiring this, but that would lead to inconsistent system states (i.e. a service installed but not started until the next boot). The recommendations in this section and the next one:
result in services which, by default, are enabled and started immediately.
Other sections of Policy assume this, or at least result from a requirement to support this; thus in the section on configuration files:
If necessary though, Policy allows the opposite behaviour:
The defaults can also be configured locally; for example
debootstrap
-style chroots are often set up to skip running services.This section of Policy needs to be updated for systemd, but the general principle still applies.