问题标签 [hdiutil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
211 浏览

macos - 我可以在磁盘映像打开时修改它,但不能“保存更改”吗?

我有一个脚本,可以在其中创建 SD 卡的磁盘映像hdiutil,然后安装该磁盘映像。然后,我将扩展属性写入内部文件,xattr并将它们重要到程序中。有什么办法可以逆转这些xattr写入,以便在我卸载图像时它们不会保存?理想情况下,我会保留 SD 卡的原始副本以进行存档。有没有办法挂载磁盘映像,更改里面的文件,然后卸载它并且这些更改没有“保存”?由于时间原因,我试图避免两次复制 SD 卡。

0 投票
1 回答
74 浏览

macos - 如何正确使用 hdutils 在(Travis)OSX VM 上创建 DMG

您好,我有一个脚本可以创建一个 MacOSX 图像,然后将内容复制到其中。该脚本经过测试并且运行良好,直到我尝试在 Travis 构建中实现它。这就是事情变得有趣的地方。感兴趣的代码如下:

这失败了,因为我在 VM 中工作并且 /Volumes 目录不被 VM 共享。如果我尝试列出我得到的目录:

即使 hdiutil 命令没有失败并且实际上很高兴地报告:

我怎样才能解决这个问题?也许安装在不同的安装点?

0 投票
0 回答
369 浏览

swift - 使用 Process 使用 hdiutil 创建 DMG

我正在玩Process()并试图让它在我的桌面上创建一个 DMG。

我正在尝试的代码是:

terminal("create", "size 50m" ,"fs HFS+" , "volname test", "Users/me/Desktop")

但目前它会引发错误

hdiutil: create: Only one image can be created at a time.\nUsage:\thdiutil create <sizespec> [options] <imagepath>\n\thdiutil create -help\n

我想我解析参数的方式有问题,但不确定是什么。

谢谢你的帮助!

更新:

我认为也许它将论点视为单独的电话?返回的错误顶部为

["create", "size 50m", "fs HFS+", "/Users/me/Desktop/test.dmg"] hdiutil: create: Only one image can be created at a time.

我把-后面的论点放进去,但现在它说 hdiutil: create: unknown option "-size 50M"。绝对与参数的格式有关,但我认为似乎是正确的?

0 投票
0 回答
107 浏览

macos - `appdmg` 工具在 Mac OSX 10.15 中经常失败

我正在使用appdmg https://www.npmjs.com/package/appdmg创建 dmg。

在 OSX 10.15 中它经常失败,我收到以下错误

我应该怎么做才能解决这个问题?

0 投票
1 回答
248 浏览

macos - 如何在 MacOS 中使用终端创建动态(可增长)DMG 文件

我想创建动态(可增长的)dmg 文件。我知道稀疏捆绑适用于动态文件,但我想创建空白的动态 dmg 文件。我尝试了以下但没有奏效。有人可以帮忙吗!:

0 投票
1 回答
204 浏览

macos - 用 C 在 macOS 上挂载循环设备

如何在 C 中的 XNU/Darwin 上安装循环设备(类似于)?hdiutil attach

具体来说,我正在寻找 linux/loop.h 中的功能,但在 XNU 上。(我将在 iOS 上执行此操作,不要问;))

0 投票
1 回答
237 浏览

macos - curl下载损坏的DMG图像的问题

我正在尝试创建一种自动下载多个应用程序并安装它们的方法,但我似乎在第一个障碍时遇到了麻烦。我可以毫无问题地下载和安装 .pkg 文件,但是当涉及 .dmg 文件时,我收到“无法识别图像”错误。这是我遇到问题的命令行:

DMG 文件在 Safari 中下载并打开时没有问题,但在终端中使用 curl 每次都会给我同样的问题。这是我的错误:

任何帮助将不胜感激!

0 投票
1 回答
285 浏览

macos - 如何在没有 hdiutil flatten 和 unflatten 动词的 macOS 11.0 Big Sur 上将软件许可条款添加到磁盘映像

在 Mac 上,我正在尝试将软件许可条款添加到磁盘映像文件中,用户在安装磁盘映像之前必须同意该文件。我曾经能够使用 hdituil 的 flatten 和 unflatten 动词以及 Rez 来做到这一点(类似于这里的做法)。

但是,不推荐使用 Rez 和 flatten/unflatten 动词,并且 hdiutil flatten/unflatten 动词已从 macOS 11.0 Big Sur 中删除。我正在尝试找到一种在 macOS 11.0 上运行但运气不佳的不同方式来执行此操作的方法。我已经咨询了 IgnacioHR 最近对这个问题的回答。我认为他使用 .xml 文件和 hdiutil udifrez 的解决方案听起来很有希望;但是,我无法让终端接受执行此操作的命令。(它告诉我“没有指定图像”。)

根据此处所说的通过在磁盘映像之前包含一个空参数来修改我的命令后,终端接受我的命令但给了我另一个错误:“无法获取'mydiskimage.dmg'的资源叉:功能未实现(78) ”和“失败 - 功能未实现”。

我相信我得到了这个输出,因为我试图执行这个的磁盘映像以前是未展平的。要生成资源分叉,以前我只会展平磁盘映像,但现在我无法使用该选项。因此,仅使用现在在 macOS 11.0 上可用的内容,我如何将资源分支“恢复”到我的磁盘映像,以便我可以使用 udifrez 动词向其中添加许可条款 .xml 文件?

更新:我发现该命令仅在将其应用于压缩的磁盘映像时才有效。如果我这样做,那么该命令会完全按照我的预期将软件许可条款添加到我的磁盘映像中。但是,当尝试将其应用于标准的未压缩读/写磁盘映像时,该命令会失败。如果我记得以前,Rez 曾经能够将许可条款资源应用于未压缩的读/写磁盘映像,这就是为什么我希望它能够在这里做到这一点。这并不能完全回答我的问题,尽管这可能意味着我的问题的答案是未压缩的读/写磁盘映像是不可能的。