仅为一个进程挂载点/符号链接

时间:2012-10-11 13:15:25

标签: linux symlink mount

我的系统在/ stuff处有一个挂载点。我需要一个特定的程序来查看/填充作为一个不同的挂载(程序有硬编码/填充路径,我不能改变它)。有没有办法让特定的程序视图/东西与其他人不同?我是否必须使用chroot,并从我真正的rootfs复制所有坐骑/ devnodes等?感谢。

编辑:澄清一下,我希望一个程序在查看/ stuff时看到不同的地方,我不希望程序通过不同的地方访问/ stuff的内容。例如,如果系统上的任何其他地方都有“ls / stuff”,他们会看到fileA.txt fileB.txt,但如果这个程序要执行“ls / stuff”,它会看到fileC.txt。

1 个答案:

答案 0 :(得分:0)

当您用" Linux"标记此问题时我假设这是你要求的操作系统。根据特定程序的启动方式,您可以使用" unshare(1)"来创建变通方法。

为此,你必须编写一个脚本挂载(或绑定挂载),无论该程序需要/stuff,然后执行该程序。但是,不要自己开始这个剧本。使用" unshare -m thescriptsname"并且只有从脚本使用的进程开始的进程树才会看到新的/已更改的挂载。

根据启动shell的情况,您可以更改安装而不影响系统也可能有所帮助。 " unshare -m $SHELL"应该给予必要的分离。