Удаление пакетов в Mac OS X
Как вы можете полностью удалить (удалить файлы, принадлежащие определенному пакету) в Mac OS X? Можно ли это сделать с помощью команды в терминале?
Я установил пакет.pkg на моем Mac, и мне интересно, как я могу удалить весь пакет без использования стороннего приложения, такого как UninstallPKG?
Мне интересно, нужны ли для удаления файлов.dmg сторонние приложения или можно ли их удалить, вводя команду в терминал?
Ответы
Ответ 1
Используйте эту команду в терминале для проверки списка пакетов и удаления ваших файлов.
$ 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
Скопировано здесь
Ответ 2
Я изменяю ответ @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 и этот пост.
Ответ 3
Концепция удаления PKG отсутствует в OS X. 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 и т.д.) С именем или именем приложения или имени пакета. Это один из способов сделать полное удаление.
DMG не являются файлами установщика. Это файлы образа диска. У него могут быть:.apps, pkg, mpkgs, другие файлы и т.д. То, что устанавливается, - это инсталляторы внутри DMG. DMG должен монтироваться, чтобы читать содержимое и удалять его, когда это делается.
http://osxdaily.com/2011/12/17/mount-a-dmg-from-the-command-line-in-mac-os-x/
Эта ссылка дает информацию о том, как монтировать DMG