3

Новый владелец Mac здесь, но давний пользователь Linux. Может кто-нибудь описать мне различия между установкой части программного обеспечения, такого как Subversion, из образа .dmg по сравнению с компиляцией и установкой из исходного кода в командной строке? Программное обеспечение оказывается в том же месте? Какие существуют другие различия, например, процедуры удаления? Что бы вы рассмотрели плюсы / минусы одного подхода по сравнению с другим?

3 ответа3

4

.dmg - это просто виртуальный диск ("образ диска"), который сам по себе не имеет отношения к установке.

Когда образ диска содержит только приложение (обычно будет какой-то пояснительный текст с просьбой перетащить его в папку «Приложения»), тогда весь код и вспомогательные файлы содержатся в этом одном файле. Приложение отвечает за выполнение любой настройки при первом запуске и обеспечивает механизм удаления, если что-либо будет установлено позже. Многие разработчики используют платформу Sparkle для поиска и установки обновлений.

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

Для программного обеспечения командной строки, которое вы обычно устанавливаете из исходного кода, я бы порекомендовал менеджер пакетов, например MacPorts (мои предпочтения) или Fink, используя пакет установщика. Оба этих менеджера пакетов устанавливают автономный каталог (/opt и /sw соответственно) со всеми файлами поддержки и исполняемым кодом для устанавливаемого ими программного обеспечения (и большинство пакетов уважают его) и добавляют себя в ваш $PATH . Огромным преимуществом использования диспетчера пакетов является то, что он будет отслеживать установленное программное обеспечение и даст вам возможность обновить или удалить его.

4

Установка из .dmg обычно это просто перетаскивание в /Applications. Удаление, по моему мнению, является больным местом в Mac. Вы можете удалить файл из Приложения, но пропадет только тот материал, который инкапсулирован в оболочку .app. Любые дополнительные файлы конфигурации не исчезают.

Другой путь установки, который вы должны рассмотреть, это MacPorts и / или Fink. Это несколько похоже на apt-get или yum в мире Linux. Они предоставляют утилиту командной строки для захвата, компиляции и установки общего программного обеспечения. Обычно это так просто, как:

$ sudo port install svn

(пример Macport)

2

Это несколько сложно, потому что внутри DMG может быть простое решение drag-n-drop или a .PKG, которая может устанавливать вещи в любом месте. .pkg обычно оставляют квитанции (обычно в /Library /Receipts), хотя OS X не предлагает простого способа управлять этими квитанциями.

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

http://www.charlessoft.com/

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

Существует менее мощный, но бесплатный плагин быстрого просмотра для файлов .pkg, который выполняет основную работу, показывая, где что будет установлено:

http://www.mothersruin.com/software/SuspiciousPackage/

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