Как я могу написать скрипт установки или обновления приложений из Mac App Store? Я бы предпочел инструменты командной строки, но AppleScript или какой-то другой API-интерфейс будет достаточно.
Соответствующие кусочки головоломки:
installer
: особенно обратите внимание на-store
флаг, который используется для имитации установки App Store для разработчиков пакетов.systemupdate
: способен обрабатывать обновления приложений Apple, помечает-i
установки и-a
указывает установить все доступные обновления
macos
mac-appstore
command-line
automator
code-signing
Джозеф Холстен
источник
источник
Ответы:
Большинство людей могут просто включить автоматические обновления и позволить Apple управлять всеми обновлениями. Если есть причина, по которой вы не можете или не хотите этого делать, существует инструмент командной строки для автоматизации установки и обновления App Store.
Один известный инструмент с открытым исходным кодом для репликации Mac App Store из командной строки - это mas :
Установить:
Как только он появится, вы сможете обновить все приложения, которые доступны с:
Если вы не хотите доверять стороннему программному обеспечению свой Apple ID, вы также можете автоматизировать свой пользовательский интерфейс и сохранить имя учетной записи и пароль с помощью цепочки для ключей.
Решение Apple для исправлений и обновлений безопасности, не связанных с App Store, состоит в том, чтобы запустить
softwareupdate
инструмент из командной строки, чтобы обновить все программное обеспечение, которое Apple намеревается установить без вмешательства пользователя или через пользовательский интерфейс App Store.В настоящее время на Lion и Mountain Lion - это означает, что Mac подключится к локальному серверу OS X, который кэширует загрузки для обновлений системы и программного обеспечения, установленного за пределами магазина приложений. Если у вас нет локального сервера обновления программного обеспечения, он, конечно, будет загружать файлы напрямую из Apple.
Для Mountain Lion 10.8.2 и ниже - все по-прежнему идет через App Store - поэтому программное обеспечение Apple, такое как обновления OS X, полностью поддерживает сценарии с помощью этого инструмента только для обновлений и обновлений не из App Store.
Что не может быть написано в сценарии (пока или возможно) - это приложения, которые устанавливаются из App Store, такие как Xcode и Pages и сторонние приложения. Это означает, что у вас не может быть только одного инструмента для обновления всего программного обеспечения, не открывая приложение App Store и не вводя пароль на экране интерфейса пользователя.
Что вы можете сделать, это загрузить приложения один раз, а затем скопировать приложение на несколько компьютеров Mac, если Apple ID, использованный для загрузки первой копии приложения, также используется на всех компьютерах Mac, на которых будет запущено приложение.
Я знаю несколько учреждений, которые покупают по одной копии каждого приложения для лаборатории из 20 компьютеров, чтобы получить лицензию на каждое рабочее место, но затем развернуть один файл на всех компьютерах Mac, чтобы после завершения загрузки одного обновления использовать такой инструмент, как Apple Remote Desktop или Caspar или самодельный инструмент, подобный
scp
илиrsync
используемый для перемещения обновленной версии приложения на все компьютеры Mac в лаборатории.Если вы выберете маршрут для каждого идентификатора Apple ID для каждого компьютера, вы не сможете написать сценарий установки обновлений приложения, поскольку каждый будет запрашивать пароль для каждой учетной записи, если вы не знакомы со всеми паролями и не выполняете сценарии пользовательского интерфейса, где AppleScript может это сделать. введите правильное имя пользователя и пароль программно, а затем нажмите кнопку, чтобы начать процесс загрузки обновлений каждого компьютера. То, как приложения магазина приложений имеют кодовую подпись, затрудняет просто вставить обновление без аннулирования пакета или какой-либо обратной разработки / джейлбрейка всего процесса магазина приложений и обходя нормальный поток, позволяющий установщику приложения выполнять свою работу.
источник
Это возможно с помощью
mas
утилиты командной строки с открытым исходным кодом :Раскрытие: я создатель
mas
источник
Возможно, вы захотите проверить ростки и солиста . Вы можете установить пакеты OSX из URI, используя
dmg_package
поставщика. Проверьте некоторые из рецептов в ростке для некоторых примеров.Для автоматического обновления обновлений безопасности используйте рецепт pivotal_workstation :: osx_updates . ( Обратите внимание, что это использует
softwareupdate
)Для приложений Homebrew у
brew
провайдера естьupgrade
действие.Насколько я знаю, нет поставщика для автоматического обновления приложений App Store. Тем не менее, вы можете использовать встроенную функцию автоматического обновления некоторых приложений в блоке
execute
илиbash
поставщике. Вы также можете использовать AppleScript в рецепте шеф-повара для автоматизации приложения App Store. Для некоторых примеров использования встроенного AppleScript взгляните на рецепт sprout-osx-settings :: function_keys . (Некоторые другие примеры: sprout-osx-settings :: remove_expose_keyboard_shortcuts , sprout-osx-settings :: set_finder_show_user_home_in_sidebar )источник
Я не уверен насчет решения типа AppleScript, но есть инструменты для управления большим количеством систем OS X.
Тот, с кем я больше всего знаком, - это Radmind (который начал в UMich для управления их лабораториями (старый сайт) ).
Radmind действительно ориентирован на развертывание стандартного шаблона ОС на кучу машин и поддержание его в актуальном состоянии, поэтому для небольшого сайта это может быть слишком много работы. Основной рабочий процесс:
… Таким образом, в самом строгом смысле это не автоматизирует установку, но вам нужно сделать интерактивный бит только один раз, а затем распространить обновленную ОС своим клиентам.
Очевидно, что это работает лучше всего, если вы можете установить стандартный набор программного обеспечения везде - если ваши клиенты все особенные и уникальные, это может быть не лучшим решением.
источник
radmind
будет такой: «Установите приложение на свой компьютер шаблона и обновите стенограмму». (Все еще ручная установка, но одна ручная установка вместо 1000.)