chrooted Linux 中的“sudo:无法分配 pty:没有这样的设备”

chrooted Linux 中的“sudo:无法分配 pty:没有这样的设备”

添加:

阅读后建议重复当 chroot 到“替换”发行版时,哪个 proc、sys 等应该绑定安装(或不绑定安装)?:

我怎么知道:

  • 通常调用 sysfs、proc、dev、dev/pts 的挂载 chroot,
  • 我想bindmount -o bind /dev dev/其中使用可以对与系统chroot运行位置相同的设备进行评估。

但是,它并没有解释为什么我收到错误,从我所看到的设置来看,相关部分与错误不在输出中的设置没有区别。请有人帮助了解更多 Linux 的底层工作原理。 TIA

原来的:

我一直在使用chrootLinux Mint 20.2 编写脚本。在 20.2 上,我已经挂载到 20.2 的 ISO 发行版中,sudo按预期工作。

最近我尝试从 20.2 chroot 到 ISO 发行版 21,并且在运行sudo mount -t proc proc /procchroot得到

sudo: unable to allocate pty: No such device

我比较了/dev和的内容,/dev/pts当在 20.2 和 21 中进行 chroot 时ls -a,内容匹配,也是/dev/pts空的。

我理解当 chrooted 命令以 root 身份运行时,因为用户是 root,但是我编写脚本部分是为了在幕后学习 Linux,并希望了解错误的原因。连接到服务器时,网络搜索得到了类似错误的链接,我看不到解释我的设置行为的信息。

uname -a对于 20.2 和 21 输出相同的“5.4.0-74-generic”;替换sudosudo --stdin仍然导致“sudo:无法分配pty:没有这样的设备”,我记得有一段时间添加--stdin摆脱了一些错误(不记得错误是什么),我读过相关的明确使用“sudo -S”的目的是什么?

sudo之后停止输出“sudo:无法分配 pty:没有这样的设备” mount -t devpts devpts /dev/pts,但是输出变为

*** closefrom failed to close a file descriptor ***: terminated
Aborted

运行后也mount -t proc proc /proc sudo按预期工作,但 mount /procw/out/dev/pts仍然导致之前的“无法分配 pty”,所以我很困惑(如上所述,/dev/pts在工作和非工作情况下,匹配和空的内容)。

我还可以检查和尝试什么? TIA

答案1

我解决了 sudo:

无法分配 pty:没有这样的设备

在运行 chroot 之前获取 root 会话:

sudo su -

然后

chroot /mnt

相关内容