Как удалить pkg mac os

Oh, MSBRO !

Сетевые заметки системного администратора

Удаление программ в Mac OS установленных из пакетов .pkg

Мак ОС и установщики

Каждый, кто пересаживался на Mac OS был приятно удивлён, что во многих случаях установка программ на этой операционке сводится к простому «Перетащить программу в папку “Программы“» и всё. Дальше просто кликаешь по ней и она запускается. Я получал массу удовольствия от такого простого, дружелюбного и понятного подхода. Я чётко понимал: где я положил программу, там я её удалю и она попросту исчезнет. Лепота, да и только. Наверно многие были наслышаны о таком славном подходе в макоси. Но увы (или к счастью) нет ничего идеального и программы бывает нужно устанавливать и на маке, в полном смысле этого слова.

Меня это немного разочаровало в своё время, но до недавних пор это как-то не вызывало особых проблем, т.к. я пользовался нормальным софтом, который обычно поставлял с собой скрипты-деинсталляторы для .pkg пакетов. Но вот я решил установить программу FontForge для редактирования шрифтов, которая изначально разрабатывалась под идеологию linux и это моментально принесло с собой неразберху — FontForge.pkg начал методично размазывать себя по всевозможным папкам вместо того, чтобы попросту расположиться в «/Applications/FontForge.app». Что ещё более усложнило ситуацию — у FontForge отсутствовал какой-либо деинсталлятор. Когда пришло время удалить FontForge я задался вполне резонным вопросом: как же всё же по-человечески удалить программу установленную из .pkg, которая не предлагает полноценного деинсталлятора? Я бы и руками был согласен всё почистить, но я попросту не знал куда pkg раскидал файлы по диску.

Теория

Поискав по мануалам я нашёл более-менее порядочный способ. Для этого приходится перейти на уровень консоли чтобы выполнить удаление этой и подобно установленных программ. Делется это при помощи консольной утилиты lsbom.

Так повелось, что основная часть данных об уже установленных пакетах, начиная с Mac OS 10.6, лежат в папке «/var/db/receipts/» в виде .bom (bill of materials) файлов. Часть же пакетов (с bom файлами внутри) лежат в старом месте «/Library/Receipts/» — это основное место для предыдущих версий mac os. Поскольку в версиях mac os до 10.6 файлы bom могли лежать в пакетах, то выглядело (и выглядит) это примерно так:

Источник

Как удалить файл пакета Apple pkg?

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

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

Модифицированная выдержка

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

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

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

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

Читайте также:  Основные компоненты windows live можно ли удалить

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

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

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

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

Uninstaller

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

Вручную

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

Источник

Удаление программ в Mac OS установленных из пакетов .pkg

Мак ОС и установщики

Каждый, кто пересаживался на Mac OS был приятно удивлён, что во многих случаях установка программ на этой операционке сводится к простому «Перетащить программу в папку “Программы“» и всё. Дальше просто кликаешь по ней и она запускается. Я получал массу удовольствия от такого простого, дружелюбного и понятного подхода. Я чётко понимал: где я положил программу, там я её удалю и она попросту исчезнет. Лепота, да и только. Наверно многие были наслышаны о таком славном подходе в макоси. Но увы (или к счастью) нет ничего идеального и программы бывает нужно устанавливать и на маке, в полном смысле этого слова.

Меня это немного разочаровало в своё время, но до недавних пор это как-то не вызывало особых проблем, т.к. я пользовался нормальным софтом, который обычно поставлял с собой скрипты-деинсталляторы для .pkg пакетов. Но вот я решил установить программу FontForge для редактирования шрифтов, которая изначально разрабатывалась под идеологию linux и это моментально принесло с собой неразберху — FontForge.pkg начал методично размазывать себя по всевозможным папкам вместо того, чтобы попросту расположиться в «/Applications/FontForge.app». Что ещё более усложнило ситуацию — у FontForge отсутствовал какой-либо деинсталлятор. Когда пришло время удалить FontForge я задался вполне резонным вопросом: как же всё же по-человечески удалить программу установленную из .pkg, которая не предлагает полноценного деинсталлятора? Я бы и руками был согласен всё почистить, но я попросту не знал куда pkg раскидал файлы по диску.

Теория

Поискав по мануалам я нашёл более-менее порядочный способ. Для этого приходится перейти на уровень консоли чтобы выполнить удаление этой и подобно установленных программ. Делется это при помощи консольной утилиты lsbom.

Так повелось, что основная часть данных об уже установленных пакетах, начиная с Mac OS 10.6, лежат в папке «/var/db/receipts/» в виде .bom (bill of materials) файлов. Часть же пакетов (с bom файлами внутри) лежат в старом месте «/Library/Receipts/» — это основное место для предыдущих версий mac os. Поскольку в версиях mac os до 10.6 файлы bom могли лежать в пакетах, то выглядело (и выглядит) это примерно так:

Читайте также:  Cobian backup windows 2012

