首页 > 代码库 > mac中如何卸载pkg包

mac中如何卸载pkg包

一、问题背景

在mac中,安装程序有dmg和pkg两种形式。对于dmg,直接在应用程序中删除即可,但是pkg包却没有如此方便。需要通过命令行进行删除。
Mac OS X 10.9.2

二、解决方案


1、打开“应用程序”->“实用工具(Utilities)”->“终端(Terminal)”。
2、使用"pkgutil --pkgs"命令,列出安装了的pkg包。
com.apple.pkg.IncompatibleKextConfigData.3-15
com.apple.pkg.iPhoto_AppStore
com.apple.pkg.iTunesAccess
com.apple.pkg.iTunesX
com.apple.pkg.iTunesXPatch
com.apple.pkg.JavaEssentials
com.apple.pkg.JavaForMacOSX107
com.apple.pkg.JavaMDNS
com.apple.pkg.JavaSecurity
com.apple.pkg.JavaTools
com.apple.pkg.Keynote6



如图,我们安装了JavaForMacOSX107,假设我们想卸载,那么继续以下步骤。

3、使用"cd /private/var/db/receipts","ls"命令,列出所有的*.bom和*.plist文件。

com.apple.pkg.JavaEssentials.bom
com.apple.pkg.JavaEssentials.plist
com.apple.pkg.JavaForMacOSX107.bom
com.apple.pkg.JavaForMacOSX107.plist
com.apple.pkg.JavaMDNS.bom
com.apple.pkg.JavaMDNS.plist
com.apple.pkg.JavaSecurity.bom
com.apple.pkg.JavaSecurity.plist
com.apple.pkg.JavaTools.bom
com.apple.pkg.JavaTools.plist
com.apple.pkg.Keynote6.bom



如图,com.apple.pkg.JavaForMacOSX107.bom记录了这个包所有的关联文件。

4、使用"lsbom com.apple.pkg.JavaForMacOSX107.bom",查看所有关联文件。

.	40755	0/0
./System	40755	0/0
./System/Library	40755	0/0
./System/Library/Java	40755	0/0
./System/Library/Java/JavaVirtualMachines	40755	0/0
./System/Library/Java/JavaVirtualMachines/1.6.0.jdk	40755	0/0
./System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents	40755	0/0
./System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes	40755	0/0
./System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/alt-rt.jar100644	0/0	123448	2146194501
./System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/alt-string.jar	100644	0/0	42031	862452543
./System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar	100644	0/0	3515769	438110220
./System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.ja100644	0/0	31193251	1347176735
./System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/dt.jar	120755	0/0	18	3676296750	../Home/lib/dt.jar
./System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jce.jar	120755	0/0	19	925190531	../Home/lib/jce.jar
./System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jconsole.jar	120755	0/0	24	3933942479	../Home/lib/jconsole.jar

如图,此包的文件主要在/System/Library/Java/JavaVirtualMachines/1.6.0.jdk文件夹中,只要删除此文件夹即可。

5、进入/System/Library/Java/JavaVirtualMachines文件夹,执行"sudo rm -r 1.6.0.jdk"命令。
6、整个pkg删除完成。

三、注意

第5步,sudo需要输入管理员密码,此密码必须要设置。
在“系统偏好设置”->“用户与群组”中设置管理员密码。


也可使用开源的统一卸载方式
https://github.com/mpapis/pkg_uninstaller