Answers:
https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X介绍了如何使用native卸载.pkg pkgutil
。
修改摘录
$ pkgutil --pkgs # list all installed packages
$ pkgutil --files the-package-name.pkg # list installed files
目视检查文件列表后,您可以执行以下操作:
$ pkgutil --pkg-info the-package-name.pkg # check the location
$ cd / # assuming the package is rooted at /...
$ pkgutil --only-files --files the-package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 sudo rm -f
$ pkgutil --only-dirs --files the-package-name.pkg | tail -r | tr '\n' '\0' | xargs -n 1 -0 sudo rmdir
不用说,在删除具有root特权的文件时应格外小心。特别是,请注意某些软件包可能会更新共享的系统组件,因此,卸载它们实际上会通过删除必要的组件来破坏系统。
对于较小的软件包,在目视检查软件包文件列表后,仅手动删除文件可能更安全。
显然,曾经有一个--unlink
可用的选项pkgutil
,但是从Lion开始,它在手册页中没有提到。也许将其删除是因为它被认为太危险了。
卸载文件后,可以通过以下方式删除收据:
$ sudo pkgutil --forget the-package-name.pkg
rmdir
(该命令不会删除非空目录),并用于tail -r
以更好的顺序列出它们。
内置于系统中,没有使用卸载程序来卸载文件的选项,因此您可以自己创建卸载程序,也可以手动删除文件。
确定已安装哪些文件的最佳方法是.pkg
尽可能保留原始文件。如果不可能,您也可以使用收据代替/Library/Receipts
。最大的问题是,当您处理.mpkg
包含多个.pkg
文件的时,您将不得不.pkg
在该文件夹中查找所有单独的文件(按日期排序并不是那么困难)。
获得.pkg
文件(接收文件或完整安装文件)后,可以使用实用程序创建卸载程序或查找文件,以便可以手动删除它们:
解除安装程式
Absolute Software InstallEase是一个免费程序,可以从现有.pkg文件创建卸载程序。制作卸载.pkg
程序文件(注意:您需要安装Apple的Developer Tools才能真正制作该.pkg
文件)
手动地
使用诸如Pacifist之类的程序或诸如Suspicious Package之类的QuickLook插件,您可以查看哪些文件已安装以及在什么位置。然后,您可以使用该列表手动导航到这些文件夹并删除文件。在发现InstallEase之前,我曾无数次使用这种方法,但是如果安装没有在很多地方进行,这种方法通常会更快。
.pkg
。您还没有OS X的程序和功能吗?
您还可以使用UninstallPKG(http://www.corecode.at/uninstallpkg/)卸载.pkg软件包。
[完整披露:是的,我是作者]
您可以尝试从以下站点获得建议:http : //www.entropy.ch/software/macosx/mysql/remove-old-mysql.html。另外,在Adobe支持网站上有一篇有关此的文章;这是链接:http : //support.adobe.com/devsup/devsup.nsf/docs/52355.htm。
此外,通常在dmg中具有pkg文件的应用程序通常还具有另一个pkg用于卸载。我不确定这里是否正确,但我想让您知道保留原始dmg文件。
我做了一个壳
你可以试试
https://github.com/iamrToday/pkg-remove
它显示了一个.gif演示,您可以看到源代码,只需包装brablc的命令行即可。您可以运行它来搜索信息,也可以删除apk。它是交互式的。
rmdir
代替rm -r
; 您还可以使用tac
或tail -r
反转目录名称列表,以便以正确的顺序删除目录