:: Re: [DNG] How can I change the init…
Top Page
Delete this message
Reply to this message
Author: Andrew Bower
Date:  
To: Steve Litt
CC: dng
Subject: Re: [DNG] How can I change the init services to be started?
On Thu, Jul 17, 2025 at 01:02:44AM -0400, Steve Litt wrote:
> Rainer Weikusat via Dng said on Wed, 16 Jul 2025 12:05:15 +0100
> >Steve Litt <slitt@???> writes:
> >> Rainer Weikusat via Dng said on Tue, 08 Jul 2025 16:30:16 +0100
> >>
> >>>init.d scripts are config file and as such, supposed to be under user
> >>>control. This includes that a user may remove them.
> >>
> >> Or put exit 0 at the very top.
> >
> >I used to do that in the past but some woman working for the Mainz
> >university computing center convince me of the other method. Her
> >arguments where:
> >
> >    - this render starting the serice manually via init.d script
> >          impossible

> >
> >    - such changes are easily forgotten and possibly, cause a lot
> >    of
> >          headscratching because of this while the renamed script is
> >          visible in the filesystem without having to look at its
> >          content


All problems which are solved by using update-rc.d as Debian intends,
even though the end user does "own" the conffiles.

And update-rc.d manipulates the rc.d links in an LSB standard way which
means that even if it is _the_ official interface, if you use other
tools like insserv or sysv-rc-conf they also understand what you did and
what you intended to do and will work with it not against it!

> She definitely has a point, and her point reminds me why I'm so glad to
> have migrated away from sysvinit. In runit you just put a file called
> "down" (without the quotes) in your run directory. You can start it
> manually with runsv, and the down file makes what happened obvious.


That is indeed true, and I also love the simplicity of being on runit!

The 'down' method is meant to be temporary, though, with the
update-service command used to register your permanent decision to avoid
needlessly running another runsv process and this interacts with the
runit-helper to ensure this works alongside the package-installed
defaults.

update-service for runit therefore mirrors update-rc.d for sysvinit.

> I'd like to point out, at this juncture, that it's pretty easy to
> slowly start switching from sysvinit daemon management to runit deamon
> supervision, one daemon at a time. Runit's run scripts change so slowly
> that you can just hard code them and leave them.


And they are so simple! But they are more likely to drift when things
change in the underlying package as there are only about 20 packages
which ship with service directories at the moment in comparison with the
1051 that ship with initscripts. runit-services is great but suffers
from this disconnect. A recent example is the /etc/default/exim4
environment variable meanings changing in a way that broke the runit
service silently for a while.

Excalibur should be great for runit - a load of new service directories
have gone in for this release!

Andrew