[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: insserv + apache2 + bind9 = pain



On Tue, 28 Dec 2010 00:10:23 -0800, Mike Bird wrote:

> On Mon December 27 2010 23:55:00 Arthur Machlas wrote:
>> On Mon, Dec 27, 2010 at 4:45 PM, Mike Bird wrote:
>> > If the Apache configuration needs DNS to start, Apache silently and
>> > without logging anything fails to start in Squeeze.  This used to
>> > work correctly under the old startup mechanism in Lenny.

Dependency of apache2 to bind9 is virtual, I mean, is not required "per 
se" (you don't need to run a dns server to launch a web server) so if 
under some scenarios this is a requirement, you should ensure your dns 
server (bind9) is up and running before apache.

OTOH, any service that is not started at booting should log the error 
somewhere (maybe "/var/log/boot" or "/var/log/syslog"?) :-?

>> Create a new group in /etc/insserv.conf, and name the scripts that are
>> required to start. Then list that group as a required start.
> 
> Thanks Arthur.
> 
> It's still the case then that one has to either edit /etc/init.d/apache2
> (which impedes future upgrades) or else create a ten line
> /etc/insserv/overrides/apache2 and then manually keep it in step with
> future changes to /etc/init.d/apache2?
> 
> This seems a lot more work and a lot more error prone than the old
> sysv-rc system.  We've already found some servers with apache2-bind9
> dependencies, and others with apache2-mysql dependencies.

AFAIK (this was discussed in previous threads) manually edititing "/etc/
init.d/*" scripts headers is a valid option, and in the event you upgrade 
the package, any change you have done on the file has to be preserved, so 
editing your "/etc/init.d/apache2" and put there:

# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named

Or

# Required-Start:    $local_fs $remote_fs $network $syslog $mysql
# Required-Stop:     $local_fs $remote_fs $network $syslog $mysql

Should be just fine (if I understood it correctly), just remember that 
"named" and "mysql" boot script dependencies have also to be met.

> Is it possible to go back to the old system?  All this upgrade downtime
> is not worth the half second saved on a server reboot which may only
> occur once a year.

If you mean "how to disable dependency booting" yes, you can disable it 
to get the old behaviour, but you will still have to ensure bind9 is 
started before apache2:

http://www.debian.org/releases/squeeze/i386/release-notes/ch-whats-new.en.html#dependency-boot

Greetings,

-- 
Camaleón


Reply to: