7 votes

Comment observer et contrôler une mise à jour macOS en utilisant `softwareupdate` ?

J'ai commis l'erreur (ne me demande pas) d'entrer

softwareupdate -ia --verbose

dans Terminal, qui est maintenant bloqué en train de faire — je ne sais pas quoi:

Outil de Mise à Jour de Logiciels

Recherche de logiciels disponibles

Téléchargement des Outils de Ligne de Commande (version macOS Mojave 10.14) pour Xcode
Téléchargement de la Mise à Jour macOS 10.14.4
Outils de Ligne de Commande téléchargés (version macOS Mojave 10.14) pour Xcode
Mise à jour macOS 10.14.4 téléchargée
Installation des Outils de Ligne de Commande (version macOS Mojave 10.14) pour Xcode, Mise à jour macOS 10.14.4
Terminé avec les Outils de Ligne de Commande (version macOS Mojave 10.14) pour Xcode

et les tentatives pour l'arrêter avec ^C aboutissent à

Impossible d'annuler les mises à jour une fois l'installation commencée.

Je n'ai aucun indicateur de progression ou de retour, et cela dure depuis des heures et softwareupdate --dump-state ne montre aucune entrée (à part l'exécution de dump-state) depuis un certain temps.

Comment puis-je vérifier le statut d'une installation de softwareupdate, et comment puis-je l'interrompre s'il ne s'arrête pas ou ne se termine pas de lui-même?

15voto

orome Points 10477

Par frustration, j'ai simplement essayé

softwareupdate --install --all

dans une nouvelle fenêtre de Terminal, ce qui a débloqué l'instance de softwareupdate en cours d'exécution dans l'autre fenêtre originale. Cela semble avoir résolu complètement le problème.

7voto

Khb Points 1002

Vous pouvez observer les progrès que softwareupdate réalise en consultant ses messages de journalisation.

Il suffit d'exécuter sudo log stream --predicate "processImagePath Contains[c] 'softwareupdate'" dans un autre terminal pour visualiser les messages de journalisation en direct. Ou consultez les messages enregistrés au cours des 10 dernières minutes en utilisant sudo log show --last 10m --predicate...

Sa journalisation est assez bruyante, mais certains de ces messages relayent les progrès actuels. Il y a un compteur de progression séparé à la fois pour le téléchargement du logiciel et l'installation.

Par exemple, pendant la phase d'installation, je vois des messages comme celui-ci :

$ 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

Ou essayez une commande comme celle-ci : sudo log stream --predicate "processImagePath Contains[c] 'softwareupdate' AND eventMessage Contains[c] 'progress'", qui filtrera les messages de journalisation pour inclure uniquement ceux contenant la chaîne 'progress'

Aussi, pour référence, après avoir exécuté softwareupdate --dump-state, vous pouvez consulter les informations qu'il dépose dans /var/log/install.log.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X