Mac App Store yüklemeleri ve yükseltmeleri otomatikleştirilebilir mi?


28

Mac App Store'dan uygulama yükleme veya yükseltme komutunu nasıl yapabilirim? Komut satırı araçlarını tercih ederdim, ancak AppleScript veya başka bir API yeterli olacaktır.

İlgili yapboz parçaları:

  • installer: özellikle -storeApp Store'u simüle etmek için kullanılan bayrağın paket devs için kurulduğunu not edin .
  • systemupdate: Apple uygulamalarına yönelik güncellemeleri işleme yeteneğine sahip, bayraklar -iyükler ve -amevcut tüm güncellemeleri yüklemesini ister

Uygulamalarınız bir Apple kimliği ile mi satın alındı, yoksa her makine için ayrı bir Apple Kimliği mi izliyorsunuz?
bmike

@bmike: Her makine için paylaşılan bir Apple kimliği veya benzersiz bir ürün kullanarak rahat edeceğim
Joseph Holsten

MacWorld’ün Mountain Lion’un yazılım güncelleme servisini kullanımdan kaldırdığını ve her şeyin Mac App Store’da olduğunu kabul edersek, bunu yönetmek çalışma grupları ve şirketler için zor olacaktır. Apple Configurator'ın hesapları yönetmeye yardımcı olmak için genişletilip genişletilemeyeceğini ve Uzak Masaüstü'nün kullanıcıları yeniden başlatmadan güncelleştirmeleri uygulayana kadar rahatsız etmeden güncellemeleri başarabileceğini merak ediyorum.
bmike

Yanıtlar:


13

Çoğu kişi otomatik güncellemeleri açabilir ve Apple'ın tüm güncellemeleri yönetmesine izin verebilir. Bunu yapamamanızın veya yapmamanızın bir nedeni varsa, App Store yüklemelerini ve güncellemelerini otomatikleştirmek için bir komut satırı aracı bulunmaktadır.

Komut satırından Mac App Store'u çoğaltmak için dikkate değer bir açık kaynak aracıdır mas :

Yüklemek:

brew install mas 

İçeri girdikten sonra, mevcut olan tüm uygulamaları güncelleyebilirsiniz:

mas upgrade

Üçüncü taraf yazılımlara Apple Kimliğinizle güvenmek istemiyorsanız, kullanıcı arayüzünüzü de otomatikleştirebilir ve anahtarlık kullanarak hesap adını ve şifreyi saklayabilirsiniz.

App Store'a ait olmayan güvenlik yamaları ve güncellemeleri için Apple çözümü softwareupdate, Apple'ın kullanıcı müdahalesi olmadan veya App Store kullanıcı arayüzüne girmeden kurmak istediği tüm yazılımları güncellemek için komut satırından aracı çalıştırmaktır .

Şu anda Lion ve Mountain Lion'da - bu, Mac'in App store'un dışına yüklenen sistem güncellemeleri ve yazılımlar için indirmeleri önbelleğe alan yerel bir OS X sunucusuna isabet edeceği anlamına gelir. Yerel bir yazılım güncelleme sunucunuz yoksa, tabii ki dosyaları doğrudan Apple'dan indirecektir.

Mountain Lion 10.8.2 ve daha düşük sürümleri için - her şey hala App Store'dan geliyor - bu nedenle OS X güncellemeleri gibi Apple yazılımları yalnızca güncellemeler ve yalnızca App Store dışı güncellemeler için bu aracı kullanarak tam olarak yazılabilir.

Scriptable olmayan (henüz veya belki de hiç) , App Store'dan Xcode ve Pages gibi yüklenen uygulamalar ve üçüncü taraf uygulamalarıdır. Bu, App Store uygulamasını açmadan ve kullanıcı arayüzü ekranında bir şifre girmeden tüm yazılımları güncellemek için tek bir araca sahip olamayacağınız anlamına gelir.

Yapabilecekleriniz, uygulamaları bir kez indirmek ve daha sonra uygulamayı çalıştıracak tüm Mac'lerde de kullanılan uygulamanın ilk kopyasını indirmek için kullanılan Apple Kimliği de kullanıldığı sürece uygulamayı birden fazla mac'a kopyalamak.

Her bir uygulamanın lisansını almak üzere 20 bilgisayarlık bir laboratuar için her bir uygulamanın bir kopyasını satın alan birkaç kurum biliyorum, ancak daha sonra bir güncelleme indirme işlemi tamamlandıktan sonra Apple Remote Desktop gibi bir araç tüm Mac'lere dağıtıldı. veya Caspar veya uygulamanın güncellenmiş sürümünü laboratuvardaki tüm Mac'lere taşımak için scpveya rsynconun gibi ev yapımı bir araç kullanılır.

