Me gustaría forzar una actualización de las aplicaciones de la tienda de aplicaciones desde la línea de comandos.
¿Cómo puedo hacer esto?
Me gustaría forzar una actualización de las aplicaciones de la tienda de aplicaciones desde la línea de comandos.
¿Cómo puedo hacer esto?
Respuestas:
Apple no proporciona un asistente de línea de comando ni ninguna clase de cacao programable a la que pueda engancharse para la automatización. A diferencia de la actualización general del software, 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 ha sido modificada y lanzada en código abierto , así como también en forma binaria :
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 aparezcan algunas otras implementaciones de esta herramienta, tal vez incluso una programada con python.
Si alguien ha iniciado sesión en el mac (windowmanager se está ejecutando), puede usar Automator y la función "verme hacer" para automatizar las actualizaciones y almacenar la contraseña de su tienda en el script de manera bastante insegura.
Aquí hay dos tutoriales para comenzar si esto satisface sus necesidades.
http://www.tuaw.com/2009/01/19/mac-automation-creating-watch-me-do-workflows/
http://automator.us/leopard/features/virtual-user.html
Una vez que tenga un script de trabajo, puede usar el comando de línea de open
comando para iniciarlo.
Si la aplicación App Store expone esa función a secuencias de comandos, tendrá más opciones desde la línea de comandos. Sería fácil de usar sdef
, sdp
y gen_bridge_metadata
al volcar el diccionario de secuencias de comandos y scripts cosas usando rubí desde la línea de comandos, pero en la actualidad la mejor opción sería utilizar la mas
herramienta de línea de comandos.
softwareupdate
proceso e incluso se conecta a la App Store en Mountain Lion, pero es solo para aplicaciones que no son de la App Store.
La App Store simplemente no es adecuada para la administración. Apenas un administrador de paquetes cuasi, no es tan útil o confiable como los administradores de paquetes reales como pkgsrc, puertos FreeBSD, aptitude, RPM, macports o incluso actualización de software. En mi experiencia, es impredecible y una barba para los desarrolladores comerciales atesorar sus productos. Por lo tanto, en realidad 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 solo quítalo de tu mente, ya no te molestará. ;-)
Use ARD en su lugar, aunque no es un administrador de paquetes, administra paquetes, instalaciones, actualizaciones y actualizaciones, hará lo que quiera, le ahorrará tiempo y no lo decepcionará:
Para Apple Remote Desktop 3, para 10.9:
Consulte la guía del administrador 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 arrojar un error gracioso si no está ejecutando 10.9, o si no hay instalada 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 usar pkgutil y xar ... Solo 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 expúlsela:
hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/
Y ahora lo que verás si
cd ARDexpanded/RemoteDesktopAdmin372.pkg/
ls
es
Bom PackageInfo Payload Scripts
Lo que está en el archivo Payload, que es un archivo cpio comprimido con gzip, es lo que busca. Entonces, con algunos comandos canalizados podemos llegar al paquete de aplicaciones:
cat Payload | gzip -d - | cpio -id
ls
devoluciones:
Applications Bom Library PackageInfo Payload Scripts
Y ya casi has terminado.
cp -R Applications/Remote\ Desktop.app /Applications/
Ahora ha instalado Apple Remote Desktop Admin 3.7.2
Entonces, 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 un poco de 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.
entonces intenta:
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
profundizar en la carga útil:
cd ARD353/RemoteDesktopAdmin353.pkg/
ls
devoluciones:
Bom PackageInfo Payload Scripts
Entonces corre:
cat Payload | gzip -d - | cpio -id
ls
devoluciones:
Applications Bom Library PackageInfo Payload Scripts
Y ya casi has terminado:
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.
Puedes usar la softwareupdate
herramienta.
sudo softwareupdate -l
Enumera todas las actualizaciones disponibles.
sudo softwareupdate -ia
Instala todas las actualizaciones disponibles.