Skip to content Skip to footer

macOS 使用 hdiutil 安装 .dmg 软件包 | 完整指南

1. 什么是 hdiutil?

hdiutil 是 macOS 自带的命令行工具,用于管理磁盘镜像(如 .dmg 文件)。通过它,可以挂载、卸载、转换或验证磁盘镜像,无需图形界面即可完成软件安装。

2. 安装步骤

步骤 1:下载 .dmg 文件

从官网获取软件的 .dmg 文件(如 Firefox):

cd ~/Downloads

curl -LO https://download.mozilla.org/?product=firefox-latest&os=osx&lang=zh-CN -o Firefox.dmg

步骤 2:挂载 .dmg 文件

hdiutil attach Firefox.dmg

输出示例:

/dev/disk2s1 /Volumes/Firefox

镜像挂载到 /Volumes/Firefox。

步骤 3:复制 .app 到应用目录

cp -R "/Volumes/Firefox/Firefox.app" ~/Applications/

无管理员权限时:安装到用户目录 ~/Applications(需提前创建):

mkdir -p ~/Applications

步骤 4:卸载 .dmg

hdiutil detach /Volumes/Firefox

步骤 5:运行软件

open ~/Applications/Firefox.app

首次运行:右键选择 打开 绕过 macOS 安全限制。

3. 完整脚本示例

#!/bin/zsh

# 下载 .dmg

curl -LO https://download.mozilla.org/?product=firefox-latest&os=osx&lang=zh-CN -o Firefox.dmg

# 挂载并安装

hdiutil attach Firefox.dmg

cp -R "/Volumes/Firefox/Firefox.app" ~/Applications/

hdiutil detach /Volumes/Firefox

# 清理

rm Firefox.dmg

echo "Firefox 已安装到 ~/Applications/"

4. 常见问题解决

问题 1:挂载失败(权限不足)

错误:hdiutil: attach failed - Permission denied

解决:确保 .dmg 文件在用户目录下(如 ~/Downloads),而非系统目录。

问题 2:无法卸载 .dmg

强制卸载:

hdiutil detach /Volumes/Firefox -force

问题 3:软件无法运行(“已损坏”)

解除隔离属性:

xattr -d com.apple.quarantine ~/Applications/Firefox.app

5. 高级技巧

静默挂载(无图形界面)

hdiutil attach -nobrowse Firefox.dmg

查看已挂载的镜像

hdiutil info

转换 .dmg 为 .iso

hdiutil convert Firefox.dmg -format UDTO -o Firefox.iso

6. 为什么推荐 hdiutil?

无图形界面依赖:适合远程服务器或自动化脚本。

精准控制:可集成到 CI/CD 流程中。

避免双击安装的权限问题:尤其适合无管理员权限的场景。

7. 总结

步骤命令示例下载 .dmgcurl -LO URL -o 软件名.dmg挂载镜像hdiutil attach 软件名.dmg复制 .appcp -R /Volumes/镜像名/软件.app ~/Apps/卸载镜像hdiutil detach /Volumes/镜像名运行软件open ~/Apps/软件名.app

Copyright © 2088 2006年德国世界杯_世界杯歌曲凯歌 - lt795.com All Rights Reserved.
友情链接