Como script para instalar ou atualizar aplicativos da Mac App Store? Eu preferiria ferramentas de linha de comando, mas AppleScript ou alguma outra API seria suficiente.
Peças de quebra-cabeça relevantes:
installer
: observe especialmente o-store
sinalizador usado para simular instalações da App Store para desenvolvedores de pacotes.systemupdate
: capaz de lidar com atualizações de aplicativos da Apple, sinaliza a-i
instalação e-a
diz para instalar todas as atualizações disponíveis
macos
mac-appstore
command-line
automator
code-signing
Joseph Holsten
fonte
fonte
Respostas:
A maioria das pessoas pode simplesmente ativar as atualizações automáticas e permitir que a Apple gerencie todas as atualizações. Se houver uma razão para você não poder ou não fazer isso, existe uma ferramenta de linha de comando para automatizar as instalações e atualizações da App Store.
Uma ferramenta notável de código aberto para replicar a Mac App Store a partir da linha de comando é mas :
Para instalar:
Quando estiver pronto, você poderá atualizar todos os aplicativos disponíveis com:
Se não quiser confiar em software de terceiros com seu ID Apple, você também pode automatizar sua interface do usuário e pode armazenar o nome da conta e a senha usando chaveiro.
A solução da Apple para atualizações e patches de segurança que não sejam da App Store é executar a
softwareupdate
ferramenta na linha de comando para atualizar todo o software que a Apple pretende instalar sem a intervenção do usuário ou passar pela interface do usuário da App Store.Atualmente no Lion e Mountain Lion - isso significa que o Mac acessará um servidor OS X local que está armazenando em cache downloads para atualizações do sistema e software instalado fora da App Store. Se você não possui um servidor de atualização de software local, é claro que ele fará o download de arquivos diretamente da Apple.
Para o Mountain Lion 10.8.2 e inferior, - tudo ainda vem através da App Store -, portanto, o software da Apple, como as atualizações do OS X, é totalmente programável usando esta ferramenta para atualizações e atualizações que não são da App Store.
O que não é programável (ainda ou talvez nunca) são aplicativos instalados na App Store, como Xcode e Pages e aplicativos de terceiros. Isso significa que você não pode ter apenas uma ferramenta para atualizar todo o software sem abrir o aplicativo App Store e digitar uma senha na tela da interface do usuário.
O que você pode fazer é baixar os aplicativos uma vez e depois copiá-lo para vários macs, desde que o ID da Apple usado para baixar a primeira cópia do aplicativo também seja usado em todos os Macs que executam o aplicativo.
Conheço várias instituições que compram uma cópia de cada aplicativo para um laboratório de 20 computadores para obter uma licença para cada assento, mas depois implantam um arquivo em todos os Macs para que, uma vez que o download da atualização seja realizado, uma ferramenta como a Apple Remote Desktop ou Caspar ou uma ferramenta caseira como
scp
oursync
é usada para mover a versão atualizada do aplicativo para todos os Macs no laboratório.Se você seguir a rota do Apple ID individual para cada máquina, não poderá criar um script para a instalação das atualizações de aplicativos, pois cada um solicitará a senha para cada conta, a menos que se sinta confortável em saber todas as senhas e executando scripts da interface do usuário onde o AppleScript possa insira o nome de usuário e a senha corretos programaticamente e clique no botão para iniciar o processo de download das atualizações de cada máquina. A maneira como os aplicativos da loja de aplicativos são assinados por código dificulta o deslizamento de uma atualização sem invalidar o pacote ou de alguma forma fazer engenharia reversa / jailbreak de todo o processo da loja de aplicativos e evitar o fluxo normal de permitir que o instalador do aplicativo faça seu trabalho.
fonte
Isso é possível usando o
mas
utilitário de linha de comando de código aberto :Divulgação: Eu sou o criador de
mas
fonte
Você pode querer conferir o sprout-wrap e o solista . Você pode instalar pacotes OSX de uma uri usando o
dmg_package
provedor. Confira algumas das receitas em broto para alguns exemplos.Para atualizar automaticamente as atualizações de segurança, use a receita pivotal_workstation :: osx_updates . ( Observe que isso usa
softwareupdate
)Para aplicativos Homebrew , o
brew
provedor tem umaupgrade
ação.Até onde eu sei, não há provedor para atualizar automaticamente os aplicativos da App Store. No entanto, você poderá usar o recurso de atualização automática interno de alguns aplicativos em um bloco
execute
oubash
provedor. Você também pode usar o AppleScript em uma receita de chef para automatizar o aplicativo da App Store. Para alguns exemplos de uso do AppleScript embutido, consulte a receita sprout-osx-settings :: function_keys . (Alguns outros exemplos: sprout-osx-settings :: remove_expose_keyboard_shortcuts , sprout-osx-settings :: set_finder_show_user_home_in_sidebar )fonte
Não tenho certeza sobre uma solução do tipo AppleScript, mas existem ferramentas para gerenciar um grande número de sistemas OS X.
O que eu estou mais familiarizado é o radmind (que começou na UMich para gerenciar seus laboratórios (site antigo) ).
O radmind é realmente voltado para a implantação de um modelo de sistema operacional padrão em várias máquinas e para mantê-lo atualizado, portanto, para um site pequeno, pode ser um pouco trabalhoso. O fluxo de trabalho básico é:
… Portanto, no sentido estrito, não está automatizando a instalação, mas você só precisa fazer o bit interativo uma vez e depois distribuir o sistema operacional atualizado para seus clientes.
Obviamente, isso funciona melhor se você puder instalar um conjunto padrão de software em qualquer lugar - Se seus clientes forem todos especiais e únicos, isso pode não ser uma ótima solução.
fonte
radmind
seria "Instale o aplicativo na máquina do seu modelo e atualize a transcrição". (Ainda uma instalação manual, mas uma instalação manual em vez de 1000.)