mac并没有像win一样提供什么快捷删除方式,我们只能找到pkg安装后产生的文件,然后删除它。

方法一:

mac会维护一份pkg安装历史,只要找到那个文件夹,我们就可以搞定了。如osx 10.8以上系统,pkg历史安装列表在/private/var/db/receipts目录下:

cd /private/var/db/receipts
ls -l

列出该目录,可以看到类似如下内容:

-rw-r--r-- 1 root wheel xxx com.xxx.bom
-rw-r--r-- 1 root wheel xxx com.xxx.plist

找到.bom文件后,我们就可以使用以下命令找到安装的文件列表:

lsbom -pf com.xxx.bom

执行上述命令后,输出了类似以下内容:

/xxx.app
./xxx.app/Contents
./xxx.app/Contents/CodeResources
./xxx.app/Contents/Frameworks
...

以上找到的这些文件,就是安装pkg的时候产生的文件,这些文件删除了就搞定。

方法二:

方式一虽然可行,但是很多人都抱怨没找到pkg安装历史列表目录(确实不同版本的系统,目录是不一样的),那有没有更自动一点的呢?

pkgutil命令这个时候就派上用场了。查看一下帮助:

man pkgutil # 或者直接pkgutil

看看有啥功能我们能用的:

Receipt Database Commands:
--pkgs, --packages List all currently installed package IDs on --volume
--pkgs-plist List all package IDs on --volume in plist format
...
--files PKGID List files installed by the specified package
...

我们先找一下我们要删除的pkg包名(以上述xxx为例):

pkgutil --pkgs | grep -i xxx

看一下输出了啥:

com.xxx

现在就可以找出xxx pkg到底装了哪些文件:

pkgutil --file com.xxx

终端输出的结果:

xxx.app
xxx.app/Contents
xxx.app/Contents/CodeResources
xxx.app/Contents/Frameworks
...

把这些文件删了应该就算卸载完毕。

但是上述方法都是有一定技术基础的,所以风险并存。

方式三:

使用第三方成熟的卸载工具,如uninstallpkg、cleanmymac等,新人推荐。