Her makine için ayrı bir Apple ID yolunu izlerseniz, tüm şifreleri bilmeden ve AppleScript'in yapabileceği UI komut dosyasını kullanmadan rahat olmadıkça, her hesap için şifre talep edeceğinden Uygulama güncellemelerinin yüklenmesini kodlayamazsınız. programlı olarak doğru kullanıcı adı ve şifreyi girin ve ardından her makinenin güncellemelerinin indirme işlemine başlamak için düğmeye tıklayın. Uygulama mağazası uygulamalarının kod imzalama biçimi, paketi geçersiz kılmadan veya tüm uygulama mağazası işlemini tümüyle tersine mühendislik / hapse atmadan ve uygulama yükleyicisinin çalışmasına izin vermenin normal akışını engellemeden yalnızca bir güncellemede kaymayı zorlaştırır.


6

Bu açık kaynak kodlu maskomut satırı yardımcı programını kullanarak mümkündür :

mas-cli

Mac App Store için basit bir komut satırı arayüzü. Komut dosyası oluşturma ve otomasyon için tasarlanmıştır.

Açıklama: Ben yaratıcısıyım mas


Bu araç için büyük teşekkür ve buraya yazı. Uzun zaman oldu ve Apple'ın aracın zaman içinde çalışmaya devam etmesini sağlamak için API / SDK'yı istikrarlı tutmasını umuyorum.
bmike

3

Filiz sarma ve solisti kontrol etmek isteyebilirsiniz . OSX paketlerini dmg_packagesağlayıcıyı kullanarak bir uri'den yükleyebilirsiniz . Bazı örnekler için Fidelerdeki tariflerden bazılarına göz atın .

Güvenlik güncellemelerini otomatik güncellemek için, pivotal_workstation :: osx_updates tarifini kullanın. ( Bunun kullandığını unutmayınsoftwareupdate )

İçin Homebrew uygulamalar, brewsağlayıcı bir sahiptir upgradeeylemi.

Bildiğim kadarıyla, App Store uygulamalarını otomatik güncelleyen bir sağlayıcı yok. Bununla birlikte, bir sağlayıcı executeveya bashsağlayıcı bloğundaki bazı uygulamaların yerleşik otomatik güncelleme özelliğini kullanabilirsiniz . App Store uygulamasını otomatikleştirmek için AppleScript'i bir şef tarifinde de kullanabilirsiniz. Satır içi AppleScript kullanmaya ilişkin bazı örnekler için, sprout-osx-settings :: function_keys tarifine bakın. (Diğer bazı örnekler: filiz-osx ayarları :: remove_expose_keyboard_shortcuts , filiz-osx ayarları :: set_finder_show_user_home_in_sidebar )


1

AppleScript tipi bir çözümden emin değilim, ancak çok sayıda OS X sistemini yönetmek için araçlar var.

En aşina olduğum kişi radmind (laboratuarlarını yönetmek için UMich'te başladı ) (eski site ).

radmind, standart bir işletim sistemi şablonunu bir grup makineye yerleştirmeye ve güncel tutmaya yöneliktir, bu nedenle küçük bir site için biraz fazla çalışma olabilir. Temel iş akışı:

  • Temiz bir "yapım makinesi" yapın ve radmind'i ve tüm standart yazılımınızı kurun.
  • Bu inşaat makinesi için radmind transkriptleri oluşturun.
  • Radmind'i istemci makinelerinize kurun ve yüklemek için transkriptleri çekin / uygulayın.
  • Güncellemeler için, derleme sunucusunu güncelleyin ve bir güncelleme / yama transkripti yapın, ardından istemcilere uygulayın.

… Yani, en kesin anlamıyla, kurulumu otomatikleştirmiyor, ancak etkileşimli parçayı yalnızca bir kez yapmanız ve ardından güncellenmiş işletim sistemini müşterilerinize dağıtmanız gerekiyor.

Açıkçası bu, her yere standart bir yazılım seti yükleyebiliyorsanız en iyisidir - Müşterilerinizin hepsi özel ve benzersiz ise, bu harika bir çözüm olmayabilir.


1
Bu süreci, radmind gibi bir sistem otomasyon aracı olan chef içerisinde otomatikleştirmeye çalışıyorum. Sorun, bu araçların mac app store'dan uygulama yüklemesinin bir yolu olmamasıdır.
Joseph Holsten,

1
@JosephHolsten Prosedür radmind"Uygulamayı şablon makinenize kurun ve transkripti güncelleyin" şeklinde olacaktır. (Hala el ile yükleme, 1000 yerine bir el ile yükleme.)
voretaq7
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.