A .dmg
- это просто виртуальный диск («образ диска»), и сам по себе не имеет ничего общего с установкой.
Когда образ диска содержит только приложение (обычно будет какой-то пояснительный текст с просьбой перетащить его в папку «Приложения»), тогда весь код и вспомогательные файлы содержатся в этом одном файле. Приложение отвечает за выполнение любой настройки при первом запуске и обеспечивает механизм удаления, если что-либо будет установлено позже. Многие разработчики используют платформу Sparkle для поиска и установки обновлений.
Если образ диска содержит пакет ( .pkg
или .mpkg
), это установщик. Его запуск может устанавливать файлы в любом месте вашей системы и запускать сценарии до и после установки, при этом отсутствует встроенный механизм удаления или обновления (однако система ведет журнал установленных пакетов, поэтому, если вы позже запустите пакет установщика для более новой версии программного обеспечения это может вести себя иначе, чем если бы это была первая установка). В этом случае разработчик также несет ответственность за удаление и отвечает за обновления. Ответственные разработчики установят в стандартные каталоги ( /Applications
, /Library
и ~/Library
, /usr
и т. Д.)
Для программного обеспечения командной строки, которое вы обычно устанавливаете из исходных текстов, я бы порекомендовал менеджер пакетов, например MacPorts (мои предпочтения) или Fink, используя пакет установщика. Оба этих менеджера пакетов создают автономный каталог ( /opt
и /sw
, соответственно) со всеми файлами поддержки и исполняемым кодом для устанавливаемого ими программного обеспечения (и большинство пакетов уважают его), и добавляют себя в свой $PATH
. Огромным преимуществом использования диспетчера пакетов является то, что он будет отслеживать установленное программное обеспечение и даст вам возможность обновить или удалить его.