Удаление пакетов в 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