[libvirt-users] lxc: Add /dev/tty to lxcContainerPopulateDevices() ?
Daniel P. Berrange
berrange at redhat.com
Thu May 17 08:01:06 UTC 2012
On Wed, May 16, 2012 at 03:44:19PM -0700, Sukadev Bhattiprolu wrote:
> Hi,
>
> src/lxc/lxc_container.c:lxcContainerPopulateDevices() has this table
> of devices that are automatically created when an lxc container is
> started.
>
> const struct {
> int maj;
> int min;
> mode_t mode;
> const char *path;
> } devs[] = {
> { LXC_DEV_MAJ_MEMORY, LXC_DEV_MIN_NULL, 0666, "/dev/null" },
> { LXC_DEV_MAJ_MEMORY, LXC_DEV_MIN_ZERO, 0666, "/dev/zero" },
> { LXC_DEV_MAJ_MEMORY, LXC_DEV_MIN_FULL, 0666, "/dev/full" },
> { LXC_DEV_MAJ_MEMORY, LXC_DEV_MIN_RANDOM, 0666, "/dev/random" },
> { LXC_DEV_MAJ_MEMORY, LXC_DEV_MIN_URANDOM, 0666, "/dev/urandom" },
> };
>
> Can we add '/dev/tty' to this list ?
>
> We were trying to run 'smbpasswd -a user' inside a container without
> /dev/tty and the fopen("/dev/tty", "w+") in smbpasswd made /dev/tty
> a regular file, breaking man(1), less(1), and ofcourse smbpasswd :-)
>
> Sure we can add /dev/tty to container's rc.local or something, but
> wouldn't it be in the same category as say, /dev/null or /dev/zero ?
No, we can't just pass in the host's /dev/tty device to the
container. We need to virtualize it, but this is not really
very easy todo if we need to take account of multiple consoles.
Probably as a temporar hack, we can just symlink it to /dev/tty1
and try to figure out a proper fix later
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvirt-users
mailing list