创建用于开发/测试的本地工作区

创建用于开发/测试的本地工作区

我希望能够mount将 /home/$USER/workspace 更改为 /usr/local/workspace。现在我正在使用 python 包py文件系统它用来fuse做到这一点。我的问题是,在该安装中我无法创建symlinks.我什至不需要挂载之外的符号链接,但即使通常在编译期间为共享库创建的符号链接也不会在挂载内部创建。

因此,我要么正在寻找一种完全不同的方法,要么正在寻找一种完全不同的方法,或者一种工具(最好用Python)来完成pyfilesystem正在做的事情并支持符号链接的创建。

进一步的限制:

  • 使用简单的符号链接而不是安装对我来说不起作用,因为安装的目录实际上位于chroot.
  • 安装不得需要 root 权限。
  • 改变fstab不是一个选择。
  • 因此使用mount bind不是一个选择。

答案1

抱歉,但如果只是为了理智起见,这种系统范围的更改确实需要某种形式的 root 参与。也许最接近你想要的就是创建一个虚拟机并在其中运行,或者类似 Fedora 的东西嘲笑,用于创建 chroot 的机制,其中填充了构建包所需的工具。可能其他发行版也有类似的东西。 Linux 中的整个命名空间开发承诺在这里提供帮助,有一个系列低水温网络现在正在运行(第1部分,第2部分,第三部分,第 4 部分;第 5 部分仍然仅限订阅者)。但命名空间设置仍然是 root 的责任。

答案2

您可以通过组合以下工具以普通用户身份设置完整的构建/测试环境假根,假根牛仔舞者

答案3

经过更多搜索后我偶然发现它结合了chroot 将任何目录复制mount到新的root.它支持其内部的任何文件操作chroot,甚至是,即使在卸载目录symlinks后也能愉快地工作。proot它不需要root特权,并且使我的schroot+复杂设置变得pyfilesystem不必要。

相关内容