Comment puis-je installer des scripts ou mettre à niveau des applications depuis le Mac App Store? Je préfère les outils de ligne de commande, mais AppleScript ou une autre API suffirait.
Pièces de puzzle pertinentes:
installer
: notez en particulier l'-store
indicateur qui est utilisé pour simuler les installations de l'App Store pour les développeurs de packages.systemupdate
: capable de gérer les mises à jour des applications Apple, signale les-i
installations et lui-a
dit d'installer toutes les mises à jour disponibles
macos
mac-appstore
command-line
automator
code-signing
Joseph Holsten
la source
la source
Réponses:
La plupart des gens peuvent simplement activer les mises à jour automatiques et laisser Apple gérer toutes les mises à jour. S'il y a une raison pour laquelle vous ne pouvez pas ou ne voulez pas le faire, un outil de ligne de commande existe pour automatiser les installations et les mises à jour de l'App Store.
Un outil open source notable pour répliquer le Mac App Store à partir de la ligne de commande est mas :
À installer:
Une fois qu'il est entré, vous pouvez mettre à jour toutes les applications disponibles avec:
Si vous ne voulez pas faire confiance à un logiciel tiers avec votre identifiant Apple, vous pouvez également automatiser votre interface utilisateur et stocker le nom et le mot de passe du compte à l'aide du trousseau.
La solution Apple pour les correctifs de sécurité et les mises à jour non App Store consiste à exécuter l'
softwareupdate
outil à partir de la ligne de commande pour mettre à jour tous les logiciels qu'Apple a l'intention d'installer sans l'intervention de l'utilisateur ou via l'interface utilisateur de l'App Store.Actuellement sur Lion et Mountain Lion - cela signifie que le Mac frappera un serveur OS X local qui met en cache les téléchargements pour les mises à jour système et les logiciels installés en dehors de l'App Store. Si vous ne disposez pas d'un serveur de mise à jour logicielle local, il télécharge bien sûr les fichiers directement depuis Apple.
Pour Mountain Lion 10.8.2 et inférieur, - tout vient toujours de l'App Store - donc le logiciel Apple comme les mises à jour OS X est entièrement scriptable en utilisant cet outil pour les mises à jour et les mises à jour non App Store uniquement.
Ce qui n'est pas scriptable (encore ou peut-être jamais), ce sont les applications installées à partir de l'App Store, comme Xcode et Pages et les applications tierces. Cela signifie que vous ne pouvez pas avoir un seul outil pour mettre à jour tous les logiciels sans ouvrir l'application App Store et entrer un mot de passe sur l'écran de l'interface utilisateur.
Ce que vous pouvez faire est de télécharger les applications une fois, puis de copier l'application sur plusieurs macs tant que l'identifiant Apple utilisé pour télécharger la première copie de l'application est également utilisé sur tous les Mac qui exécuteront l'application.
Je connais plusieurs institutions qui achètent une copie de chaque application pour un laboratoire de 20 ordinateurs pour obtenir une licence pour chaque siège, mais déploient ensuite un fichier sur tous les Mac afin qu'un téléchargement d'une mise à jour soit effectué, un outil comme Apple Remote Desktop ou Caspar ou un outil fait maison comme
scp
oursync
est utilisé pour déplacer la version mise à jour de l'application sur tous les Mac du laboratoire.Si vous suivez la route de l'identifiant Apple individuel pour chaque machine, vous ne pourrez pas créer de script pour l'installation des mises à jour de l'application, car chacun demandera le mot de passe pour chaque compte, sauf si vous êtes à l'aise de connaître tous les mots de passe et d'effectuer des scripts d'interface utilisateur là où AppleScript peut entrez le nom d'utilisateur et le mot de passe corrects par programme, puis cliquez sur le bouton pour commencer le processus de téléchargement des mises à jour de chaque machine. La façon dont les applications de l'App Store sont signées de code rend difficile de simplement insérer une mise à jour sans invalider le package ou en quelque sorte inverser l'ingénierie / jailbreaker l'ensemble du processus de l'App Store et contourner le flux normal de laisser le programme d'installation de l'application faire son travail.
la source
Ceci est possible en utilisant l'
mas
utilitaire de ligne de commande open source :Divulgation: je suis le créateur de
mas
la source
Vous voudrez peut-être vérifier le sprout-wrap et le soliste . Vous pouvez installer des packages OSX à partir d'un uri à l'aide du
dmg_package
fournisseur. Découvrez quelques-unes des recettes dans sprout pour quelques exemples.Pour mettre à jour automatiquement les mises à jour de sécurité, utilisez la recette pivotal_workstation :: osx_updates . ( Notez que cela utilise
softwareupdate
)Pour les applications Homebrew , le
brew
fournisseur a uneupgrade
action.Pour autant que je sache, il n'y a pas de fournisseur pour mettre à jour automatiquement les applications App Store. Cependant, vous pouvez peut-être utiliser la fonction de mise à jour automatique intégrée de certaines applications dans un bloc
execute
ou unbash
fournisseur. Vous pouvez également utiliser AppleScript dans une recette de chef pour automatiser l'application App Store. Pour quelques exemples d'utilisation d'AppleScript en ligne, jetez un œil à la recette sprout-osx-settings :: function_keys . (Quelques autres exemples: sprout-osx-settings :: remove_expose_keyboard_shortcuts , sprout-osx-settings :: set_finder_show_user_home_in_sidebar )la source
Je ne suis pas sûr d'une solution de type AppleScript, mais il existe des outils pour gérer un grand nombre de systèmes OS X.
Celui que je connais le plus est radmind (qui a commencé à UMich pour gérer leurs laboratoires (ancien site) ).
radmind est vraiment orienté vers le déploiement d'un modèle de système d'exploitation standard sur un tas de machines et sa mise à jour, donc pour un petit site, cela peut être un peu trop de travail. Le workflow de base est le suivant:
… Donc, au sens strict, il ne s'agit pas d'automatiser l'installation, mais vous ne devez effectuer le bit interactif qu'une seule fois, puis distribuer le système d'exploitation mis à jour à vos clients.
De toute évidence, cela fonctionne mieux si vous pouvez installer un ensemble de logiciels standard partout - Si vos clients sont tous spéciaux et uniques, cela pourrait ne pas être une excellente solution.
la source
radmind
serait "Installer l'application sur votre machine modèle et mettre à jour la transcription". (Toujours une installation manuelle, mais une installation manuelle au lieu de 1000.)