use*_*000 7 mount bind-mount union-mount
我有一个包含某些文件的文件夹。有没有办法将它挂载到 上/,以便给定目录的内容出现在 中的相应位置/?
在我的例子中,目录包含与应用程序相关的文件——它没有像/dev和那样的目录/proc。
我尝试通过以下方式创建绑定安装:
mount --bind ~/applications/firefox /
Run Code Online (Sandbox Code Playgroud)
但是,这根本没有任何作用。与评论中推测的不同,它也没有任何不利影响。
这样做的动机是我想在关键任务系统上干净地安装许多自定义应用程序。可以理解的是,我希望将相关管理保持在最低限度。我使用unionfs-fuse + chroot 方法获得了应用程序安装的文件系统布局,但是我仍然需要处理应用程序文件与系统文件混合的问题。/将某些目录挂载到上面将帮助我保持文件系统干净。
虽然这种安装软件的方法可能看起来很变态,但有一个名为“Porteus”的发行版,它以这种方式安装软件(出于同样的原因),但是,众所周知,它们使用补丁内核和 aufs。但是,我无法在系统上使用自定义内核。
mount --bind ~/applications/firefox /会隐藏整个目录树,包括/dev、/proc等等。这将使所有被遮蔽的东西都无法访问。它不起作用,因为您无法绑定安装它会隐藏自身的目录。
您想要混合目录树和另一个目录树中已有的内容。这称为联合安装。Linux 有多种可用的联合文件系统;aufs存在于非古老内核中;无论 FUSE 在哪里, unionfs-fuse都可用。Aufs支持根目录作为挂载点,但是Unionfs-fuse。对于您的用例,联合安装/usr应该足够了。
| 归档时间: |
|
| 查看次数: |
8134 次 |
| 最近记录: |