Some packages with RC scripts start twice at bootup
Some packages like snort startup on package sync, and they create and RC script.
This means that when packages are sync'd at boot, they are started, and then the RC script is called which starts them again.
In the case of snort, this makes it either fail or start twice, depending on timing. If blocking is enabled with snort, snort2c never seems to start properly in this scenario.
I'm trying to come up with a feasible way to detect this scenario and work around it. Ideas are welcome.
Updated by Jim Pingle over 12 years ago
I was able to at least get snort to behave better by changing its startup routine slightly:
However, larger issue will take some more thought.
My current line of thinking is to move the deletion of /var/run/booting from rc.bootup to the end of rc, as that is really when the boot process is complete.
As a consequence, the package sync routines would then be able to check for that file and refrain from starting the service if needed. On a test VM, this worked out pretty well. I'll make up some patches and attach them later.