创建 dmg 映像时候,稀疏捆绑磁盘和稀疏磁盘具体区别是什么?

2015-12-03 11:18:45 +08:00
 xiaoc19

平时经常创建 dmg 映像文件,
但一直没明白稀疏捆绑磁盘和稀疏磁盘多具体区别是什么,或者说优缺点,
我的理解一直是稀疏捆绑类似于 7z 的“固始压缩”(😂😂😂😂😂)

在网上找了很多资料,解释都是点到为止没有具体提到区别,

Apple 的解释:
https://support.apple.com/kb/PH22247?viewlocale=zh_CN&locale=zh_CN

维基百科(稀疏束):
https://zh.wikipedia.org/zh/%E7%A8%80%E7%96%8F%E7%A3%81%E7%9B%98%E6%98%A0%E5%83%8F

都只是说结构不同,捆绑的用于 TM ,没有详细的了

顺路问一下,
格式那里, Apple 这样解释,

但在 win 下用 7z 只能解开 OS X 扩展这种格式, ExFAT 反而不行,这是为什么

4163 次点击
所在节点    macOS
1 条回复
orzfly
2015-12-03 12:02:24 +08:00
简单的说吧,首先,稀疏的意思就是只把有数据的地方存下来, 0 的地方就不存了。比方说你建了一个 100GB 的镜像,一般来说刚建好的时候都是空的吧,那么用稀疏的镜像他只会把里面不是空的数据,比如文件系统的一些数据存下来。随着你文件不断写入,这个镜像才不断变大。看说明,他也是可以收缩的。

至于 bundle ,那就是一组文件组成的一个镜像,而不是单个大文件。举个例子吧,有一个 100GB 的文件,我现在想把里面第 50GB 开始的 10GB 数据删掉,好像不是很容易删呀。假如我用一堆文件 (bundle) 来存这个 100GB 的文件,假如每 10GB 切割一个文件,那我只要把第 50GB 对应的那个文件删掉就行了,其他的不用受影响。

(基于字面意思理解,如有不对请指教)

至于第二个问题,那是因为 7-zip 并不支持 ExFAT 格式吧。你看官网的说明:
> Supported formats:
> Packing / unpacking: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM
> Unpacking only: AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR and Z.

这里有 HFS 、 FAT 、 NTFS ,却没有 EXFAT 。 DMG 只是一个磁盘镜像格式,里面封装的是一种文件系统。除非 7-zip 同时支持那种文件系统,不然是打不开的呀。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/240799

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX