Difference between revisions of "Container enter failed"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
(and, http://blackpages.ning.com/profiles/blogs/download-digby-the-biggest-dog Download Digby, the Biggest Dog in the World movie, 8-(, http://m-fire.ning.com/profiles/blogs/download-because-of-winndi)
 
(11 intermediate revisions by 6 users not shown)
Line 1: Line 1:
and, http://blackpages.ning.com/profiles/blogs/download-digby-the-biggest-dog Download Digby, the Biggest Dog in the World movie,  8-(, http://m-fire.ning.com/profiles/blogs/download-because-of-winndixie Download Because of Winn-Dixie movie,  8041, http://oneworldrollerderby.ning.com/profiles/blogs/download-movie Download  movie,  apwts, http://mommycorporation.ning.com/profiles/blogs/download-dragon-tiger-gate Download Dragon Tiger Gate movie,  ybcdvq, http://durbanite.ning.com/profiles/blogs/download-evan-almighty-movie Download Evan Almighty movie,  8P, http://thepaperlife.ning.com/profiles/blogs/download-host-the-movie Download Host, The movie,  dflge, http://internationaljuggalorydas.com/profiles/blogs/download-lady-and-the-tramp-ii Download Lady and the Tramp II: Scamp's Adventure movie,  1792, http://www.e-3events.com/profiles/blogs/download-wargames-the-dead Download Wargames: The Dead Code movie,  vdf, http://blackartinamerica.com/profiles/blogs/download-ben-10-alien-swarm Download Ben 10: Alien Swarm movie,  >:[, http://eaob2b.ning.com/profiles/blogs/download-waiting-to-exhale Download Waiting to Exhale movie,  =-PPP, http://www.themarketersnetwork.com/profiles/blogs/download-never-surrender-movie Download Never Surrender movie,  prmw,
+
== Symptoms ==
 +
 
 +
<pre>
 +
error: open pty: No such file or directory
 +
</pre>
  
 
== Solutions ==
 
== Solutions ==
Line 25: Line 29:
 
  vzctl exec 101 /sbin/MAKEDEV tty
 
  vzctl exec 101 /sbin/MAKEDEV tty
 
  vzctl exec 101 /sbin/MAKEDEV pty
 
  vzctl exec 101 /sbin/MAKEDEV pty
 +
vzctl exec 101 mknod --mode=666 /dev/ptmx c 5 2
 
  vzctl enter 101
 
  vzctl enter 101
  
Line 72: Line 77:
 
  vzctl exec $CTID apt-get remove udev
 
  vzctl exec $CTID apt-get remove udev
 
  vzctl restart $CTID
 
  vzctl restart $CTID
 +
 +
=== Older Slackware ===
 +
 +
Check that /dev/pts is mounted under the container as a devpts filesystem:
 +
 +
vzctl exec VEID mount
 +
 +
If it is not, try this immediate fix:
 +
 +
vzctl exec VEID mount /dev/pts
 +
 +
You should now be able to enter the VPS. You will need to fix /etc/rc.d/rc.S and/or /etc/fstab to ensure that /dev/pts is mounted in the boot process.
 +
  
 
== See also ==
 
== See also ==

Latest revision as of 19:30, 30 September 2014

Symptoms[edit]

error: open pty: No such file or directory

Solutions[edit]

Using strace[edit]

You can use strace to analyse the command further:

# strace -ff vzctl enter 101
....
fstat64(...st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0)...) fail
....

Recompile the kernel with the following option:

CONFIG_LEGACY_PTYS=y

LEGACY_PTYS[edit]

Temporary fix[edit]

Note: This is a temporary fix so you can enter the VE.

  • Create the LEGACY_PTYS devices:
vzctl exec 101 /sbin/MAKEDEV tty
vzctl exec 101 /sbin/MAKEDEV pty
vzctl exec 101 mknod --mode=666 /dev/ptmx c 5 2
vzctl enter 101

Permanent fix with udev[edit]

  • For a permanent fix with udev, you will need to force udev to make LEGACY_PTYS:
cat > /etc/udev/makedev.d/51-udev.nodes
# These device have to be created manually
tty0
tty1
tty2
tty3
....
ttyp0
ttyp1
ttyp2
ttyp3
....
ptyp0
ptyp1
ptyp2
ptyp3
....

Permanent fix without udev[edit]

  • Alternatively, you can disable udev:

Edit the /etc/rc.d/rc.sysinit file and comment out the /sbin/start_udev line

Or you can run the following command:

sed -i 's|/sbin/start_udev|#/sbin/start_udev|g' /etc/rc.d/rc.sysinit

Warning Updates to the package which owns this file may revert your changes.

Note This was tested with CentOS VE.

Debian only[edit]

  • Enter the VE manually
CTID=101
vzctl exec $CTID "mount -t devpts devpts /dev/pts" 
vzctl enter $CTID
  • Remove udev using apt
CTID=101
vzctl exec $CTID apt-get remove udev
vzctl restart $CTID

Older Slackware[edit]

Check that /dev/pts is mounted under the container as a devpts filesystem:

vzctl exec VEID mount

If it is not, try this immediate fix:

vzctl exec VEID mount /dev/pts

You should now be able to enter the VPS. You will need to fix /etc/rc.d/rc.S and/or /etc/fstab to ensure that /dev/pts is mounted in the boot process.


See also[edit]