是否有类似git的文件系统?


27

Git根据计算出的任何文件哈希将内容唯一地存储在其回购中。如果我的目录中有相同文件的两个副本,则git实际上只会存储一次。

我想知道是否已经在操作系统级别将某种文件系统实现了相同的概念?

如果文件系统默认情况下以这种方式运行,则将很好地解决dll地狱问题。本质上,它将代表您自动进行符号链接。任何应用程序都可以打包(像jar一样)到具有所有依赖项的目录中,而不会产生额外的存储成本。

Ruby发烧友通过将库发布为rubygems来共享库。尽管如此,这种共享gem的努力还是导致了部署方面的噩梦,这导致了Vendor Everything概念,即将所有依赖项复制到本地文件夹中以避免此类噩梦。


2
我不是专家,但请查看ZFS
ForeverWintr

Answers:



3

Network Appliance,Inc.具有这种存储能力已有多年,事实上,他们已经向Sun Microsystems提出了有关其ZFS文件系统的投诉,并且做了Aaron Miller在接受的答复中提到的内容。值得的是,大约3年后与Oracle解决了这些投诉。

自2000年以来,我一直将此作为公司解决方案,并且效果很好。文件发生更改后,第一次“复制”之后的存储成本就会增加。否则,带有很多“副本”的命名空间只会稍微增加一点。

我不认为这可以回答有关“操作系统级别”的问题,而可以回答“文件系统级别”的问题。


0

新的Apple文件系统(APFS,之所以如此命名,是因为已经有一个其他的AFS)实现了这种“自动硬链接” /“重复数据删除”的魔力。macOS 10.13和iOS 11一样都在本地(大多数Mac上)支持它。

话虽这么说,我觉得这还不足以使其像“ git like”,因为如果它是“ git like”,那么它还将在给定的时间点具有我目录结构状态的加密校验和,以便我可以确定没有人入侵过我的计算机或修改过我的系统目录。实际上,我使用git repos来跟踪Mac上的某些关键系统目录,例如Apache配置文件,LaunchDaemons,LaunchAgents以及其他一些目录,通过这种方式,当我安装软件或运行服务器一段时间时,我可以查看是否有任何东西搞砸了。

APFS还提供了很不错的支持,可以在一段时间内不使用文件系统时将它们从文件系统卸载到云中,但是看起来它们仍然存在,并将按需从云中填充下来。

您总是可以构建一个Hackintosh并随便乱扔。BSD很有趣。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.