Vorrei forzare un aggiornamento delle applicazioni dell'App Store dalla riga di comando.
Come posso fare questo?
Vorrei forzare un aggiornamento delle applicazioni dell'App Store dalla riga di comando.
Come posso fare questo?
Risposte:
Apple non fornisce un aiuto da riga di comando o classi di cacao gestibili tramite script a cui puoi affidarti per l'automazione. A differenza dell'aggiornamento software complessivo, che consente aggiornamenti e installazioni predefiniti, è possibile eseguire lo script del processo di clic sui pulsanti con il mouse utilizzando Automator.
Tuttavia, l'app store è stato decodificato e rilasciato open source , nonché un modulo binario :
L'installazione è rapida e sembra essere abbastanza affidabile sulla versione corrente di OS X 10.11:
brew install argon/mas/mas
Con il rilascio della fonte, mi aspetto che appaiano altre implementazioni di questo strumento, forse anche una sceneggiata con Python.
Se qualcuno ha effettuato l'accesso al mac (windowmanager è in esecuzione), puoi utilizzare Automator e la funzione "guardami fare" per automatizzare gli aggiornamenti e archiviare la password del tuo negozio nello script in modo abbastanza insicuro.
Ecco due tutorial per iniziare se questo soddisfa le tue esigenze.
http://www.tuaw.com/2009/01/19/mac-automation-creating-watch-me-do-workflows/
http://automator.us/leopard/features/virtual-user.html
Una volta che hai uno script funzionante, puoi usare il comando da riga di open
comando per avviarlo.
Se l'app App Store espone mai quella funzione allo scripting avrai più opzioni dalla riga di comando. Sarebbe facile da usare sdef
, sdp
e gen_bridge_metadata
di discarica l'intero cose dizionario script e script utilizzando rubino dalla linea di comando, ma al momento l'opzione migliore sarebbe quella di utilizzare lo mas
strumento da riga di comando.
softwareupdate
processo e si collega persino all'App Store su Mountain Lion, ma è solo per le app non App Store.
L'App Store non è semplicemente adatto per l'amministrazione. A malapena un gestore di quasi-pacchetti, non è così utile o affidabile come i veri gestori di pacchetti come pkgsrc, porte FreeBSD, aptitude, RPM, macports o persino l'aggiornamento del software. Nella mia esperienza, è imprevedibile e una barba per gli sviluppatori commerciali impegnare le loro merci. Quindi c'è davvero solo un modo razionale e responsabile, come amministratore competente, di lavorare con 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 tienilo fuori di testa, non ti disturberà più. ;-)
Usa invece ARD, sebbene non sia un gestore di pacchetti, gestisce pacchetti, installazioni, aggiornamenti e upgrade, farà ciò che desideri, risparmia tempo e non ti deluderà:
Per Apple Remote Desktop 3, per 10.9:
Consulta prima la guida dell'amministratore per convincerti che questa è la strada da percorrere:
curl -Ok http://images.apple.com/ca/fr/remotedesktop/pdf/ARD3_AdminGuide.pdf
open ARD3_AdminGuide.pdf
Quindi installare:
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 /
ma ciò potrebbe generare un errore divertente se non è in esecuzione 10.9 o se non è installata alcuna versione precedente di ARD e, in caso affermativo, provare:
pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg ARDexpanded/
o a parità di effetto (o / o qui, non è necessario utilizzare sia pkgutil che xar ... Sto solo facendo attenzione):
mkdir ARDexpanded
cd ARDexpanded
xar -xf /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg
E non abbiamo più bisogno dell'immagine del disco collegata, quindi espellila:
hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/
E ora cosa vedrai se tu
cd ARDexpanded/RemoteDesktopAdmin372.pkg/
ls
è
Bom PackageInfo Payload Scripts
Cosa c'è nel file Payload, che è un archivio cpio compresso con gzip, è ciò che stai cercando. Quindi con alcuni comandi convogliati possiamo arrivare al bundle dell'app:
cat Payload | gzip -d - | cpio -id
ls
ritorna:
Applications Bom Library PackageInfo Payload Scripts
E hai quasi finito.
cp -R Applications/Remote\ Desktop.app /Applications/
Ora hai installato Apple Remote Desktop Admin 3.7.2
Quindi non resta che acquistare la licenza:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Avvia / Applicazioni / Remote \ Desktop.app e serializza. E fai un po 'di lavoro.
Per 10.6 Snow Leopard, avrai bisogno di una versione leggermente precedente di 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 ti restituisce questo:
installer: Cannot install on volume / because it is disabled.
installer: This update could not find Remote Desktop on this volume.
quindi prova:
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
eseguire il drill-down fino al payload:
cd ARD353/RemoteDesktopAdmin353.pkg/
ls
ritorna:
Bom PackageInfo Payload Scripts
Quindi corri:
cat Payload | gzip -d - | cpio -id
ls
ritorna:
Applications Bom Library PackageInfo Payload Scripts
E hai quasi finito:
cp -R Applications/Remote\ Desktop.app /Applications/
acquista la tua licenza:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Avvia / Applicazioni / Remote \ Desktop.app e serializza. E fai qualcosa.
Puoi usare lo softwareupdate
strumento.
sudo softwareupdate -l
Elenca tutti gli aggiornamenti disponibili.
sudo softwareupdate -ia
Installa tutti gli aggiornamenti disponibili.