Service startup softlinks lost after upgrade to 1.560; "Bootup & Shutdown" module fails to re-add them

We've collected data concerning this issue in the following forum topic.

http://www.virtualmin.com/node/19092

Status: 
Closed (fixed)

Comments

That sounds like a bug .. two questions :

1) If you select "Yes" and then reboot, does Webmin actually get started at boot?

2) What does the command ls /etc/init*/*webmin* /etc/rc*/*webmin* output on your system ?

1) Just tested it - I had to reboot the machine anyway due to kernel update. And nope, as expected (since no softlink gets created) it doesn't. :)

2) Well, as I said already: No rc*.d links get created, hence:

root@carina ~ # ls /etc/init\*/\*webmin* /etc/rc\*/\*webmin\*
ls: cannot access /etc/rc\*/\*webmin\*: No such file or directory
/etc/init.d/webmin

(As you can tell, the "em" here are actually asterisks.)

Sorry, my shell command didn't quite work the way I expected .. what is the output from :

ls /etc/init\*/\*webmin\*

BTW, I just did an install of Webmin 1.560 on an Ubuntu 10.10 system, and it worked fine..

root@carina /etc # ls /etc/init*/*webmin*
/etc/init.d/webmin

Maybe try installing Webmin 1.550 on Ubuntu 10.04 (I tend to use LTS only :) ), and upgrade it to 1.560, the issue happened after the upgrade here...

I have another system too which is still at 1.550, where I can do further tests if you'd like and tell me what to do. :) It's an Ubuntu 10.04 64-bit with Virtualmin 3.87.

So if you run insserv webmin on that 10.04 system, does it create the /etc/rc*.d/*webmin links?

Nope, I'm afraid insserv doesn't. update-rc.d webmin defaults does though.

That is surprising, as insserv does work on my systems.

Does it output any error message when you run it?

It outputs a lot of things, some of them look like errors, some rather like warnings. It seems it tries to do something with all services on the system, and for most of them complains that they've been converted to upstart jobs.

I should also mention that this system is a rather freshly installed Virtualmin GPL, on a VPS provided directly by my hoster (not on my VMWare box), and running Ubuntu 10.04 64-bit.

There's no message pertaining to Webmin though when I execute insserv. No softlinks get created either. Can't you just use the update-rc.d command? Output follows:

root@carina ~ # insserv webmin
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'udevtrigger' missing LSB tags and overrides
insserv: warning: current start runlevel(s) (0 6) of script `umountfs' overwrites defaults (empty).
insserv: warning: current start runlevel(s) (6) of script `reboot' overwrites defaults (empty).
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'irqbalance' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'dmesg' missing LSB tags and overrides
insserv: warning: current start runlevel(s) (0 6) of script `sendsigs' overwrites defaults (empty).
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'hostname' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'atd' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'procps' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'hwclock-save' missing LSB tags and overrides
insserv: warning: current start runlevel(s) (0 6) of script `networking' overwrites defaults (empty).
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'plymouth' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'plymouth-splash' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'plymouth-log' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'network-interface-security' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'console-setup' missing LSB tags and overrides
insserv: warning: current start runlevel(s) (0) of script `halt' overwrites defaults (empty).
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'mysql' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'plymouth-stop' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'cron' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'network-interface' missing LSB tags and overrides
insserv: warning: current start runlevel(s) (0 6) of script `umountroot' overwrites defaults (empty).
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'ufw' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'udev-finish' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'udevmonitor' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'module-init-tools' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'rsyslog' missing LSB tags and overrides
insserv: warning: current start runlevel(s) (0 6) of script `umountnfs.sh' overwrites defaults (empty).
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'udev' missing LSB tags and overrides
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'hwclock' missing LSB tags and overrides
insserv: There is a loop between service rsyslog and apache2 if stopped
insserv:  loop involving service apache2 at depth 3
insserv:  loop involving service rsyslog at depth 2
insserv:  loop involving service udev at depth 1
insserv: There is a loop between service rsyslog and apache2 if stopped
insserv:  loop involving service bind9 at depth 2
insserv:  loop involving service hwclock at depth 3
insserv: exiting now without changing boot order!

Ok, I see the issue .. insserv is failing due to the error at the end, which is un-related to Webmin :

insserv: There is a loop between service rsyslog and apache2 if stopped
insserv:  loop involving service apache2 at depth 3
insserv:  loop involving service rsyslog at depth 2
insserv:  loop involving service udev at depth 1
insserv: There is a loop between service rsyslog and apache2 if stopped
insserv:  loop involving service bind9 at depth 2
insserv:  loop involving service hwclock at depth 3
insserv: exiting now without changing boot order!

You need to correct that problem ..

As a work-around, I will update Webmin to create symlinks manually if insserv fails like this.

Indeed... I just tested the Webmin update on another virtual machine (one that I installed myself), and there's no issue with insserv there.

I wonder what strange stuff my hoster got in their VPSes there...

I'll try the update on one more of my VMs to see what happens there.

I think I got it. It was one of those rather annoying upstart/insserv/init.d related problems.

I had to modify the file /lib/init/upstart-job, to which the /etc/init.d file links for upstart jobs, and add a part that generates a proper LSB header. This will do away with all those "...has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs" errors, and also fix the loop reported in the end (which was probably a consequence of scripts missing the "empty" LSB info).

Now "insserv webmin" works again on the system where it failed before.

I'll post the solution in the forum thread that led to this report, so that the other user who mentioned it hopefully benefits from it too. :)

Automatically closed -- issue fixed for 2 weeks with no activity.