Package: sysv-rc-conf Version: 0.99-1 Severity: normal
First some background Early in our recent private conversation about BUM, the Saltydog wrote: > I think that, in any case, a Kxx symlink will always mean *not* to > run a service (or stop a service from running), while introducing > new symbols (such as a .Sxx symlink) could be confusing in the > future. Don't you agree? I wrote (what I now want to retract):
No, and here is why. In rc0.d/ and rc6.d/, not only K but also S
> symlinks are run with the "stop" argument. I can imagine that, > paralleling this, someone might get it into his head to think > that K symlinks in rcS.d/ should be run with the "start" argument. I always thought that that was a weak argument. And now The Saltydog and I have thought of a much stronger argument on the other side. Suppose there is a Startup-and-shutdown script symlinked into S, 0 and 6. The administrator disables it. In order to disable it in 0 and 6 the symlink has to be deleted. If the symlink is deleted in S too then the script is not symlinked into any runlevel, and the next time the script's package is upgraded the update-rc.d call in its postinst will install the default symlinks. In order to prevent this it is expedient to keep a K symlink in rcS.d/ for the disabled startup-and-shutdown script. This means that if someone "gets it into his head" to think that K symlinks in rcS.d/ should be run with the "start" argument, we should convince that person otherwise. Joe Oppegaard: Assuming that the correct way to disable startup- and-shutdown scripts, as distinct from service scripts, is to (1) remove symlinks from 0 and 6 entirely, and (2) to rename symlink in S from S to K: there a bug in sysv-rc-conf. The following show the situation before and after I disabled the startup-and-shutdown script foo in the runlevels [S06]. [EMAIL PROTECTED]:/etc# ll rc?.d/*foo lrwxrwxrwx 1 root root 13 Jul 16 08:12 rc0.d/K70foo -> ../init.d/foo* lrwxrwxrwx 1 root root 13 Jul 16 08:12 rc6.d/K70foo -> ../init.d/foo* lrwxrwxrwx 1 root root 13 Jul 16 08:12 rcS.d/S40foo -> ../init.d/foo* [EMAIL PROTECTED]:/etc# ll rc?.d/*foo lrwxrwxrwx 1 root root 13 Jul 16 08:12 rc0.d/K30foo -> ../init.d/foo* lrwxrwxrwx 1 root root 13 Jul 16 08:12 rc6.d/K30foo -> ../init.d/foo* lrwxrwxrwx 1 root root 13 Jul 16 08:12 rcS.d/K30foo -> ../init.d/foo* The end result should have been no symlinks in [06] and a K symlink in S. After re-enabling foo, this is the result. [EMAIL PROTECTED]:/etc# ll rc?.d/*foo lrwxrwxrwx 1 root root 13 Jul 16 08:17 rc0.d/S70foo -> ../init.d/foo* lrwxrwxrwx 1 root root 13 Jul 16 08:17 rc6.d/S70foo -> ../init.d/foo* lrwxrwxrwx 1 root root 13 Jul 16 08:17 rcS.d/S40foo -> ../init.d/foo* The symlinks which were originally K in [06] are now S. -- Thomas -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]