10 分钟看懂 macFUSE:不写内核代码的 3 个自建文件系统玩法
10 分钟看懂 macFUSE不写内核代码的 3 个自建文件系统玩法【免费下载链接】osxfusemacFUSE umbrella repository项目地址: https://gitcode.com/gh_mirrors/os/osxfusemacFUSE 是一个让普通用户在 macOS 上自建文件系统的工具包。它把文件系统代码放在用户空间运行内核扩展只充当桥接你不用写一行内核代码就能做出挂载云端文件、读取非原生分区、透明加密这类文件系统。 macFUSE 到底是干嘛的macFUSE 相当于给 macOS 装了一个「文件系统插座」你按普通应用的方式写好文件系统程序macFUSE 的内核扩展负责把它和系统内核对接插上就能被 Finder 当作真实文件夹使用。文件系统代码全部跑在用户空间内核扩展只做桥接内核本身零改动提供两套 APIlibfuse.dylib标准 Unix FUSE API 的超集C 语言和 macFUSE.frameworkObjective-C 高级封装开发体验和普通 macOS 应用一致调试器、第三方库、开发工具随便用 安装与验证源码仓库只开放了两个核心组件的代码内核扩展是闭源的。想动手前先拉取仓库git clone https://gitcode.com/gh_mirrors/os/osxfuse cd osxfuse git submodule update --init ls执行后看到 Framework、Library-2、Library-3、Mount 四个目录就说明拉取成功Framework 是 macFUSE.framework 源码Library-2 和 Library-3 是 libfuse 源码Mount 与挂载相关。版本对应关系如下版本支持的 macOS 范围最新版macOS 12 – macOS 273.8.3最后一个全开源版本macOS 10.5 – macOS 10.14.4 3 个最实用的用法官方列出的三个常见场景都能基于 macFUSE 提供的 API 实现挂载云端文件把网盘当本地文件夹把你自己写的云端文件系统挂载到本地目录后云端文件就能像本地文件一样打开、编辑、保存省去专门配置同步客户端。读取非原生磁盘分区macOS 不认识的格式也能挂载macOS 原生支持的磁盘格式有限。用 macFUSE 在用户空间实现对应格式的文件系统就能读写这些不被原生支持的分区。透明加密文件夹写入自动加密读取自动解密在文件系统层做加解密用户看到的始终是明文落到磁盘上的却是密文适合存放敏感资料。⚠️ 新手常踩的 3 个坑三个坑都来自仓库 README 和许可证里的真实限制。坑 1在仓库里找不到内核扩展源码。原因是 macFUSE 只开源了 libfuse.dylib 和 macFUSE.framework内核扩展闭源。动作安装走官方渠道别指望在这个仓库里修改内核部分。坑 2老系统装不了最新版。最新版只支持 macOS 12 – 27而最后一个全开源版本 3.8.3 只支持到 10.14.4两者之间存在版本空档。动作按你的系统版本选对应版本老系统用 3.8.3 分支的源码。坑 3想把 macFUSE 打包进商业软件一起分发。许可证明确禁止未经书面许可把二进制形式捆绑进商业软件包括自动下载和安装。动作先取得版权方书面许可或改为用户自行安装。 接下来往哪学源码资源都在这四个子模块里Framework/ 目录macFUSE.frameworkObjective-C 封装源码Library-2/、Library-3/ 目录libfuse.dylibC API源码Mount/ 目录挂载相关源码再结合官方 macFUSE 网站和 wiki 的说明一起看建议按三步走通读 README弄清四个子模块各自负责什么从 Framework/ 的 Objective-C 封装入手或直接读 Library-3/ 的 C API看懂接口边界动手写一个最小可挂载的测试文件系统跑通完整流程macFUSE 把「自建文件系统」从内核开发拉回了普通应用开发的门槛之内。今晚就可以把仓库 clone 下来对照 README 把四个子模块逛一遍你会对它的分工有直观感受。【免费下载链接】osxfusemacFUSE umbrella repository项目地址: https://gitcode.com/gh_mirrors/os/osxfuse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考