I have a base host of Debian Squeeze (currently in testing as of this writing). I have Debian Lenny, Ubuntu Lucid, and Gentoo as guest systems. The Debian squeze installer works well for Lenny and Lucid, but the Ubuntu folks haven't taken the necessary steps to make Ubuntu play nice in a container.
One main glitch I found with Ubuntu Lucid was that during the regular system upgrades I received a new udev package, which started causing problems with dpkg. Essentially we don't want to have udev in the guest since the host deals with the /dev/ filesystem. If your container is set up with a default deny on the dev fs, then you'll have seen the below errors:
Setting up udev (151-12.2) ...
mknod: `/lib/udev/devices/ppp': Operation not permitted
dpkg: error processing udev (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of plymouth:
plymouth depends on udev (>= 149-2); however:
Package udev is not configured yet.
dpkg: error processing plymouth (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
udev
plymouth
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:
Setting up udev (151-12.2) ...
mknod: `/lib/udev/devices/ppp': Operation not permitted
dpkg: error processing udev (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of plymouth:
plymouth depends on udev (>= 149-2); however:
Package udev is not configured yet.
dpkg: error processing plymouth (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
udev
plymouth
In this error message we see that the udev.postinst script is trying to make a node in /dev/, which we don't want it to do.
There is probably a more graceful way to fix this, but for now I'm quite happy to hack it outta my way by editing
/var/lib/dpkg/info/udev.postinst
and putting an exit 0
before anything else is done in the script. Once that's done just reconfigure it and it should work:# dpkg --configure udev
# dpkg --configure plymouth