Este problema es bastante común, y está bastante documentado. La razón es el paquete udev dentro del VE o container. Crear los dispositivos pty y tty sólo afecta al VE en cuestión. Udev no conoce nada sobre esos dispositivos. El crea archivos según sus propias reglas, por eso hemos de decirle a udev que ha de crear los dispositivos tty o pty.
Error:
vzctl enter VEID
enter into VE VEID failed
Unable to open pty: No such file or directory
Para sistemas RPM (RedHat, CentOS, Fedora), arreglar el problema temporalmente
# vzctl exec VEID /sbin/MAKEDEV pty
# vzctl exec VEID /sbin/MAKEDEV tty
#vzctl enter VEID
Para solventar el problema permanentemente
1. Editamos el archivo /etc/rc.sysinit del container
2. Comentamos la linea donde se inicia udev
#/sbin/start_udev
3. Añadimos a continuación los siguientes comandos
/sbin/MAKEDEV tty
/sbin/MAKEDEV pty
4. Reiniciamos nuestro container
# vzctl restart VEID
Para sistemas no basados en RPM. Es algo problemático utilizar Ubutun o Debian con OpenVZ por el simple hecho que, en el mismo foro de OpenVZ, recomiendan no utilizar containers de esas distribuciones. Se crean algunos problemas añadidos, aún así, hay gente que lo utiliza.
La solución descrita más arriba no funciona en Ubuntu:
Ubuntu 9.04
vzctl exec 3333 '/sbin/MAKEDEV /pty'
/sbin/MAKEDEV: warning: can't read /proc/devices
/sbin/MAKEDEV: don't know how to make device "/pty"
Para resolver el error se comentan 2 opciones
# vzctl exec 3333 'dpkg --force-depends --purge udev'
y
# vzctl exec veid update-rc.d -f udev remove
# vzctl restart veid
No puedo comentar nada porque no tengo ningún container con Ubuntu, Debian o Slackware.
Links
- http://forums.openitc.co.uk/index.php?topic=3.0
- http://www.sherin.in/index.php/2008/05/15/unable-to-open-pty-no-such-file-or-directory/
- http://wiki.openvz.org/VPS_enter_failed
- http://forum.openvz.org/index.php?t=tree&th=6986&mid=34077&&rev=&reveal=
- http://david.toribio.eu/2008/10/11/unable-to-open-pty-no-such-file-or-directory/