New Key Added to SoftwareUpdate Command in macOS
When Big Sur released, I noticed an issue trying to discover what macOS versions were available in SoftwareUpdate. I worked around this by using the installinstallmacos.py script to download full installers from the store. This script/tool is solid, but I was really hoping to be able to just do the updates using softwareupdate. Awhile back I filed feedback with Apple to the following:
The --fetch-full-installer parameter for the softwareupdate command line tool is awesome, but there's currently no way to discover the list of available values for the --full-installer-version parameter. Can you please add a --list-installer-versions parameter (or something to that effect) that would show the list of available full installer versions that softwareupdate can download? My understanding is the installer versions relate to the product marketing version (like 11.0, or 10.15.7), but as those versions are added/removed it would be nice easily discover that from the command line.
I admittedly forgot about the feedback after filing it (hoping that someday someone might see it and care).
New Functionality Arrives
To my surprise, I saw a note replying in December saying they fixed this in a new release. The response was vague and pointed to the "About this mac" functionality, which seemed odd. Nevertheless, I went into the command line and started poking around. I ran the
softwareupdate command with the help parameter and found a new option:
1softwareupdate --help 2usage: softwareupdate <cmd> [<args> ...] 3 4** Manage Updates: 5 -l | --list List all appropriate update labels (options: --no-scan, --product-types) 6 -d | --download Download Only 7 -i | --install Install 8 <label> ... specific updates 9 -a | --all All appropriate updates 10 -R | --restart Automatically restart (or shut down) if required to complete installation. 11 -r | --recommended Only recommended updates 12 --list-full-installers List the available macOS Installers 13 --fetch-full-installer Install the latest recommended macOS Installer 14 --full-installer-version The version of macOS to install. Ex: --full-installer-version 10.15 15 --install-rosetta Install Rosetta 2 16 --background Trigger a background scan and update operation 17 18** Other Tools: 19 --dump-state Log the internal state of the SU daemon to /var/log/install.log 20 --evaluate-products Evaluate a list of product keys specified by the --products option 21 --history Show the install history. By default, only displays updates installed by softwareupdate. 22 --all Include all processes in history (including App installs) 23 24** Options: 25 --no-scan Do not scan when listing or installing updates (use available updates previously scanned) 26 --product-types <type> Limit a scan to a particular product type only - ignoring all others 27 Ex: --product-types macOS || --product-types macOS,Safari 28 --products A comma-separated (no spaces) list of product keys to operate on. 29 --force Force an operation to complete. Use with --background to trigger a background scan regardless of "Automatically check" pref 30 --agree-to-license Agree to the software license agreement without user interaction. 31 32 --verbose Enable verbose output 33 --help Print this help 34
Did you catch that?
--list-full-installers List the available macOS Installers
YES! We can now get the list of installers that are available to download!
1softwareupdate --list-full-installers 2Finding available software 3Software Update found the following full installers: 4* Title: macOS Big Sur, Version: 11.2.3, Size: 12211077798K 5* Title: macOS Big Sur, Version: 11.2.2, Size: 12200254955K 6* Title: macOS Big Sur, Version: 11.2.1, Size: 12199403070K 7* Title: macOS Catalina, Version: 10.15.7, Size: 8248985973K 8* Title: macOS Catalina, Version: 10.15.7, Size: 8248854894K 9* Title: macOS Catalina, Version: 10.15.6, Size: 8248781171K 10* Title: macOS Mojave, Version: 10.14.6, Size: 6038419486K 11* Title: macOS High Sierra, Version: 10.13.6, Size: 5221689433K
Happy Downloading and a huge Thank You to the folks at Apple!