【发布时间】:2018-07-19 04:54:50
【问题描述】:
很多软件在.dmg(磁盘镜像)里面都有一个.pkg(安装包),我想知道为什么会这样。
即使在将所有内容绑定到 .pkg 之后,也需要拥有软件的可挂载磁盘映像(即 .dmg)。
.pkg 是否容易受到 zip slip 之类的影响,是否需要额外的安全性?如果以 .pkg 格式分发软件可能会面临哪些问题。
.pkg 似乎已经被压缩了,因为 dmg 在那之后并没有减少文件大小。似乎压缩不是主要原因,如果我错了,请告诉我。
有人提到“.pkg 不是一个文件,而是一个文件夹。所以也许将它收集到一个文件中对于下载是必不可少的。”但是我无法右键单击并查看内容,也无法通过 cmd 行显示它不是目录。那么为什么我们不能将软件作为 .pkg 分发,只是为什么需要挂载。
【问题讨论】:
-
安装程序包格式的早期版本实际上是文件夹(因此需要以 .dmg 之类的格式进行传输),但从 OS X v10.5 开始,Apple 增加了对 @987654321 的支持@,现在几乎所有这些都被使用了。我不确定为什么它们仍然包裹在磁盘映像中,但我怀疑这主要是惯性。
-
感谢@GordonDavisson,即使我观察到 .pkg 现在是平面文件。你说的惯性是什么意思,你能详细说明一下吗?
-
基本上,我的意思是,当扁平包出来的时候,每个人都习惯了“.pkg 包装成.dmg”的格式,即使最初的目的已经没有了,也继续使用它。另一个例子见the baked ham joke。请注意,我没有将此作为答案添加,因为我不完全确定它是否正确 - 包装扁平包装可能还有一些我不知道的相关原因。
-
@GordonDavisson。明白了谢谢