48

Несмотря на мнения об обратном, не все пакеты установлены чисто в одном каталоге. Есть ли способ отменить процесс установки pkg-файла, желательно с оригинальным пакетом (или из хранилища информации об установленных пакетах)?

В частности, я установил пакет PowerPC MySQL 5.4.1 на Intel MacBook и хотел бы полностью изменить это, восстановив установку 5.1 x86, которую я вижу, все еще там, но сейчас она не работает должным образом.

6 ответов6

79

https://wincent.com/wiki/Uninstall_packages_(.pkg_files)_on_Mac_OS_X описывает, как удалить .pkg, используя собственный pkgutil .

Измененный отрывок

$ pkgutil --pkgs # list all installed packages
$ pkgutil --files the-package-name.pkg # list installed files

После визуальной проверки списка файлов вы можете сделать что-то вроде:

$ 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 -f
$ pkgutil --only-dirs --files the-package-name.pkg | tail -r | tr '\n' '\0' | xargs -n 1 -0 sudo rmdir

Излишне говорить, что при удалении файлов с правами суперпользователя всегда следует соблюдать особую осторожность. В частности, помните, что некоторые пакеты могут обновлять общие системные компоненты, поэтому их удаление может фактически сломать вашу систему, удалив необходимый компонент.

Для небольших пакетов, вероятно, безопаснее просто вручную удалить файлы после визуальной проверки списка файлов пакета.

Очевидно, когда-то в --unlink доступна опция pkgutil , но на Lion она не упоминалась на странице руководства. Возможно, он был удален, потому что считался слишком опасным.

После удаления файлов вы можете удалить квитанцию с помощью:

$ sudo pkgutil --forget the-package-name.pkg
18

Встроенная в систему опция удаления файлов с помощью деинсталлятора отсутствует, поэтому вы можете сделать деинсталлятор самостоятельно или удалить файлы вручную.

Лучший способ определить, какие файлы были установлены, - это получить оригинальный .pkg если это возможно. Если это невозможно, вы также можете использовать квитанции, которые можно найти в /Library/Receipts . Ваша самая большая проблема, когда вы имеете дело с .mpkg , который содержит несколько .pkg - файлы , как вы тогда должны найти все файлы .pkg - раздельные в этой папке ( к счастью , не так уж трудно , при сортировке по дате).

Если у вас есть файл .pkg (квитанция или файл полной установки), вы можете использовать утилиту для создания деинсталлятора или поиска файлов, чтобы вы могли удалить их вручную:

Uninstaller

Absolute Software InstallEase - бесплатная программа, которая может создавать деинсталляторы из существующих файлов .pkg. Создайте файл .pkg удаления (примечание: для создания файла .pkg вам понадобятся инструменты разработчика Apple).

Вручную

Используя такую программу, как Pacifist или плагин QuickLook, такой как Suspicious Package, вы можете посмотреть, какие файлы установлены и в каком месте. Используя этот список, вы можете вручную перейти к этим папкам и удалить файлы. Я лично использовал этот метод бесчисленное количество раз, прежде чем обнаружил InstallEase, но он все еще часто быстрее, если установка не распространяется во многих местах.

9

Вы также можете удалить пакеты .pkg с помощью UninstallPKG ( http://www.corecode.at/uninstallpkg/ )

[полное раскрытие: да, я автор]

4

В прошлом месяце я сделал то же колесо, оно называется Package Uninstaller, с открытым исходным кодом и размещено на github: https://github.com/hewigovens/PackageUninstaller,

Вы можете скачать и попробовать его здесь [здесь].(http://sourceforge.net/projects/packageuninstaller/files/latest/download)

1

Я сделал снаряд

можешь попробовать

https://github.com/iamrToday/pkg-remove

Он показывает демо .gif, вы можете увидеть исходный код, просто оберните командную строку brablc . Вы можете запустить его для поиска информации, вы также можете удалить apk. Это интерактивно.

1

Вы можете попробовать предложения с этого сайта: http://www.entropy.ch/software/macosx/mysql/remove-old-mysql.html. Кроме того, на сайте поддержки Adobe есть статья об этом; вот ссылка: http://support.adobe.com/devsup/devsup.nsf/docs/52355.htm.

Кроме того, приложения, которые обычно имеют файл pkg в dmg, обычно также имеют другой pkg, который используется для удаления. Я не уверен, правда ли это, но я хотел, чтобы вы сохранили исходный файл dmg.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .