New Key Added to SoftwareUpdate Command in macOS


List-Full-Installers

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:

softwareupdate --help
usage: softwareupdate <cmd> [<args> ...]

** Manage Updates:
	-l | --list		List all appropriate update labels (options:  --no-scan, --product-types)
	-d | --download		Download Only
	-i | --install		Install
		<label> ...	specific updates
		-a | --all		All appropriate updates
		-R | --restart		Automatically restart (or shut down) if required to complete installation.
		-r | --recommended	Only recommended updates
	--list-full-installers		List the available macOS Installers
	--fetch-full-installer		Install the latest recommended macOS Installer
		--full-installer-version	The version of macOS to install. Ex: --full-installer-version 10.15
	--install-rosetta	Install Rosetta 2
	--background		Trigger a background scan and update operation

** Other Tools:
	--dump-state		Log the internal state of the SU daemon to /var/log/install.log
	--evaluate-products	Evaluate a list of product keys specified by the --products option 
	--history		Show the install history.  By default, only displays updates installed by softwareupdate.  
	--all 			Include all processes in history (including App installs) 

** Options:
	--no-scan		Do not scan when listing or installing updates (use available updates previously scanned)
	--product-types <type>		Limit a scan to a particular product type only - ignoring all others
		Ex:  --product-types macOS  || --product-types macOS,Safari 
	--products		A comma-separated (no spaces) list of product keys to operate on. 
	--force			Force an operation to complete.  Use with --background to trigger a background scan regardless of "Automatically check" pref 
	--agree-to-license		Agree to the software license agreement without user interaction.

	--verbose		Enable verbose output
	--help			Print this help

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!

softwareupdate --list-full-installers
Finding available software
Software Update found the following full installers:
* Title: macOS Big Sur, Version: 11.2.3, Size: 12211077798K
* Title: macOS Big Sur, Version: 11.2.2, Size: 12200254955K
* Title: macOS Big Sur, Version: 11.2.1, Size: 12199403070K
* Title: macOS Catalina, Version: 10.15.7, Size: 8248985973K
* Title: macOS Catalina, Version: 10.15.7, Size: 8248854894K
* Title: macOS Catalina, Version: 10.15.6, Size: 8248781171K
* Title: macOS Mojave, Version: 10.14.6, Size: 6038419486K
* Title: macOS High Sierra, Version: 10.13.6, Size: 5221689433K

Happy Downloading and a huge Thank You to the folks at Apple!

macOS 

See also