Тут хотелось бы добавить: "Я пробовал их все и все они сосут бестолковы по-своему".
Собственнно с целью разъяснения принципов и проблем установки и удаления программ в операционной системе Большого Яблока задуман небольшой цикл статей.
Итак, часть первая: "Добро пожаловать в реальный мир, Нео"
В общем случае при установке программ встречаются три типа операций установки
- Простое перетаскивание в папку /Application
- Собственные установщики авторов программы
- Пакеты и использование стандартного установщика системы.
Рассмотрим первый случай, самый простой, но не без подводных камней.
Не много найдется пользователей маков на пост-советском пространстве, которым посчастливилось никогда не видеть именно эту картину после монтирования образа с дистрибутивом. Все, что надо сделать для установки - это зацепить иконку программы и перетащить ее на иконку папки со стандартными приложениями. На этом установка заканчивается.
При этом как-бы негласно предполагается, что для обратного процесса нужно просто зацепить иконку приложения в папке программ и перетащить ее в корзину. Собственно, так оно и есть, но как всегда есть одно но.
После удаления программ таким образом практически всегда остаются "хвосты" - файлы, оставшиеся после удаления. Большая ли это беда - решать пользователю.
Практически любая программа во время своей работы создает файлы, которых не было в ее составе на момент установки. Кроме тех полезных файлов, которые создал сам пользователь при помощи программы (документы, фотографии, музыка, фильмы, электронные письма и т.д и т.п) создалось достаточное количество побочных продуктов жизнедеятельности. Попробуем их перечислить на примере Adium с картинки.
- Прежде всего, это файл настроек программы. То место, где хранятся все настройки и предпочтения, в т.ч. внешний вид, положения окон, цвета, шрифты и еще куча полезной информации.
После удаления программы в корзину этот файл останется на диске. Особого горя в этом нет, места он практически не занимает, во время работы самой системы никому не мешает, в память в виде реестра (хе-хе) не загружается. С другой стороны, если вы вдруг одумаетесь и решите вернуться к использованию Adium как icq-клиента, после повторной установки все ваши настройки окажутся в цельности-сохранности и повторно ничего настраивать не придется.
Но если вы тверды в своем намерении раз и навсегда перейти на jabber, то получается как-то неаккуратненько :)
Вот тут мы и подходим к определению мест, куда программы могут гадить складывать данные для внутреннего использования. Единственным общепринятым местом для этого служит папка Библиотека (Library) в домашнем каталоге пользователя, или как еще часто обозначают ~/Library
Так предписано канонами, кроме того, чтобы отложить личинку за пределы пользовательской директории, придется выбросить окошко с запросом авторизации на приобретение дополнительных прав (админских). И такой запрос - это первый звоночек, который должен насторожить вас.
- Второе место - это каталог для дополнительных данных программы, Application Support внутри каталога ~/Library
- Третье место - каталог Caches внутри ~/Library, там располагают временные файлы и прочее, менее ценное.
Имя файла настроек (1) и имена каталогов (2) и (3) обычно содержат наименование программы, производителя или как-то еще связаны очевидным образом с программой, что позволяет их легко идентифицировать. Этой особенностью и пользуются большинство известных де-инсталляторов. Они просто суют нос в широко известные места и ищут сами, или через Spotlight механизм файлы и каталоги с похожими именами. Для Adium это
- Файл настроек ~/Library/Preferences/com.adiumX.adiumX.plist
- Каталог данных ~/Library/Application Support/Adium 2.0
- Каталог кэшей ~/Library/Caches/com.adiumX.adiumX
Как видите, такую работу легко проделать и самому, если знать рыбные места.
А теперь перейдем к некоторым аспектам, усложняющим жизнь. Истина такова, что некоторым программам (не всем, но многим) требуется дополнительный функционал, либо они могут предоставлять дополнительный функционал, и каждый раз он разный. В таком случае де-инсталляторы, просто знающие места, не работают. Вернемся к нашим баранам.
Если вы запускали Adium хотя-бы раз, загляните в ~/Library/Address Book Plug-Ins
Упс.. Вы наверняка там увидите еще 6 файликов. Это плагины к адресной книге, которые обеспечивают интеграцию Adium и его различными сервисами (icq, jabber, sms, msn) в адресную книгу. После удаления программы эти плагины не нужны абсолютно, но остаются мертвым лежать грузом. Обнаружить их можно лишь случайно или зная особенности работы Adium.
Даже внутри пользовательской папки достаточно мест, где такое добро может лежать до второго пришествия или полной переустановки системы, смотря что наступит раньше :)
- Данные могут храниться в созвучном каталоге прямо внутри ~/Library
- Данные могут храниться в документах пользователя (~/Documents/Microsoft Data)
- Данные могут храниться в скрытом каталоге прямо в пользовательской папке (~/.yandex)
И т.д. и т.п.
В общем, получается тот-же DLL Hell, только с маковской спецификой.
Внимание, следите за расписанием выхода сериала на нашем канале. В последующих сериях мы опубликуем расширенный и дополненный список мест, где могут храниться части программ.
В общем, получается тот-же DLL Hell, только с маковской спецификой.
К счастью, работе самой ОС это не мешает, а сами такие случаи вызывают интерес скорее академический, нежели насущный.
Для того, чтобы не заканчивать эту часть на такой минорной ноте, только замечу - да, есть и другой путь, это возможность при помощи средств самой системы отслеживать файловую активность приложения или установщика, что позволяет точно вычислить весь перечень файлов, относящийся к данному приложению. Правда я встречал описание только одного де-инсталлятора, функционал которого основан на этом методе, и это коммерческий продукт.



3 коммент.:
>> Правда я встречал описание только одного де-инсталлятора, функционал которого основан на этом методе
Имя этой программы Yank. Отслеживает во время установки куда распаковываются установочные файлы. Есть пресеты для наиболее распространенных приложений. И тем не менее у этой программы есть и побочные эффекты. К тому же, когда я ставил ее тестировать, увидел несколько странных моментов в работе системы во время ее работы. В итоге снес. Может в будущем и допилят, не знаю.
P.S. Чуть не забыл. Пруфлинк: http://www.matterform.com/mac_software/uninstaller/index.html
В ходе обсуждения выяснилось имя еще одного монстра удаления -
CleanApp,
Родина: http://www.synium.de/products/cleanapp/index.html
Да, CleanApp из подобных - лидер.
Одно напрягает, сканит долговато папку Apps при запуске, хотя протоколирование включено.
Отправить комментарий