9

如何在不挂载的情况下提取 DMG 的内容?我想将自动更新系统添加到我的应用程序中。它从网站下载 DMG,然后从中提取新版本的应用程序。

4

3 回答 3

10

一些.dmg文件可以使用7-zip解压。

$ 7z x your.dmg
$ ls
your.dmg
0.MBR
1.Primary GPT Header
2.Primary GPT Table
3.free
4.hfs
5.free
6.Backup GPT Table
7.Backup GPT Header

...并在提取4.hfs文件后:

$ 7z x 4.hfs

...您将获得.dmg文件的内容。

您还可以使用命令(Homebrew Cask.dmg也使用该命令)在 Mac OS X 中安装。hdiutil

有关 Linux 上的更多用例,请参阅此 Ask Ubuntu 问题

于 2015-02-21T03:43:22.167 回答
0

Dmg 只是用于 MacOS 的一种格式。它是一种未压缩的文件格式,例如ziptar.gz 您有多种选择来安装它。这里有一些选项。

  1. 双击它以安装它。
  2. 用于hdiutil attach your.dmg挂载 dmg 文件。在它上面挂载之后,操作你的命令行来提取你想要的文件。
于 2018-07-18T13:18:33.197 回答
-6

这样做与 DMG 的设计背道而驰,因此非常痛苦。DMG 设计为可安装的,这就是它们存在的全部理由。如果你想做这样的事情,你需要依赖实验代码。使用非 DMG 存档(如 zip 文件)或让您的自动更新过程下载、安装卸载您提供的 DMG 文件可能会更好地为您服务。

于 2012-07-27T23:11:45.150 回答