Чи можна встановити та оновити Mac App Store автоматизовано?


28

Як я можу встановити або оновити програми із скрипту в магазині додатків Mac? Я вважаю за краще інструменти командного рядка, але AppleScript або якийсь інший API буде достатньо.

Відповідні частини головоломки:

  • installer: зверніть увагу, особливо на -storeпрапор, який використовується для імітації встановлень App Store для пакетів розробників.
  • systemupdate: здатний обробляти оновлення програм Apple, -iвстановлює прапори та -aповідомляє йому встановити всі наявні оновлення

Ви купуєте додатки з одним Apple ID чи відстежуєте індивідуальний Apple ID для кожної машини.
bmike

@bmike: Мені буде зручно використовувати спільний Apple ID або унікальний для кожної машини
Джозеф Холстен

Якщо припустити, що MacWorld правильний, що Mountain Lion втрачає послугу оновлення програмного забезпечення, і все відбувається через магазин додатків Mac, а керування цим завданням стане складним завданням для робочих груп та підприємств. Цікаво, чи може конфігуратор Apple розширитись, щоб допомогти керувати обліковими записами, а віддалений робочий стіл зможе розпочати оновлення, не заважаючи користувачам, поки перезавантаження не застосує оновлення.
bmike

Відповіді:


13

Більшість людей можуть просто увімкнути автоматичні оновлення та дозволити Apple управляти всіма оновленнями. Якщо ви не можете або не зробите цього, існує інструмент командного рядка для автоматизації встановлень та оновлень App Store.

Одним з важливих інструментів з відкритим вихідним кодом для реплікації Mac App Store з командного рядка Мась :

Щоб встановити:

brew install mas 

Після ввімкнення програми можна оновити всі доступні програми:

mas upgrade

Якщо ви не хочете довіряти програмному забезпеченню сторонніх розробників своїм 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використовується для переміщення оновленої версії програми на всі Маки в лабораторії.

Якщо ви пройдете маршрут індивідуального ідентифікатора Apple для кожної машини, ви не зможете скриптувати встановлення оновлень додатків, оскільки кожен запитає пароль для кожного облікового запису, якщо вам не зручно знати всі паролі та виконувати сценарії користувальницького інтерфейсу, де AppleScript може введіть правильне ім’я користувача та пароль, а потім натисніть кнопку, щоб розпочати процес завантаження оновлень кожної машини. Спосіб підписання коду додатків у магазині додатків важко просто просунути оновлення без відміни пакета або якимось зворотним інженерією / порушенням джейлбрейку цілого процесу зберігання додатків та усуненням звичайного потоку, що дозволяє інсталятору програми робити це.


6

Це можливо за допомогою masутиліти командного рядка з відкритим кодом :

мас-клі

Простий інтерфейс командного рядка для магазину додатків Mac. Призначений для сценаріїв та автоматизації.

Розкриття: Я творець mas


Велика подяка за цей інструмент та розміщення його тут. Минуло багато часу, і я сподіваюся, що Apple підтримує стабільність API / SDK, щоб інструмент продовжував працювати з часом.
bmike

3

Ви можете перевірити пророщування та соліст . Ви можете встановити пакети OSX з урі за допомогою dmg_packageпостачальника. Ознайомтеся з деякими прикладами рецептів на паростках .

Для автоматичного оновлення оновлень безпеки використовуйте рецепт pivotal_workstation :: osx_updates . ( Зверніть увагу, що для цього використовуєтьсяsoftwareupdate )

Для програм Homebrewbrew провайдер проводить 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 )


1

Я не впевнений у рішенні типу AppleScript, але є інструменти для управління великою кількістю систем OS X.

Найбільше мені знайомий - це радіомінд (який розпочався в UMich для управління їх лабораторіями (старий сайт) ).

radmind дійсно орієнтований на розгортання стандартного шаблону ОС на купі машин та постійного оновлення, тому для невеликого сайту це може бути занадто багато роботи. Основний робочий процес:

  • Зробіть чисту "машину для складання" та встановіть radmind та все ваше стандартне програмне забезпечення.
  • Створіть стенограми radmind для цієї збірної машини.
  • Встановіть radmind на ваші клієнтські машини та потягніть / застосуйте стенограми для їх встановлення.
  • Для оновлень оновіть сервер збірки та зробіть стенограму оновлення / виправлення, а потім застосуйте її до клієнтів.

… Отже, в найсуворішому сенсі це не автоматизація встановлення, а вам доведеться зробити лише інтерактивний біт один раз, а потім поширити оновлену ОС своїм клієнтам.

Очевидно, що це найкраще працює, якщо ви можете встановити стандартний набір програмного забезпечення скрізь - Якщо ваші клієнти все особливі та унікальні, це може бути не чудовим рішенням.


1
Я намагаюся автоматизувати цей процес для шеф-кухаря, який є таким інструментом автоматизації системи, як Radmind. Проблема полягає в тому, що для цих інструментів немає можливості встановлювати додатки з магазину додатків mac.
Джозеф Холстен

1
@JosephHolsten Процедура з: radmind"Установіть додаток на вашу машину з шаблонами та оновіть стенограму". (Ще ручна установка, але одна ручна установка замість 1000.)
voretaq7,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.