Short:
There is no reliable way to do this quickly.
Long:
Current Debian (Debian unstable as of 2012-06-01) has currently no reliable short way to consistently disable a service/daemon. – Because an upgrade of a daemon package unconditionally runs “/etc/init.d/package restart”, having it disabled for this runlevel or not.
To make sure a daemon doesn’t start, you could:
- uninstall it
- make a local divert of the /etc/init.d/xyz script (this way, no tools will find it)
- use/abuse a config file of the corresponding package to provoke an early exit of that script (e.g. put an “exit” early in /etc/default/xyz in case it is sourced from the init script)
- look in that init-script for predefined “official” ways to not start that daemon
There is/was(?) some init-policy-something step for init scripts in Debian, which was supposed to fill this missing functionality. – I tried to use it, found it complicated, found a bug, and never touched it again.
Update:
Switch to “systemd”, an alternative to “initd”. A debian package exists, and you can disable a service with something like this:
cd /etc/systemd/system
ln -s /dev/null xyz.service