【问题标题】:OS X mount local directory [closed]OS X 挂载本地目录 [关闭]
【发布时间】:2010-11-08 01:33:01
【问题描述】:

是否可以将本地目录挂载到另一个目录中?使用 Perforce,我想做一些相当于符号链接目录的事情,但以一种愚弄它认为它实际上只是项目中的另一个目录的方式。

我想做这样的事情:

mount /foo/bar /home/foo/bar

这可能吗?如果可以,我需要提供哪些选项?

【问题讨论】:

  • 把它移到 apple.stackexchange.com 怎么样?

标签: macos unix mount


【解决方案1】:

您只能在目录树下挂载不同的文件系统。您可以通过硬链接目录来实现您想要做的事情。 OS X 允许硬链接目录并强制执行它想要不同的目录

【讨论】:

  • 应该注意的是,这在 APFS 中不再起作用,APFS 目前是默认文件系统。从 macOS Mojave 开始,所有驱动器都升级到 APFS。只有 HFS+ 支持硬链接。
【解决方案2】:

要建立从一个目录到另一个目录的硬链接,请运行:

$ ln /foo/bar /home/foo/bar

请务必注意,从操作系统的角度来看,这两个链接都受到同等对待。您可以删除/foo/bar/home/foo/bar 仍将是对磁盘数据的有效引用。

【讨论】:

  • 硬链接目录是邪恶的!!! (除非你非常小心……)
  • 您可以通过 'ln' 硬链接 OSX 中的目录
  • 哎呀。为我没有实际运行命令而感到羞耻。得分。
  • Time Machine 实际上使用到目录的硬链接,所以它一定是可能的。
  • 可以做到,但你必须编写代码才能做到......一些示例代码(以及放置在目录硬链接上的条件)大约在此页面的一半:@987654321 @(搜索“实验”一词)
【解决方案3】:

bindfs 似乎是你所追求的……

【讨论】:

  • 这是旧的,但为了后代,我想补充一点,我遇到了 bindfs 数据损坏的问题。和性能问题。
  • (很抱歉添加了评论;我不小心点击了返回,提交了评论,然后等了五分钟以上才更新。叹息)。无论如何,要注意的是,如下所述,HFS+ 支持目录之间的硬链接(有限制),虽然本机 ln 命令不会这样做,但 gnu 链接命令(在 macports 和其他地方)会。
  • 谢谢smparkes,我不是mac用户,希望能有更权威的反馈。
  • fuse 的缺点是不支持 inotify 事件。如果源更新,当应用在目标中观察更新时,它不会收到更新。
  • 我无法让 bindfs 与 MacOS Catalina 一起工作 (github.com/mpartel/bindfs/issues/83)
【解决方案4】:

实现此目的的 BSD(以及 Darwin/OSX)方法是 nullfs。它不在 OS X 的标准构建中,但如果您有时间玩弄它,也许可以从源代码构建。

【讨论】:

  • sudo mount -t nullfs 对我不起作用
  • 我已经实现了一个兼容的 mount_nullfs here 但是由于权利,它需要禁用 SIP 和 AMFI。
【解决方案5】:
mount localhost:/path1 /path2

将使用 NFS。

NFS 可能有很多问题,在这个答案中处理它们会很疯狂,最好在apple.stackexchange.com 上提问并阅读man mount_nfs(8)

【讨论】:

  • 得到“连接被拒绝”,知道如何解决这个问题吗?
  • @Norswap 请在 apple.stackexchange.com aka Ask Different 上打开您的问题
  • @Norswap 我知道这有点老了,但这很有效。我继续调查,posted my findings here。 NFS 就是答案;只需一点配置即可。
猜你喜欢
  • 1970-01-01
  • 2010-09-07
  • 1970-01-01
  • 2021-06-14
  • 1970-01-01
  • 2010-09-06
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
相关资源
最近更新 更多