Начиная с 10.6, bom фалы в основном можно найти так:

Как уже наверно можно было догадаться, bom файл содержит данные о том, что было записано в файловую систему при инсталляции определённого пакета.

Практика

Наконец сами команды удаления установленного пакета с комментариями:
# Удаляем все файлы пакета:
# lsbom -fls выводит список файлов и символических ссылок созданных пакетом
# cd / — переходит в корень, т.к. все файлы в списке начинаются с «.»
# затем список файлов через xargs передаётся в rm, который запускается от имени root
lsbom -fls /var/db/receipts/AppName.bom | (cd /; sudo xargs rm)

# Удаляем все пустые папки аналогичным подходом.
lsbom -dls /var/db/receipts/AppName.bom | (cd /; sudo xargs rmdir -p)
# Удаляем файлы оставшиеся от установщика
sudo rm AppName.bom AppName.plist

Возможные проблемы

Надо быть очень осторожным с этими командами т.к. они во-первых выполняются от имени root, а во-вторых в корне файловой системы. Перед подобным удалением установленного пакета лучше убедитесь, что lsbom в списке файлов случайно не укажет какой-нибудь путь, который будучи удалённым из корня приведёт к удалению системных файлов. Так же не пробуйте удалять системные пакеты от Apple — у вас начнутся проблемы с обновлением и ещё бог весть с чем.

Я конечно же знаю про стороннюю утилиту PackageAssistant, которая позволяет управлять пакетами в системе, но последнее обновление у неё датируется 2008 годом. Анализ её исходников мною только подтверждает, что она не подходит для Mac OS 10.6, поскольку ею обрабатываются bom файлы только пакетов лежащих в «/Library/Receipts», а это, как я уже говорил, применимо только до 10.6.

P.S.: Вообще всё это вопрос добросовестности программистов на чьей ответственности лежит разработка инсталлятора (особенно учитывая факт, что Apple не предоставляет штатных gui средств для работы с установленными пакетами). Под остальными системами так же хватает безответственных программ, после которых систему можно сутками вычищать от хлама. От этого ни одна система не застрахована.

UPD: Как мне подсказали в каментах, можно так же воспользоваться другой консолной утилитой (она тоже не 100% панацея, но можно оба способа пробовать):

Источник

Как удалить файл пакета Apple pkg?

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

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

6 ответов

https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X описывает, как удалить .pkg с использованием native pkgutil . Я успешно выполнил его, чтобы удалить Midnight Commander.

Модифицированная выдержка

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

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

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

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

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

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

Читайте также:  Linux count rows in file

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

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

Uninstaller

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

Вручную

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

Источник

Oh, MSBRO !

Сетевые заметки системного администратора

Удаление программ в Mac OS установленных из пакетов .pkg

Мак ОС и установщики

Каждый, кто пересаживался на Mac OS был приятно удивлён, что во многих случаях установка программ на этой операционке сводится к простому «Перетащить программу в папку “Программы“» и всё. Дальше просто кликаешь по ней и она запускается. Я получал массу удовольствия от такого простого, дружелюбного и понятного подхода. Я чётко понимал: где я положил программу, там я её удалю и она попросту исчезнет. Лепота, да и только. Наверно многие были наслышаны о таком славном подходе в макоси. Но увы (или к счастью) нет ничего идеального и программы бывает нужно устанавливать и на маке, в полном смысле этого слова.

Меня это немного разочаровало в своё время, но до недавних пор это как-то не вызывало особых проблем, т.к. я пользовался нормальным софтом, который обычно поставлял с собой скрипты-деинсталляторы для .pkg пакетов. Но вот я решил установить программу FontForge для редактирования шрифтов, которая изначально разрабатывалась под идеологию linux и это моментально принесло с собой неразберху — FontForge.pkg начал методично размазывать себя по всевозможным папкам вместо того, чтобы попросту расположиться в «/Applications/FontForge.app». Что ещё более усложнило ситуацию — у FontForge отсутствовал какой-либо деинсталлятор. Когда пришло время удалить FontForge я задался вполне резонным вопросом: как же всё же по-человечески удалить программу установленную из .pkg, которая не предлагает полноценного деинсталлятора? Я бы и руками был согласен всё почистить, но я попросту не знал куда pkg раскидал файлы по диску.

Теория

Поискав по мануалам я нашёл более-менее порядочный способ. Для этого приходится перейти на уровень консоли чтобы выполнить удаление этой и подобно установленных программ. Делется это при помощи консольной утилиты lsbom.

Так повелось, что основная часть данных об уже установленных пакетах, начиная с Mac OS 10.6, лежат в папке «/var/db/receipts/» в виде .bom (bill of materials) файлов. Часть же пакетов (с bom файлами внутри) лежат в старом месте «/Library/Receipts/» — это основное место для предыдущих версий mac os. Поскольку в версиях mac os до 10.6 файлы bom могли лежать в пакетах, то выглядело (и выглядит) это примерно так:

Источник

Оцените статью