Gostaria de forçar uma atualização dos aplicativos da App Store na linha de comando.
Como posso fazer isso?
Gostaria de forçar uma atualização dos aplicativos da App Store na linha de comando.
Como posso fazer isso?
Respostas:
A Apple não fornece um auxiliar de linha de comando ou qualquer classe de cacau com script que você possa usar para automação. Ao contrário da atualização geral de software, que permite atualizações e instalações prontas para uso, você pode criar um script do processo de clicar nos botões com o mouse usando o Automator.
No entanto, a loja de aplicativos sofreu engenharia reversa e lançou código-fonte aberto , além de um formato binário :
A instalação é rápida e parece ser bastante confiável na versão atual do OS X 10.11:
brew install argon/mas/mas
Com a fonte liberada, eu esperaria que outras implementações dessa ferramenta aparecessem, talvez até uma com script em python.
Se alguém estiver conectado ao mac (o gerenciador de janelas está em execução), você poderá usar o Automator e a função "watch me do" para automatizar atualizações e armazenar a senha da sua loja no script de maneira bastante insegura.
Aqui estão dois tutoriais para você começar se isso atender às suas necessidades.
http://www.tuaw.com/2009/01/19/mac-automation-creating-watch-me-do-workflows/
http://automator.us/leopard/features/virtual-user.html
Depois de ter um script de trabalho, você pode usar o comando de linha de open
comando para iniciá-lo.
Se o aplicativo da App Store expor essa função a scripts, você terá mais opções na linha de comando. Seria fácil de usar sdef
, sdp
e gen_bridge_metadata
para despejar todo o dicionário de scripts e scripts coisas usando ruby na linha de comando, mas, actualmente, a melhor opção seria usar a mas
ferramenta de linha de comando.
softwareupdate
processo e até se conecta à App Store no Mountain Lion - mas é apenas para aplicativos que não são da App Store.
A App Store simplesmente não é adequada para administração. Quase um gerenciador de quase pacotes, não é tão útil ou confiável quanto os gerenciadores de pacotes reais, como pkgsrc, portas FreeBSD, aptitude, RPM, macports ou até atualização de software. Na minha experiência, é imprevisível e uma barba para desenvolvedores comerciais atrapalharem seus produtos. Portanto, existe realmente apenas uma maneira racional e responsável, como administrador competente, de trabalhar com a App Store:
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.store_helper.plist
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.storeagent.plist
sudo mkdir /System/Library/LaunchAgents\ \(disabled\)/
sudo mv /System/Library/LaunchAgents/com.apple.store* /System/Library/LaunchAgents\ \(disabled\)/
E tire isso da cabeça, isso não vai incomodá-lo mais. ;-)
Em vez disso, use o ARD, embora não seja um gerenciador de pacotes, ele gerencia pacotes, instalações, atualizações e atualizações; ele fará o que quiser, economizará tempo e não o decepcionará:
Para o Apple Remote Desktop 3, para 10.9:
Confira primeiro o guia do administrador para se convencer de que este é o caminho a seguir:
curl -Ok http://images.apple.com/ca/fr/remotedesktop/pdf/ARD3_AdminGuide.pdf
open ARD3_AdminGuide.pdf
Então instale:
curl -Ok http://supportdownload.apple.com/download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/Mac_OS_X/downloads/031-2845.20140313.rerft/RemoteDesktopAdmin372.dmg
hdiutil attach -quiet -noverify -nobrowse -noautoopen RemoteDesktopAdmin372.dmg
sudo installer -pkg /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg -target /
mas isso pode gerar um erro engraçado se não estiver executando o 10.9, ou se nenhuma versão anterior do ARD estiver instalada e, se houver, tente:
pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg ARDexpanded/
ou para um efeito igual (ou aqui, não é necessário usar o pkgutil e o xar ... estou sendo completo):
mkdir ARDexpanded
cd ARDexpanded
xar -xf /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg
E não precisamos mais da imagem do disco anexada, então ejete-a:
hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/
E agora o que você verá se você
cd ARDexpanded/RemoteDesktopAdmin372.pkg/
ls
é
Bom PackageInfo Payload Scripts
O que está no arquivo Payload, que é um arquivo cpio compactado com gzip, é o que você procura. Portanto, com alguns comandos canalizados, podemos acessar o pacote de aplicativos:
cat Payload | gzip -d - | cpio -id
ls
retorna:
Applications Bom Library PackageInfo Payload Scripts
E você está quase pronto.
cp -R Applications/Remote\ Desktop.app /Applications/
Agora você instalou o Apple Remote Desktop Admin 3.7.2
Então, tudo o que resta a fazer é comprar sua licença:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Inicie / Applications / Remote \ Desktop.app e serialize. E faça algum trabalho.
Para o 10.6 Snow Leopard, você precisará de uma versão ligeiramente anterior do ARD:
curl -Ok http://images.apple.com/ca/fr/remotedesktop/pdf/ARD3_AdminGuide.pdf
curl -Ok http://supportdownload.apple.com/download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/Mac_OS_X/downloads/041-6789.20120917.xD6TR/RemoteDesktopAdmin353.dmg
hdiutil attach -quiet -noverify -nobrowse -noautoopen RemoteDesktopAdmin353.dmg
sudo installer -pkg /Volumes/Apple\ Remote\ Desktop\ 3.5.3\ Admin\ Update/RemoteDesktopAdmin353.pkg -target /
e se isso lhe der de volta:
installer: Cannot install on volume / because it is disabled.
installer: This update could not find Remote Desktop on this volume.
Então tente:
pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.5.3\ Admin\ Update/RemoteDesktopAdmin353.pkg ARD353
hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.5.3\ Admin\ Update
detalhar a carga útil:
cd ARD353/RemoteDesktopAdmin353.pkg/
ls
retorna:
Bom PackageInfo Payload Scripts
Então corra:
cat Payload | gzip -d - | cpio -id
ls
retorna:
Applications Bom Library PackageInfo Payload Scripts
E você está quase pronto:
cp -R Applications/Remote\ Desktop.app /Applications/
compre sua licença:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Inicie / Applications / Remote \ Desktop.app e serialize. E faça algo.
Você pode usar a softwareupdate
ferramenta
sudo softwareupdate -l
Lista todas as atualizações disponíveis.
sudo softwareupdate -ia
Instala todas as atualizações disponíveis.