1

I have a Debian Wheezy system on which I want Tomcat to start after MySQL.

In the default runlevel 2, they are named as follows in /etc/rc2.d:

S16tomcat7
S18mysql

I can get the desired effect, at least temporarily, by manually renaming the tomcat7 link:

S18mysql
S20tomcat7

However I want to be able to do this with the update-rc.d command. I believe this will be the best way to make it work for all runlevels, and after package upgrades. I've tried the following:

update-rc.d tomcat7 defaults 20

also

update-rc.d tomcat7 defaults 20 1

as these didn't work, I tried:

update-rc.d tomcat7 remove    
update-rc.d tomcat7 defaults 20

The remove command successfully removed tomcat7, but the above command resulted in it stubbornly returning to S16tomcat7!

Am I doing something wrong?

1 Answer 1

3

update-rc.d(8) enables or disables services, while the ordering of services is handled by insserv(8), and can be customized by editing the LSB header of the Tomcat service and setting/adding:


Required-Start: mysql

Further reference can be found here.

2
  • Works a treat, thanks. My only concern with editing /etc/init.d/tomcat7 is whether or not a future apt-get upgrade will overwrite it? For anyone else with this problem, note that I needed to update-rc.d remove/add as above, and the relevant line looks like this: Required-Start: $local_fs $remote_fs $network mysql
    – fazy
    Apr 9, 2013 at 8:07
  • 1
    As per Debian policy, no update should ever edit/remove/replace a user modified configuration file, you should be offered the choice to review the differences, apply the upstream changes or keep yours untouched.
    – dawud
    Apr 9, 2013 at 8:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .