簡體   English   中英

在 Mac OS X 中卸載軟件包

[英]Uninstall packages in Mac OS X

如何在 Mac OS X 中完全卸載(刪除屬於某個包的文件)? 這可以使用終端中的命令來完成嗎?

我已經在我的 Mac 上安裝了 a.pkg package,我想知道如何在不使用 UninstallPKG 等第三方應用程序的情況下卸載整個 package?

我想知道卸載.dmg 文件是否還需要第三方應用程序,或者是否可以在終端中輸入命令來卸載它們?

在終端中使用此命令檢查包列表和卸載的文件。

$ 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

這里復制(原始的Wayback Machine快照)

我正在修改@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 手冊頁這篇文章

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 上可用的卸載/清理應用程序很少。他們中的大多數使用應用程序名稱/pkg 名稱或包標識符在已知目錄(如 /Library/Preferences、/Library/Application Support 等)中進行搜索。 這是進行完全刪除的一種方法。

DMG 不是安裝程序文件。 它們是磁盤映像文件。 它可以反過來擁有 .apps、pkg、mpkgs、其他文件等。安裝的是 DMG 中的安裝程序。 必須掛載 DMG 才能讀取內容並在完成后卸載。

http://osxdaily.com/2011/12/17/mount-a-dmg-from-the-command-line-in-mac-os-x/

此鏈接提供有關如何安裝 DMG 的信息

如果您使用 Brew 列出所有已安裝的軟件包

brew list 

brew ls -lt (這個命令你得到時間和日期)

brew uninstall <the-package-name> ( This will uninstall your package) 

如果你想要所有的包,包括 out brew 命令使用

pkgutil --pkgs 

目視檢查文件列表后,您可以執行以下操作:

pkgutil --pkg-info the-package-name.pkg (檢查位置)cd /(假設 package 植根於 /...)

此命令將刪除您的文件包 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 | 尾-r | tr '\n' '\0' | xargs -n 1 -0 須藤 rmdir

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM