一、macOS 中 .pkg 安装包的默认安装路径解析

在 macOS 系统中,.pkg 安装包通常遵循 Apple 的安装规范,但开发者也可以根据需要自定义路径。默认情况下,应用程序会被安装到以下目录之一:

/Applications:适用于用户级应用程序,如 Adobe、Microsoft Office 等。/Library/Application Support:用于存放应用程序的资源文件、配置文件或后台服务。/System/Library:系统级组件或框架,通常由 Apple 或受信任的软件安装。/Users/Shared:多用户共享的数据或临时文件。

然而,随着 macOS 版本的更新(如从 High Sierra 到 Ventura),Apple 对系统路径的权限控制越来越严格,尤其是 /System 分区在 macOS Catalina 之后被设为只读。

二、如何查找 .pkg 安装后的实际路径?

对于开发者或系统管理员来说,了解软件实际安装路径是排查问题或进行卸载的关键。以下是几种有效的方法:

查看安装日志:在安装过程中,macOS 会生成安装日志文件,通常位于:/var/log/install.log。使用命令行工具:通过 pkgutil 命令查看已安装的包信息:pkgutil --pkgs 或 pkgutil --files 。解压 .pkg 文件查看安装结构:使用 pkgutil --expand /tmp/package 解压安装包,查看其内部的 PackageInfo 文件。使用第三方工具:例如 Pacifist 或 Installer Log Viewer 可以直观查看安装路径。

三、macOS 不同版本对安装路径的影响

随着系统版本的演进,Apple 对系统路径的访问权限进行了加强,这对 .pkg 安装行为产生了直接影响:

macOS 版本主要变化影响路径建议处理方式High Sierra 及更早路径权限较宽松/System/Library, /usr可直接写入Mojave引入 SIP(系统完整性保护)/System, /usr需禁用 SIP 才能写入Catalina 及以后系统分区只读,引入 APFS 快照机制/System, /usr, /bin, /sbin应避免写入系统路径,建议使用 /Library 或 /Applications

四、排查安装失败或路径不可见的常见原因

当 .pkg 安装失败或安装路径不可见时,可能涉及以下原因:

权限不足:未以管理员身份运行安装程序。SIP 限制:尝试写入受保护路径。路径冲突:已有同名文件或目录存在。磁盘空间不足或文件系统损坏。安装脚本错误:自定义的 preinstall 或 postinstall 脚本执行失败。

五、彻底卸载 .pkg 安装的软件

由于 .pkg 安装包可能将文件分散到多个路径,手动卸载容易遗漏。以下是推荐做法:

使用 pkgutil --forget 删除注册信息。结合 find 命令搜索残留文件:find / -name "*software_name*" -type f -exec rm -f {} \;使用专业卸载工具,如 AppCleaner 或 CleanMyMac。

六、.pkg 安装路径分析的流程图

graph TD

A[开始安装 .pkg] --> B{是否成功?}

B -- 否 --> C[查看 /var/log/install.log]

B -- 是 --> D[使用 pkgutil 查询安装路径]

D --> E[确认文件是否写入正确路径]

E --> F{路径是否在受保护区域?}

F -- 是 --> G[检查 SIP 设置]

F -- 否 --> H[继续使用]

G --> I[临时禁用 SIP]

I --> J[重新安装]