On Fri, Jun 03, 2005 at 12:05:06PM +0300, Cesar Martinez Izquierdo wrote: > El Viernes 03 Junio 2005 11:23, Steve Langasek escribió: > > On Fri, Jun 03, 2005 at 07:26:28AM +0200, Christian Perrier wrote: > > > Quoting Cesar Martinez Izquierdo ([EMAIL PROTECTED]): > > > > Package: samba > > > > Version: 3.0.14a-4 > > > > Severity: important > > > > Tags: patch
> > > > The samba's logrotate file /etc/logrotate.d/samba > > > > containsa a line like: > > > > postrotate > > > > invoke-rc.d --quiet samba reload > /dev/null > > > > This starts samba even if previously stopped/disabled (for instance, by > > > > removing rc2.d link). I would suggest to test for the smbd.pid > > > > pidfile, as follows: > > > >From invoke-rc.d man page: > > > invoke-rc.d itself will only pay attention to the current > > > runlevel, and block any tries to start an init script in a > > > runlevel it is not configured to be started at. Other poli‐ > > > cies are implemented with the use of the policy-rc.d helper, > > > and are only available if /usr/sbin/policy-rc.d is installed > > > in the system. > > > So, theoretically, as long as a given script is setup to NOT start in > > > a given runlevel, invoke-rc.d will NOT start it. > > > However, I don't really know how this works exactly as the invoke-rc.d > > > man page is a bit obscure to me. > > > Steve, Eloy, do you have more clues than me on that issue? > > I'm not sure how this is a bug at all. "invoke-rc.d samba reload" will > > call /etc/init.d/samba reload: > > reload) > > echo -n "Reloading /etc/samba/smb.conf (smbd only)" > > start-stop-daemon --stop --signal HUP --pidfile $SMBDPID > > > > echo "." > > ;; > > Running this on a system that doesn't have an active smbd gives me: > > $ /usr/sbin/invoke-rc.d samba reload > > Reloading /etc/samba/smb.conf (smbd only)No process in pidfile > > /var/run/samba/smbd.pid' found running; none killed. > > . > > $ > > So I really don't think the proposed change is necessary. > I was also looking more closely at the files and I just realize that it is > not > so similar to #310535 as I though. Sorry about the misleading information. > Now I realize that you made a samba upload yesterday, and I updated my system > yesterday. > I just installed the version in sarge again, and smbd and nmbd were started > again (they should not). Then I stoped samba, I upgraded again to sid, and > smbd and nmbd were started again. So it's not a problem with logrotate, but > with the upgrades. > However, I've check samba.postinst and I don't see anything wrong on it > (assuming that invoke-rc.d works properly): > if [ -x "/etc/init.d/samba" ]; then > update-rc.d samba defaults 20 19 >/dev/null > if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then > invoke-rc.d samba start || exit 0 > else > /etc/init.d/samba start || exit 0 > fi > fi > So maybe there is some bug in invoke-rc.d... but I was also having a look to > invoke-rc.d and I didn't find anything wrong on it (it is a quite complex > script, though). If you've done what Christian describes in his mail and disabled samba by *removing* the start symlink for the runlevel, instead of *replacing* it with a kill symlink, then the policy for that runlevel is undefined and invoke-rc.d has no way to know that the daemon should not be started. If you want the package to not start the daemon in your runlevel, you need to have a K??samba symlink in the runlevel config. -- Steve Langasek postmodern programmer
signature.asc
Description: Digital signature