0
在没有chroot的情况下伪造Linux环境
对于大学项目,我想在32核机器上测试C ++ 11程序。不幸的是,该机器安装了UCCntu 12.04并安装了GCC 4.6(由于一些C ++ 11线程功能,我们需要GCC 4.7)。在这样的环境中,我通常会使用自定义linux运行chroot(比如使用Ubuntu 12.10进行debootstrap)。由于我们没有在机器上获得root访问权限,因此我们无法使用chroot。 到目前为止,我已经为我们的代码使用debootstrap准备了一个运行时环境,我在debootstrap environemnt中编译了它。然后将其复制到服务器上(使用rsync)。为了运行我们的C ++代码,我将LD_LIBRARY_PATH设置为 export LD_LIBRARY_PATH=~/debootstrap/usr/lib/:~/debootstrap/lib64/:~/debootstrap/usr/lib/x86_64-linux-gnu/:~/debootstrap/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH 到目前为止,我们的代码似乎运行。但是我坚持使用我们的python代码。手动设置路径似乎不够。 export PYTHONPATH=~/debootstrap/usr/lib/python2.7/dist-packages:~/debootstrap/usr/lib/python2.7:~/debootstrap/usr/lib/python2.7/plat-linux2:~/debootstrap/usr/lib/python2.7/lib-tk:~/debootstrap/usr/lib/python2.7/lib-dynload:~/debootstrap/usr/local/lib/python2.7/dist-packages:~/debootstrap/usr/lib/pymodules/python2.7:~/debootstrap/usr/lib/python2.7/dist-packages/PIL:~/debootstrap/usr/lib/python2.7/dist-packages/gtk-2.0:~/debootstrap/usr/lib/python2.7 执行我们的脚本导致 ImportError: No module named _path 有没有一种更简单的方法来完成“假” - chroot而不仅仅是覆盖和创建环境变量? 注意我需要python,因为我们创建了一个自定义的C ++ - Python模块来运行我们的测试。也许我应该从中提出两个问题。