.dmg是虚拟磁盘镜像,需拖拽.app至“应用程序”文件夹,无需管理员权限;.pkg是系统级安装包,需运行向导并输入管理员密码;.app是即用型程序包,直接拖入“应用程序”即可运行。

Mac 上常见的安装文件就三种:.dmg、.pkg 和 .app,它们不是随便起的后缀,各自承担不同角色。搞清区别,安装不踩坑,卸载也不留垃圾。
.dmg 是“虚拟U盘”,只负责安全送达
.dmg 文件本质是磁盘镜像,就像一张可挂载的虚拟光盘或U盘。它本身不安装任何东西,只是把软件(通常是 .app)打包保护起来,防止传输损坏,也方便签名验证。
- 双击后自动挂载,弹出 Finder 窗口,里面能看到一个或多个图标
- 你要做的只是把其中的 .app 文件拖进「应用程序」文件夹(不是双击运行!)
- 全程无需管理员密码,也不修改系统目录,权限要求低
- 装完记得右键推出这个挂载卷,再把原 .dmg 文件删掉,避免桌面堆积
.pkg 是“系统级安装器”,能改系统底层
.pkg 不是程序,而是一套安装指令包。它由 Apple Installer.app 解析执行,能往 /usr、/Library、/System 等受保护路径写入文件,也能注册启动项、安装字体、部署命令行工具或驱动。
- 双击后启动图形化向导,需点击“继续”“安装”,最后输入管理员密码授权
- 安装过程可能包含 preinstall/postinstall 脚本,比如检查系统版本、备份旧配置
- 常见于开发工具(Xcode Command Line Tools)、企业软件、打印机驱动、系统补丁
- 不能右键“显示包内容”找主程序——它压根没“主程序”,只有安装逻辑
.app 是“即用型程序包”,不是安装包
.app 后缀看着像安装文件,其实它已经是完整可运行的应用了。它是个特殊目录(Bundle),内部有可执行文件、图标、资源、配置等,macOS 直接识别并加载。
- 直接拖进「应用程序」就能用,无需额外安装步骤
- 双击 .app 是启动程序,不是“安装”——误操作只会打开应用,不会部署到系统
- 卸载简单:把它从「应用程序」里拖进废纸篓即可(部分软件会残留偏好设置,可手动清理 ~/Library/Preferences/ 下对应 plist)
- App Store 下载的 App 也是 .app,只是由系统后台静默完成复制和签名验证
怎么一眼分辨该怎么做?
看后缀+看行为:
- 下载下来是 .dmg → 挂载 → 找 .app → 拖进「应用程序」
- 下载下来是 .pkg → 双击 → 跟向导走 → 输密码 → 完事
- 下载下来直接是 .app(少见,多见于开发者分发)→ 拖进「应用程序」,或右键“显示简介”确认已启用来源
别把 .dmg 当软件点开就完事,也别对 .pkg 右键“显示包内容”找 exe——它们的设计逻辑完全不同。











