我有一个运行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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。