Me gustaría forzar una actualización de las aplicaciones de la App Store desde la línea de comandos.
¿Cómo puedo hacer esto?
Apple no proporciona un asistente de línea de comandos ni ninguna clase de cacao programable a la que pueda aferrarse para la automatización. A diferencia de la actualización de software general, que permite actualizaciones e instalaciones listas para usar, puede programar el proceso de hacer clic en los botones con un mouse usando Automator.
Sin embargo, la tienda de aplicaciones se ha diseñado de forma inversa y ha lanzado código abierto , así como una forma binaria :
La instalación es rápida y parece bastante fiable en la versión actual de OS X 10.11:
brew install argon/mas/mas
Con la fuente publicada, esperaría que aparecieran otras implementaciones de esta herramienta, tal vez incluso una con script con python.
Si alguien ha iniciado sesión en la mac (el administrador de ventanas se está ejecutando), puede usar Automator y la función "ver cómo lo hago" para automatizar las actualizaciones y almacenar la contraseña de su tienda en el script de manera bastante insegura.
Aquí hay dos tutoriales para que pueda 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
comandos para iniciarlo.
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 de usar , sdef
y sdp
volcar todo el diccionario de secuencias de comandos y secuencias de comandos usando Ruby desde la línea de comandos, pero en la actualidad, la mejor opción sería usar la herramienta de línea de comandos.gen_bridge_metadata
mas
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 cuasi-paquetes, no es tan útil o confiable como los administradores de paquetes reales como pkgsrc, puertos FreeBSD, aptitude, RPM, macports o incluso softwareupdate. En mi experiencia, es impredecible y una barba para los desarrolladores comerciales empeñar sus productos. Así que 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 olvídalo de tu mente, ya no te molestará más. ;-)
Utilice 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 defraudará:
Para Apple Remote Desktop 3, para 10.9:
Consulte primero la guía de administración 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 divertido si no se ejecuta 10.9, o si no está instalada una versión anterior de ARD, y si es así, intente:
pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg ARDexpanded/
o con el mismo efecto (ya sea/o aquí, no es necesario usar pkgutil y xar ... solo estoy siendo minucioso):
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úlselo:
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 está buscando. 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 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 /Applications/Remote\ Desktop.app y serialice. Y haz algo 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
Así que ejecuta:
cat Payload | gzip -d - | cpio -id
ls
devoluciones:
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 /Applications/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.
bmike
sorín
bmike