Linux / Fedora沙盒过程和文件系统变化

是否有一个相当于Linux(closures),运行在Fedora上的Windows程序sandboxie ? 这并不完美,但它基本上创build了一个C:\ Sandbox \\ XYZ目录,在XYZ沙箱中运行的任何进程都透明地(对进程)locking在该文件夹中进行更改。 Sandboxie可以允许在其中运行的进程看到外面 – 基本上,它可以给进程提供计算机的状态,但是将沙箱目录覆盖在其上以优先考虑。

我希望能够启动一个bashterminal,做一些sudo yum (或者现在它的替代sudo dnf )安装,做其他任何事情,并且拥有一切自给自足的东西。

所以,我可以删除其中的一个Linux沙箱,并且其中的所有内容(包括yum或dnf安装)都会蒸发,从不受影响。 而且,希望有一种方法可以将沙盒“带出”到整个环境中去。

我对很多沙箱很适用的轻量级解决scheme感兴趣,所以一切都不需要复制到新的安装中。

我对Linux容器感到兴奋,也许我错了。 我尝试了sudo lxc-execute -n test bash ,然后在“包含的”bashlogin中,从touch fromLxc运行了一个touch fromLxc ,这对于不在lxc容器中的其他terminal是可悲的。

我看着docker ,但看起来它不会让事情在o / s上面运行,而是在Docker安装中运行。 所以,当你把东西添加到你的顶层o / s时,他们不得不在Docker安装中重新添加。

我不认为chroot可以工作的,因为当最高级的o / s发生变化时,我认为它不会将变化“传播”到chroot环境中。

我认为你在Linux容器的正确轨道上。 你想要的function是一个联合装载 ,进程看到一个分层的文件系统,只写入顶层。 例如,Docker使用联合安装,但是以文件系统镜像作为最低层,而不是主机的本地“/”fs。 所以我相信你想要做的是将/挂载到/ var / mounts / xyzzy中,使用UnionFS,aufs或OverlayFS挂载另一个文件系统,然后将环境chroot到/ var / mounts / xyzzy,这样没有任何东西可以逃脱。 这一切都是可能的,但是如果你能find一个使用docker的方法,比如说通过build立一个你需要的任何文件的图像,你可能会运行得更快。