在chroot环境中启动程序会立即返回

时间:2015-03-20 09:46:26

标签: linux bash chroot

我在虚拟环境中工作,试图在chroot环境中启动开放式vm工具。 我用bash进行测试,似乎工作正常。 我使用./configure --options --prefix=/home/chroot_env安装程序,然后在vmtoolsd上使用ldd,我将相应的库复制到/lib目录。

现在当我开始chroot /home/chroot_env /bin/vmtoolsd时,没有任何反应,chroot直接返回。在正常环境中启动相同的二进制文件确实有效。

有人知道它为什么不起作用,正确的库存在,并且它适用于bash。

编辑:strace显示vmtoolsd正在尝试访问/dev/console,我添加了mount --bind /dev/ /home/chroot_env/dev/,但它仍然失败。

EDIT2:另一个strace显示它正在寻找另一个动态加载的插件,我添加它并且它有效,结论strace非常适合调试此类问题!

1 个答案:

答案 0 :(得分:1)

当您运行某个程序但没有任何反应时,您始终可以使用strace运行它以查看哪些系统调用。这是获取打开的文件列表(常规或非常规)的简便方法。在您的情况下,请检查您的程序是否尝试访问不在chroot中的文件。