¿Cómo actualizar la aplicación App Store desde la línea de comandos?

18

Me gustaría forzar una actualización de las aplicaciones de App Store desde la línea de comandos.

¿Cómo puedo hacer esto?

    
pregunta sorin 09.05.2011 - 15:31

3 respuestas

6

Apple no proporciona un ayudante de línea de comandos ni ninguna clase de cacao con secuencias de comandos que pueda utilizar para la automatización. A diferencia de la actualización de software general, que permite actualizaciones e instalaciones listas para usar, puede ejecutar el proceso de hacer clic en los botones con un mouse usando Automator.

Sin embargo, la tienda de aplicaciones se diseñó a la inversa y se lanzó con código abierto , así como un formulario binario :

La instalación es rápida y parece ser bastante confiable en la versión actual de OS X 10.11:

brew install argon/mas/mas 

Con la fuente publicada, esperaría que surgieran otras implementaciones de esta herramienta, tal vez incluso una secuencia de comandos con Python.

Si alguien ha iniciado sesión en el mac (windowmanager se está ejecutando), puedes usar Automator y la función "observarme" para automatizar las actualizaciones y almacenar la contraseña de tu tienda en el script de manera bastante insegura.

Aquí hay dos tutoriales para comenzar si esto satisface sus necesidades.

enlace

enlace

Una vez que tenga un script de trabajo, puede usar el comando de línea de comando open para comenzar.

Si la aplicación App Store alguna vez expone esa función a secuencias de comandos, tendrá más opciones desde la línea de comandos. Sería fácil usar sdef , sdp y gen_bridge_metadata para volcar todo el diccionario de secuencias de comandos y escribir cosas usando Ruby desde la línea de comando, pero en este momento la mejor opción sería utilizar la herramienta de línea de comando mas .

    
respondido por el bmike 08.06.2011 - 23:53
4

La App Store simplemente no es adecuada para la administración. Apenas es un administrador de casi paquetes, no es tan útil o confiable como los administradores de paquetes reales como pkgsrc, FreeBSD ports, aptitude, RPM, macports o incluso software up. En mi experiencia, es impredecible y una barba para que los desarrolladores comerciales hagan sus productos. Por lo tanto, solo hay una forma racional y responsable, como administrador competente, de trabajar 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\)/

Y simplemente olvídalo, ya no te preocupará más. ;-)

En su lugar, use ARD, aunque no es un administrador de paquetes, administra paquetes, instalaciones, actualizaciones y actualizaciones, hará lo que quiera, le ahorrará tiempo y no le fallará:

Para Apple Remote Desktop 3, para 10.9:

Consulte la guía de administración primero para convencerse de que este es el camino a seguir:

curl -Ok http://images.apple.com/ca/fr/remotedesktop/pdf/ARD3_AdminGuide.pdf

    open ARD3_AdminGuide.pdf

Luego 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 /

pero eso podría generar un error gracioso si no se ejecuta la versión 10.9, o si no se ha instalado una versión anterior de ARD, y si lo hace, intente:

pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg ARDexpanded/

o para obtener el mismo efecto (ya sea / o aquí, no es necesario que utilices pkgutil y xar ... estoy siendo exhaustivo):

mkdir ARDexpanded

cd ARDexpanded

xar -xf /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg

Y ya no necesitamos adjuntar la imagen del disco, así que expulsala:

hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/

Y ahora lo verás si

cd ARDexpanded/RemoteDesktopAdmin372.pkg/

ls

es

    Bom         PackageInfo Payload     Scripts

Lo que está en el archivo de carga útil, que es un archivo cpio comprimido con gzip, es lo que está buscando. Así que con unos pocos comandos canalizados podemos llegar al paquete de aplicaciones:

cat Payload | gzip -d - | cpio -id

ls

devuelve:

    Applications Bom          Library      PackageInfo  Payload      Scripts

Y ya casi terminas.

cp -R Applications/Remote\ Desktop.app /Applications/

Ahora ha instalado Apple Remote Desktop Admin 3.7.2

Así que todo lo que queda por hacer es comprar su licencia:

open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat

Inicie / Aplicaciones / Remote \ Desktop.app y serialice. Y hacer algún trabajo.

Para 10.6 Snow Leopard, necesitará una versión ligeramente anterior de 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 /

y si te devuelve esto:

    installer: Cannot install on volume / because it is disabled.
    installer: This update could not find Remote Desktop on this volume.

luego intente:

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

profundice hasta la Carga útil:

    cd ARD353/RemoteDesktopAdmin353.pkg/

    ls

devuelve:

    Bom         PackageInfo Payload     Scripts

Ejecute:

cat Payload | gzip -d - | cpio -id

ls

devuelve:

Applications Bom          Library      PackageInfo  Payload      Scripts

Y ya casi terminas:

cp -R Applications/Remote\ Desktop.app /Applications/

compra tu licencia:

open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat

Inicie / Aplicaciones / Remote \ Desktop.app y serialice. Y haz algo.

    
respondido por el chillin 20.04.2014 - 12:46
1

Puedes usar la herramienta softwareupdate .

sudo softwareupdate -l

Enumera todas las actualizaciones disponibles.

sudo softwareupdate -ia

Instala todas las actualizaciones disponibles.

    
respondido por el Moritz Petersen 24.08.2015 - 13:14

Lea otras preguntas en las etiquetas