On Tue, 2020-03-10 at 16:23 +0100, Marco d'Itri wrote: > On Mar 10, jnq...@gmail.com wrote: > > > If the policy-rc.d solution is the modern/best/whatever solution, > > the > No. policy-rc.d is the old solution which was implemented because > there > was no better way to implement this with init scripts. > It worked by mandating that maintainer scripts must start and stop > daemons only by using invoke-rc.d. > > The modern and simple solution is "systemctl mask", as long as you > do > not need to care about the 0.6% of systems which do not use systemd. > If you are doing this for your own systems then you obviously know > if > you can rely on systemd or not. > > > fact that live-build/debootstrap also includes the 'moving start- > > stop- > > daemon' trick is either indeed a left over from before systemd (I > > do > > not know the history of it), or is left to ensure compatibility > > without > > systemd? > It is needed because some buggy maintainer scripts do/did not use > invoke-rc.d, so better be safe than sorry.
okay, thankyou. so as I understand it: - the 'move start-stop-daemon' trick is the old-old solution, kept around because some packages failed to get on board with the policy- rc.d solution, and could be removed from things like debootstrap/live- build if and only if at some point in the future there was certainty that there were no such packages left. - the policy-rc.d solition is the old solution, kept around because systemd use is not quite 100%, though I'd expect and home that all packages are compatible by now, though systemd has a compatibility mechanism relating to policy-rc.d to work with users of that. - 'systemctl mask' is the modern systemd solution. the best solution for users if they have systemd. probably pointless though for debootstrap/live-build use if they're having to keep policy-rc.d support and even start-stop-daemon support around anyway after all these years.