linfan's blog

Mac OS X下使用bindfs实现mount的目录绑定功能

Linux下的mount命令有一个--bind参数,将目录挂载到另一个目录下。Mac OS X的mount命令不支持--bind,不过我们可以使用bindfs实现相同的功能。

bindfs是一个基于FUSE的文件系统实现,并非Mac OS X的预装工具,但通过Homebrew安装非常简单。

brew install bindfs

Homebrew会自动安装bindfs以及其依赖的gettext和fuse4x。如果出现未找到pkg-config的错误,请先输入brew install pkg-config安装。

安装完成后,需要在系统启动时加载FUSE内核扩展。

1
2
sudo cp -rfX /usr/local/Cellar/fuse4x-kext/0.8.14/Library/Extensions/fuse4x.kext /System/Library/Extensions
sudo chmod +s /System/Library/Extensions/fuse4x.kext/Support/load_fuse4x

重启生效。

bindfs的使用也非常简单,跟mount --bind基本一样。

bindfs 源目录 挂载点

更多信息可以在终端里输入man bindfs查阅。

Comments