如何在CentOS 6上配置chrooted帐户以使用mercurial(python库问题)

如何在CentOS 6上配置chrooted帐户以使用mercurial(python库问题),python,mercurial,centos,chroot,Python,Mercurial,Centos,Chroot,我正试图从我们的web发布例程中消除FTP,并在我们的服务器上安装了Mercurial。一段时间以来,我一直在推动服务器上的各种用户帐户进入实时存储库,但我也想将各个服务器用户帐户锁定到chrooted环境 问题是,当我使用chroot锁定一个帐户时,该帐户不再具有对hg二进制文件的访问权限,并且无法执行更新 通过参考本文,我已将hg二进制文件和各种python文件复制到chroot中的目录中: 但这并不是CentOS特有的,有些布局有些不同。我可以通过在用户的.profile中添加一行来修复p

我正试图从我们的web发布例程中消除FTP,并在我们的服务器上安装了Mercurial。一段时间以来,我一直在推动服务器上的各种用户帐户进入实时存储库,但我也想将各个服务器用户帐户锁定到chrooted环境

问题是,当我使用chroot锁定一个帐户时,该帐户不再具有对hg二进制文件的访问权限,并且无法执行更新

通过参考本文,我已将hg二进制文件和各种python文件复制到chroot中的目录中:

但这并不是CentOS特有的,有些布局有些不同。我可以通过在用户的.profile中添加一行来修复python错误,如下面的回答所示:

现在至少我得到了hg的回应,但这个回应是:

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback
Traceback (most recent call last):
  File "/bin/hg", line 10, in <module>
    import os
ImportError: No module named os
找不到与平台无关的库
找不到与平台相关的库
考虑将$PythONHOLD设置为[:]
“导入站点”失败;使用-v进行回溯
回溯(最近一次呼叫最后一次):
文件“/bin/hg”,第10行,在
导入操作系统
ImportError:没有名为os的模块
如果库位于错误的位置,我是否可以在.profile中输入任何内容来更正它,或者我是否必须移动文件


我在/lib和/lib64中获得的所有文件都是在我将帐户切换到chrooted状态时由Plesk创建的,但我检查了上述教程中的所有文件是否都存在,并与我从ldd获得的输出相匹配。

这里是一个从yum创建chroots的教程。使用yum将所有需要的内容安装到chroot中,包括一个新的python,移动chroot,然后使用easy_Install/pip/distribute引入额外的python模块。这比猜测哪些文件应该复制到哪里容易得多


在使用之前先复制一份chroot(例如,zip或tar),这样您就可以始终拥有一份干净的副本,以便以后打开包装使用。

谢谢,我会在周末或其他时间仔细查看。但现在,我似乎已经解决了我的问题,将lib64目录从root/usr/复制到chroot/usr,并将chroot/usr中的所有文件都复制到chroot/usr中,我没有意识到在根级别还有另一个lib64目录。我不确定这是否解决了所有问题,因为我没有正确地使用mercurial,现在它在chroot帐户下工作。现在我需要记住我做了什么,并将其添加到chroot骨架中,这样我就再也不用做了!遗憾的是,截至2015年2月,上面的URL似乎已被破坏,但我在