首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Mac OS X中卸载软件包

在Mac OS X中卸载软件包
EN

Stack Overflow用户
提问于 2014-09-19 11:10:01
回答 3查看 81K关注 0票数 47

如何在Mac OS X中完全卸载(删除属于某个包的文件)?在终端中使用命令可以做到这一点吗?

我已经在我的苹果电脑上安装了一个.pkg包,我想知道如何在不使用UninstallPKG等第三方应用程序的情况下卸载整个包?

我想知道卸载.dmg文件是否也需要第三方应用程序,或者是否可以在终端中输入命令来卸载它们?

EN

回答 3

Stack Overflow用户

发布于 2014-12-18 19:59:20

在终端中使用此命令可以查看包列表并卸载您的文件。

代码语言:javascript
运行
复制
$ pkgutil --pkgs # list all installed packages

卸载文件后,您可以使用以下命令删除收据:

代码语言:javascript
运行
复制
$ sudo pkgutil --forget the-package-name.pkg

在直观地检查文件列表之后,您可以执行以下操作:

代码语言:javascript
运行
复制
$ 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,您不希望删除

代码语言:javascript
运行
复制
$ pkgutil --only-dirs --files the-package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 sudo rm -ir

here复制(the original的回路机快照)

票数 39
EN

Stack Overflow用户

发布于 2017-02-09 01:56:35

我正在修改@karthikeyan的答案,这对我不起作用。

在命令行中,使用以下命令查找所需的包名:

代码语言:javascript
运行
复制
$ pkgutil --pkgs | grep -i {keyword} | less

其中,{keyword}是您希望在包名中看到的字符串。

要查找包位置(所有文件清单将与之相关的根目录),请使用

代码语言:javascript
运行
复制
$ pkgutil --pkg-info package-name.pkg

使用此命令可列出软件包的已安装文件:

代码语言:javascript
运行
复制
$ pkgutil --files package-name.pkg

在直观地检查文件列表之后,您可以执行类似以下操作来删除它们:

代码语言:javascript
运行
复制
$ 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也应该是安全的,因为它只删除空目录。但是有些人需要调整命令行,所以最好清楚一点!)

代码语言:javascript
运行
复制
$ pkgutil --only-dirs --files package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 -p sudo rmdir

卸载文件后,您可以删除该软件包的系统记录:

代码语言:javascript
运行
复制
$ sudo pkgutil --forget package-name.pkg

资料来源:pkgutil man pagethis post

票数 27
EN

Stack Overflow用户

发布于 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的信息

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25925752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档