centos – 无法运行Expect“不再是ptys. “作为普通用户

前端之家收集整理的这篇文章主要介绍了centos – 无法运行Expect“不再是ptys. “作为普通用户前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个运行CentOS 7.4的LXC容器.
在正常用户运行期望时,我收到以下错误.
user@server ~>  expect -c "spawn ls"
spawn ls
The system has no more ptys.  Ask your system administrator to create more.
    while executing
"spawn ls"

但是如果我们从root用户执行相同的操作,它就可以工作.

[root@server]#  expect -c "spawn ls"
spawn ls

mount的输出也有这些在挂载点.
/ dev / pts类型devpts上的devpts(rw,relatime,seclabel,mode = 620,ptmxmode = 000)

我在服务器上运行了以下更新.

mknod -m 600 /dev/console c 5 1 2>/dev/null
mknod -m 666 /dev/null c 1 3 2>/dev/null
mount -n -t tmpfs none /dev 2>/dev/null
mknod -m 622 /dev/console c 5 1 2>/dev/null
mknod -m 666 /dev/null c 1 3 2>/dev/null
mknod -m 666 /dev/zero c 1 5 2>/dev/null
mknod -m 666 /dev/ptmx c 5 2 2>/dev/null
mknod -m 666 /dev/tty c 5 0 2>/dev/null
mknod -m 444 /dev/random c 1 8 2>/dev/null
mknod -m 444 /dev/urandom c 1 9 2>/dev/null
chown root:tty /dev/{console,ptmx,tty} 2>/dev/null
ln -s /proc/self/fd /dev/fd 2>/dev/null
ln -s /proc/self/fd/0 /dev/stdin 2>/dev/null
ln -s /proc/self/fd/1 /dev/stdout 2>/dev/null
ln -s /proc/self/fd/2 /dev/stderr 2>/dev/null
ln -s /proc/kcore /dev/core 2>/dev/null
mkdir /dev/pts 2>/dev/null
mkdir /dev/shm 2>/dev/null
mount -t devpts -o gid=4,mode=620 none /dev/pts 2>/dev/null
mount -t tmpfs none /dev/shm 2>/dev/null
chmod 666 /dev/null

但是我仍然无法像普通用户那样运行expect命令.
我有一些脚本需要作为普通用户运行expect语句.

我已经做了一些我能想到的方法.请帮忙!!

经过相当多的搜索,我发现我需要在chroot中创建/ dev / ptmx和/ dev / pts结构.
#!/bin/sh
 mknod /dev/ptmx c 5 2
 chmod 666 /dev/ptmx
 mkdir /dev/pts
 chmod 755 /dev/pts
 mount -t devpts -o gid=5,mode=620 none /dev/pts

感谢网站https://mintcast.org/building-linux/
我引用了上述网站的脚本和详细信息.

执行脚本后,我能够执行该命令

[user@server]#  expect -c "spawn ls"
spawn ls
原文链接:https://www.f2er.com/centos/373726.html

猜你在找的CentOS相关文章