7 votos

¿Cómo puedo observar y controlar una actualización de MacOS mediante `softwareupdate`?

Cometí el error (no preguntes) de entrar en

softwareupdate -ia --verbose

en el Terminal, que ahora está atascado haciendo no sé qué:

Software Update Tool

Finding available software

Downloading Command Line Tools (macOS Mojave version 10.14) for Xcode
Downloading macOS 10.14.4 Update
Downloaded Command Line Tools (macOS Mojave version 10.14) for Xcode
Downloaded macOS 10.14.4 Update
Installing Command Line Tools (macOS Mojave version 10.14) for Xcode, macOS 10.14.4 Update
Done with Command Line Tools (macOS Mojave version 10.14) for Xcode

e intenta detenerlo con ^C resultan en

Cannot cancel updates after installation has started.

No tengo ningún indicador de progreso o retroalimentación, y esto ha estado sucediendo durante horas y softwareupdate --dump-state no muestra ninguna entrada (excepto la ejecución de dump-state ) durante bastante tiempo.

¿Cómo puedo comprobar el estado de un softwareupdate y cómo puedo abortarla si no se detiene o completa por sí misma?

0 votos

¿Hay algo útil en /var/log/install.log?

0 votos

@GordonDavisson Ver comentario sobre dump-state .

15voto

user4395 Puntos 69

Por frustración, simplemente intenté

softwareupdate --install --all

en una nueva ventana de Terminal, lo que desatasca la instancia de softwareupdate que se ejecuta en la otra ventana original. Esto parece haber resuelto el problema por completo.

7voto

Khb Puntos 1002

Puede observar el progreso softwareupdate está haciendo viendo sus mensajes de registro.

Sólo corre sudo log stream --predicate "processImagePath Contains[c] 'softwareupdate'" en otro terminal para ver los mensajes de registro en directo. O bien, puede ver los mensajes registrados durante los últimos 10 minutos utilizando sudo log show --last 10m --predicate...

Su registro es bastante ruidoso, pero algunos de ellos transmiten el progreso actual. Hay un contador de progreso separado tanto para la descarga del software como para la instalación.

Por ejemplo, en la fase de instalación veo mensajes como este:

$ sudo log stream --predicate "processImagePath Contains[c] 'softwareupdate'"
2020-10-23 16:41:50.036577-0700 0x10343ce  Default     0x0                  1495   0    softwareupdated: (BridgeOSSoftwareUpdate) [com.apple.BridgeOSSoftwareUpdate:] -[BridgeOSSoftwareUpdateController _handleEvent:]: received progress: PrepareUpdate = 6.650325
2020-10-23 16:41:50.036650-0700 0x1033b05  Default     0x0                  1495   30   softwareupdated: (BridgeOSInstall) [com.apple.mac.install:BridgeOSInstall] Preparing update progress: 6.65
2020-10-23 16:41:51.369927-0700 0x1033b05  Default     0x0                  1495   0    softwareupdated: (BridgeOSSoftwareUpdate) [com.apple.BridgeOSSoftwareUpdate:] -[BridgeOSSoftwareUpdateController _handleEvent:]: received progress: PrepareUpdate = 6.957522
2020-10-23 16:41:51.370001-0700 0x10343ce  Default     0x0                  1495   30   softwareupdated: (BridgeOSInstall) [com.apple.mac.install:BridgeOSInstall] Preparing update progress: 6.96
2020-10-23 16:41:54.500204-0700 0x10343ce  Default     0x0                  1495   0    softwareupdated: (BridgeOSSoftwareUpdate) [com.apple.BridgeOSSoftwareUpdate:] -[BridgeOSSoftwareUpdateController _handleEvent:]: received progress: PrepareUpdate = 6.957528
2020-10-23 16:41:54.500280-0700 0x1033b05  Default     0x0                  1495   30   softwareupdated: (BridgeOSInstall) [com.apple.mac.install:BridgeOSInstall] Preparing update progress: 6.96
2020-10-23 16:41:55.501118-0700 0x1033b05  Default     0x0                  1495   0    softwareupdated: (BridgeOSSoftwareUpdate) [com.apple.BridgeOSSoftwareUpdate:] -[BridgeOSSoftwareUpdateController _handleEvent:]: received progress: PrepareUpdate = 7.303767
2020-10-23 16:41:55.501181-0700 0x1033b05  Default     0x0                  1495   30   softwareupdated: (BridgeOSInstall) [com.apple.mac.install:BridgeOSInstall] Preparing update progress: 7.30
2020-10-23 16:41:56.615577-0700 0x10343c2  Default     0x0                  1495   0    softwareupdated: (BridgeOSSoftwareUpdate) [com.apple.BridgeOSSoftwareUpdate:] -[BridgeOSSoftwareUpdateController _handleEvent:]: received progress: PrepareUpdate = 87.186295
2020-10-23 16:41:56.615655-0700 0x10343c2  Default     0x0                  1495   30   softwareupdated: (BridgeOSInstall) [com.apple.mac.install:BridgeOSInstall] Preparing update progress: 87.19
2020-10-23 16:41:57.964143-0700 0x1033b05  Default     0x0                  1495   0    softwareupdated: (BridgeOSSoftwareUpdate) [com.apple.BridgeOSSoftwareUpdate:] -[BridgeOSSoftwareUpdateController _handleEvent:]: received progress: PrepareUpdate = 91.111293
2020-10-23 16:41:57.964214-0700 0x10343c2  Default     0x0                  1495   30   softwareupdated: (BridgeOSInstall) [com.apple.mac.install:BridgeOSInstall] Preparing update progress: 91.11

O prueba con un comando como este: sudo log stream --predicate "processImagePath Contains[c] 'softwareupdate' AND eventMessage Contains[c] 'progress'" que filtrará los mensajes de registro para incluir sólo los que contengan la cadena 'progress'

También como referencia, después de ejecutar softwareupdate --dump-state puedes ver la información que vuelca en /var/log/install.log .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X