需用pkgutil在终端精确识别清理.pkg安装包:一、pkgutil --pkgs列所有包;二、pkgutil --files查文件路径;三、pkgutil --pkg-info看元信息;四、用lsbom解析bom文件手动删除;五、可用pkg_uninstaller工具批量安全卸载。
如果您在Mac上通过.pkg文件安装了软件,但系统未提供图形化卸载入口,则需依赖终端工具pkgutil进行精确识别与清理。以下是使用pkgutil管理pkg安装包的详细操作步骤:
一、列出所有已安装的pkg包
pkgutil命令通过读取系统数据库中的安装收据(receipts)来枚举所有以pkg方式安装的软件包,这些信息存储在/private/var/db/receipts目录下,是后续定位和清理的基础。
1、打开“应用程序”→“实用工具”→“终端”。
2、输入以下命令并回车:
pkgutil --pkgs。
3、终端将输出全部已注册pkg包的标识符,例如com.apple.pkg.JavaForMacOSX107或org.python.pkg.Python39。
二、查看指定pkg包的安装文件路径
每个pkg包在安装时会记录其写入的所有文件路径,通过bom(bill of materials)文件可还原完整安装清单,从而避免遗漏残留文件。
1、确认目标pkg包标识符(如com.example.app.pkg)。
2、执行命令:
pkgutil --files com.example.app.pkg。
3、若需过滤关键路径,可追加管道命令,例如:
pkgutil --files com.example.app.pkg | grep -E "(Library|Applications|bin)"。
三、获取pkg包的元信息与版本详情
pkgutil支持查询安装包的版本号、安装时间、架构类型等元数据,有助于识别重复、冲突或过期版本。
1、运行命令:
pkgutil --pkg-info com.example.app.pkg。
2、输出内容包含package-id、version、install-time、volume等字段,其中install-time为Unix时间戳格式。
Codex Mac Codex Mac 官方桌面版本深度适配 macOS 系统,具备强大的原生应用操控能力。它支持“锁屏操作(Locked Computer Use)”,能在电脑锁屏状态下后台自动执行任务;配合“目标模式(Goal Mode)”,可跨会话自主规划并完成复杂的长周期工程。安装后登录 ChatGPT 账号,即可体验从编码、调试到跨软件自动化的全链路智能开发工作流。
下载
3、如需转换时间戳为可读格式,可配合date命令:
date -r 1609459200(将1609459200替换为实际时间戳)。
四、手动删除pkg包关联的所有文件
mac OS不提供自动卸载机制,必须依据bom文件逐条删除文件。该方法精准但需谨慎操作,避免误删系统文件。
1、进入收据目录:
cd /private/var/db/receipts。
2、查找对应bom文件:
ls *.bom | grep com.example.app。
3、解析bom并生成删除命令:
lsbom -pf com.example.app.pkg.bom | sudo xargs -I {} rm -rf "{}"。
4、同步删除对应的plist收据文件:
sudo rm -f com.example.app.pkg.plist。
五、使用pkg_uninstaller工具批量卸载
pkg_uninstaller是一个开源脚本工具,封装了pkgutil与lsbom逻辑,支持交互式确认与安全模式,降低手动误操作风险。
1、通过Homebrew安装:
brew install pkg-uninstaller。
2、列出可卸载包:
pkg_uninstaller --list。
3、执行卸载(含预览):
pkg_uninstaller --dry-run com.example.app.pkg。
4、确认无误后执行真实卸载:
pkg_uninstaller com.example.app.pkg。
