Как обновления программного обеспечения работают в OS X?

8

Я только что перешел с Linux на OS X и все еще привыкаю к ​​нему.

Я знаю, что мне нужно будет использовать Homebrew, так как я полагаюсь на многие инструменты CLI. Кроме того, я только что прочитал о бочке, что заставляет меня задуматься об одной вещи. Как программное обеспечение (не из App Store) получает обновления? Похожа на Windows, то есть сообщение, уведомляющее о новой версии, чтобы я мог загрузить ее или каким-либо образом интегрировать с системой, чтобы мне не приходилось загружать новый .dmg каждый раз, когда я хочу обновить приложение?

Если это похоже на Windows, то лучше ли использовать Cask для таких вещей, как Firefox, VirtualBox, VLC, LibreOffice ...?

user3439894
источник
2
Если вам нужны только такие команды, как g ++ / gcc и другие инструменты разработчика, вы можете установить инструменты разработчика командной строки Apple, просто набрав g ++ в Terminal, а затем принять установку. Все обновления для этих инструментов разработчика находятся в приложении App Store в разделе «Обновления».
Flare Cat

Ответы:

8
  • С cask, обновление всех установленных приложений (которые установлены с бочкой) осуществляется с помощью одной команды:

    brew cask update
    

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

    1. Это сценарий
    2. Он отделяет системные приложения от пользовательских приложений ( ~/Applications/вместо них устанавливаются установленные приложения /Applications/), поэтому он предназначен для каждого пользователя.
    3. Установка упакованных инсталляторов выполняется в фоновом режиме, поэтому не требует взаимодействия с пользователем.
    4. Удаление приложений запрограммировано его сообществом, поэтому нет необходимости беспокоиться о сохранении файлов после удаления.
    5. Можно систематически иметь несколько версий приложений, потому что механизм использует символические ссылки для последней или выбранной версии приложений.
    6. Источник приложений хранится в кэше, поэтому вы можете устанавливать и удалять их без дополнительных загрузок.

    Недостатками этого механизма являются:

    1. Там нет дифференциального обновления. Он загружает весь образ приложения (.dmg) или пакет (.pkg) и сохраняет в кеше.
    2. Установка приложений основана на символических ссылках, которые могут быть не идеальными (существует две копии приложения, которые могут быть повторены в списке «Открыть с помощью»)
  • Существует также официальный механизм App Store (по умолчанию) для обновления приложений, которые устанавливаются вместе с ним, он поддерживает дифференциальное обновление и может обновить все установленное приложение одним щелчком мыши; но, в отличие от Cask, запускать обновление, установку и т. д. невозможно, и исходные тексты не сохраняются.

  • Другой механизм - проверка обновления в приложении, которая происходит при запуске приложения. Он отличается от обновления App Store, а также поддерживает дифференциальное обновление.

Я думаю, что вам решать, какой механизм использовать для каких типов приложений, это сравнение может вам помочь.

Я использую Cask для приложений, которых нет в App Store (таких как VLC, OS X FUSE, OwnCloud, Weka и т. Д.) И App Store для несвободных приложений, которые я приобрел. Обновления в приложении мне не подходят, потому что они не сохраняют источник загруженных данных.

Хамид Рохани
источник
3

Не существует общепринятого «лучшего» способа обновления приложений, не поставляемых Apple, не Mac App Store. Есть много способов, некоторые используют инструменты linux, другие заново изобретают определенные колеса, другие пишут сценарии rsync / curl аналогично тому, как homebrew построен на основном скрипте и рецептах пакетов ruby.

Что касается самообновления приложений (или, по крайней мере, уведомления конечных пользователей о появлении обновления), некоторые используют такую ​​инфраструктуру, как sparkle, для проверки обновлений или программируют собственный механизм проверки обновлений. Microsoft Office, Chrome, Firefox и многие другие приложения не нуждаются в каком-либо ином механизме обновления, кроме использования механизма самообновления.

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

Если вы профессионально управляете компьютерами Mac, существует множество платформ для создания изображений, обновления и даже запуска собственного «магазина приложений» для упаковки определенных версий приложений и обходного процесса Apple.

bmike
источник