Bug#812932: udev postinst blocking upgrades in LXC container

Grant McLean grant at catalyst.net.nz
Thu Jan 28 01:40:47 GMT 2016


On Thu, 2016-01-28 at 02:10 +0100, Michael Biebl wrote:
> Am 28.01.2016 um 02:02 schrieb Grant McLean:
> > Possibly, but there's no point calling update-rc.d (which calls
> > insserv?) on a system where udev is disabled.  The udev.postinst script
> > already omits some things when udev is disabled.  I'm suggesting that it
> > could omit calling update-rc.d too.
> 
> Well, there is. You might want to debootstrap a system and later deploy
> the image to systems where udev actually needs to run.
> How exactly did you "disable udev"?

Prior to this problem occurring, we ran a systemctl command to mask out
the udev service.  The command created symlinks to /dev/null from:

  /etc/systemd/system/udev.service
  /etc/systemd/system/systemd-udevd.service

After looking through the udev.postinst script we learned that the
script considers that udev is 'disabled' on the host if this file
exists:

  /etc/udev/disabled

This was the reason for my original suggested addition to the postinst
script:

  [ -e /etc/udev/disabled ] && exit 0  

I'm not sure if that file has any significance outside of the
udev.postinst script.

> If you run "insserv udev", what's the output?

# insserv udev
insserv: Service mountkernfs has to be enabled to start service udev
insserv: exiting now!

Which seems reasonable - the udev init script does declare a dependency
on mountkernfs and the mountkernfs service is also masked in the
container since that function is handled by the LXC startup.

Regards
Grant





More information about the Pkg-systemd-maintainers mailing list