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