One of the changes in macOS Big Sur is that the softwareupdate command has been updated with new functionality.
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 |
Among the changes is the ability to scan Apple’s Software Update feed and display a list of the currently available full OS installers. To access this list, run the command below with root privileges:
softwareupdate --list-full-installers
The list you receive will be dependent on whether or not your Mac can run a particular OS version. As an example, here’s the list you would receive inside of a VMware VM as of March 3rd, 2021.
Once you have the right macOS installer identified, you can use the softwareupdate tool to download it.
One thing to be aware of is that multiple versions of a macOS full installer may show up in the Software Update feed. As an example of this, the list above includes multiple entries for macOS 10.15.6 and 10.15.7. These installers would be for hardware-specific builds of that macOS version’s full installer. Unfortunately, it’s not easy to tell the various installers apart using the softwareupdate command because the build number is not included.
If you do need to be able to download an installer with a specific build number, I recommend using the installinstallmacos.py tool. This tool also references the Apple Software Update feed, so the information you get back should be similar but also include the relevant build numbers for the macOS full installers.