如何在Mac OS X中完全卸载(删除属于某个包的文件)?在终端中使用命令可以做到这一点吗?
我已经在我的苹果电脑上安装了一个.pkg包,我想知道如何在不使用UninstallPKG等第三方应用程序的情况下卸载整个包?
我想知道卸载.dmg文件是否也需要第三方应用程序,或者是否可以在终端中输入命令来卸载它们?
发布于 2014-12-18 19:59:20
在终端中使用此命令可以查看包列表并卸载您的文件。
$ pkgutil --pkgs # list all installed packages
卸载文件后,您可以使用以下命令删除收据:
$ sudo pkgutil --forget the-package-name.pkg
在直观地检查文件列表之后,您可以执行以下操作:
$ 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 -i
注意最后这一步。pkgutil --files
输出的目录列表可以包括重要的共享目录,如usr
,您不希望删除。
$ pkgutil --only-dirs --files the-package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 sudo rm -ir
从here复制(the original的回路机快照)
发布于 2017-02-09 01:56:35
我正在修改@karthikeyan的答案,这对我不起作用。
在命令行中,使用以下命令查找所需的包名:
$ pkgutil --pkgs | grep -i {keyword} | less
其中,{keyword}是您希望在包名中看到的字符串。
要查找包位置(所有文件清单将与之相关的根目录),请使用
$ pkgutil --pkg-info package-name.pkg
使用此命令可列出软件包的已安装文件:
$ pkgutil --files package-name.pkg
在直观地检查文件列表之后,您可以执行类似以下操作来删除它们:
$ cd / # assuming the package location is /
$ pkgutil --only-files --files package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 -p sudo rm
注意下一步(最后一步)的,它将删除目录。pkgutil --files
输出的目录列表可以包括重要的共享目录,如usr
,您不希望删除。-p
会使xargs
提示确认,但不要满足于触发器。(使用rmdir
也应该是安全的,因为它只删除空目录。但是有些人需要调整命令行,所以最好清楚一点!)
$ pkgutil --only-dirs --files package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 -p sudo rmdir
卸载文件后,您可以删除该软件包的系统记录:
$ sudo pkgutil --forget package-name.pkg
资料来源:pkgutil man page和this post。
发布于 2014-12-12 15:29:23
在OS X中没有PKG卸载的概念。PKG/MPKG可以有一些与之相关的安装前和安装后脚本。在PKG脚本中执行的操作始终取决于PKG创建者。作为一个门外汉,我们不能继续卸载一个PKG。
但与此同时,有一些命令行可以对PKG文件进行完全的逆向工程。它可以提取脚本和其他相关信息。下面的链接将为您提供一些信息
http://s.sudre.free.fr/Stuff/Ivanhoe/FLAT.html http://www.mactech.com/articles/mactech/Vol.26/26.02/TheFlatPackage/index.html
在OS X上有几个可用的卸载/清理应用程序。它们中的大多数在已知目录(如/Library/Preferences、/Library/Application Support等)中使用应用程序名称/pkg名称或捆绑包标识符进行搜索。这是一种完全删除的方法。
DMG不是安装程序文件。它们是磁盘映像文件。它可以反过来有.apps,pkg,mpkgs,其他文件等。安装的是DMG内部的安装程序。必须挂载DMG才能读取内容,并在完成后卸载。
http://osxdaily.com/2011/12/17/mount-a-dmg-from-the-command-line-in-mac-os-x/
此链接提供有关如何挂载DMG的信息
https://stackoverflow.com/questions/25925752
复制相似问题