# macOS 手动安装 DMG 软件并绕过 Gatekeeper 限制

前提条件

  • 已下载好的 .dmg 文件(例如 HexHub-1.3.1.dmg
  • 终端(Terminal)访问权限

步骤一:挂载 DMG 文件

打开终端,使用 hdiutil attach 命令挂载镜像:

hdiutil attach /path/to/your/file.dmg

示例(假设文件在下载文件夹):

hdiutil attach ~/Downloads/HexHub-1.3.1.dmg

执行后会显示挂载的卷标,例如:

/dev/disk4          	Apple_HFSX      	/Volumes/HexHub-1.3.1

记下卷标路径(例如 /Volumes/HexHub-1.3.1),后续步骤会用到。


步骤二:复制应用到应用程序文件夹

  1. 查看挂载卷中的内容(可选):

    ls /Volumes/HexHub-1.3.1
    

    确认应用名称(通常是 .app 结尾,例如 HexHub.app)。

  2. 复制应用到 /Applications

    cp -R "/Volumes/HexHub-1.3.1/HexHub.app" /Applications/
    

如果卷标名称包含空格或特殊字符,请使用双引号括起来。


步骤三:卸载 DMG 镜像

复制完成后,可以卸载镜像以释放资源:

hdiutil detach "/Volumes/HexHub-1.3.1"

如果提示“资源忙”无法卸载

可能的原因是终端当前工作目录仍在挂载卷内,或 Finder 正在使用该卷。

  • 解决方法 1:切换当前目录到其他位置:

    cd ~
    

    然后再次执行 hdiutil detach

  • 解决方法 2:使用 -force 强制卸载:

    hdiutil detach "/Volumes/HexHub-1.3.1" -force
    
  • 解决方法 3:通过磁盘标识符卸载:

    hdiutil info | grep -A 5 "HexHub"
    

    找到类似 /dev/disk5 的设备名,然后:

    hdiutil detach disk5 -force
    
  • 解决方法 4:重启 Finder(若 Finder 占用了卷):

    killall Finder
    

    然后重试卸载。


步骤四:移除隔离属性(关键)

macOS 会对从网上下载的应用添加“隔离”标记,导致双击无法打开。使用 xattr 命令移除该标记:

xattr -d com.apple.quarantine /Applications/HexHub.app

如果成功,命令不会有输出。如果提示 No such xattr,说明该应用本来就没有隔离标记,可以跳过此步骤。

验证隔离标记是否已移除(可选)

xattr /Applications/HexHub.app

正常情况应该不再显示 com.apple.quarantine


步骤五:打开应用

现在可以正常双击 /Applications/HexHub.app 启动。如果仍提示“无法打开”,可以尝试右键点击应用,选择“打开”,然后在弹出的对话框中确认“打开”。


常见问题

Q:安装后应用闪退或无法运行?

  • 确保已移除隔离标记。
  • 检查应用是否需要额外权限(例如辅助功能、完全磁盘访问),可在“系统设置 → 隐私与安全性”中授予。
  • 部分应用可能需要安装 Xcode 命令行工具或其他依赖。

Q:复制时提示“权限不足”?

  • 使用 sudo 提升权限:
    sudo cp -R "/Volumes/.../App.app" /Applications/
    
    但一般不需要,因为 /Applications 普通用户可写入。

Q:如何彻底删除手动安装的应用?

  • 直接删除 /Applications 中的 .app 即可:
    rm -rf /Applications/HexHub.app
    
posted @ 2026-03-30 13:21  染指未来  阅读(61)  评论(0)    收藏  举报