执行 chroot 后,监狱内的 Nodejs 副本不会启动节点控制台?

执行 chroot 后,监狱内的 Nodejs 副本不会启动节点控制台?

我正在尝试使用 chroot 从被监禁的系统运行 nodejs。这就是我想要的监狱 [mnt/mylinux] 的地方: chroot监狱 bash 及其所有依赖项 [使用 发现ldd] 都被复制到监狱中的正确文件夹中。我将nodejs复制到bin文件夹中,如下所示:

节点文件夹目标

然后我还复制了节点 [using ] 所需的所有依赖项ldd。现在,当我 chroot 然后尝试调用节点时,它不会打开其控制台? 在此输入图像描述

无需 chroot,节点就可以正常工作。 在此输入图像描述

我已经将节点所需的所有依赖项复制到了我的监狱中。那么为什么在创建监狱后,nodejs 不启动其控制台呢?

答案1

显然缺少一些必要的东西,例如

  • /proc
  • /sys/
  • /dev
  • /dev/pts

运行该文件strace可能会显示问题所在。

答案2

mount --bind /dev $chroot/dev

mount --bind /proc $chroot/proc

然后它就起作用了!

谢谢豪克拉金

相关内容