![有没有类似 git 的文件系统?](https://linux22.com/image/1373598/%E6%9C%89%E6%B2%A1%E6%9C%89%E7%B1%BB%E4%BC%BC%20git%20%E7%9A%84%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%EF%BC%9F.png)
答案1
你正在寻找的是“重复数据删除”。虽然它通常由专门的存储产品供应商实现,ZFS 文件系统也实现了它。大多数 Unix 衍生的操作系统可以使用 ZFS,因此我推荐它作为首先要查看的地方。
答案2
Network Appliance, Inc. 多年来一直拥有这样的存储能力,事实上,他们曾向 Sun Microsystems 投诉过他们的 ZFS 文件系统,并且做了 Aaron Miller 在其已接受的答案中提到的事情。值得一提的是,这些投诉在大约 3 年后与 Oracle 达成了和解。
自 2000 年以来,我一直将此作为企业解决方案,效果很好。第一次“复制”后的存储成本在文件发生变化时产生。否则,多次“复制”只会稍微增加命名空间。
我认为这并没有回答有关“操作系统级别”的问题,而是回答了“文件系统级别”的问题。
答案3
新的 Apple 文件系统 (APFS,之所以这样命名是因为已经存在 AFS) 具有这种“自动硬链接”/“重复数据删除”的魔力。macOS 10.13 在大多数 Mac 上都原生支持它,iOS 11 也是如此。
话虽如此,我觉得这还不足以让它“像 git 一样”,因为如果它像 git 一样,那么它还会在给定的时间点对我的目录结构的状态进行加密校验,这样我就可以确保没有人入侵我的计算机或修改我的系统目录。事实上,我使用 git repos 来跟踪我的 Mac 上的某些关键系统目录,如 Apache 配置文件、LaunchDaemons、LaunchAgents 和其他一些目录——这样,当我安装软件或运行我的服务器一段时间时,我就可以查看是否有任何问题。
当一段时间内没有使用文件时,APFS 还可以巧妙地将文件从文件系统卸载到云端,但它们看起来仍然像在那里,并会根据需要从云端重新加载。
你可以随时构建一个 Hackintosh 并使用它。BSD 很有趣。