Most of us are pretty familiar with updating Mac OS. You go to the System Preferences app (now Settings on Mac OS Ventura) and hit “Software Update” and see what you’ve got. Earlier versions of Mac OS would have you download updates through the “Updates” panel in the Mac App Store, and still even older versions had a dedicated app for that. But what happens if you can’t seem to get that to work? Is there another way to check, download, and install updates? There is in fact! It comes through our friend the Mac Terminal.
Now there are a lot of options that can be found through here, especially with the releases of 10.15 “Catalina” and OS 12 “Big Sur”. Here, I’m going to focus on finding the updates, picking and installing the ones you want, and how to download them without installing them.
Before You Begin:
Let’s get a few standard things out of the way. First, you need to be careful when using the Terminal, as you could end up messing up something if you don’t type things in correctly. Second, you should always have a good backup of your machine in case something goes wrong.
Now for the specifics of this tutorial. First, these are the updates to Mac OS, not upgrades. The difference is that the update is a revision to the existing version of the system you’re running (e.g. going from 12.6 → 12.6.1, it’s still Big Sur). whereas an upgrade is going to a whole new version of your system (e.g. going from 12 → 13, Big Sur to Ventura). You can actually use the Terminal to upgrade your Mac to a new version if you meet the requirements, but that’s not what this tutorial is about at the moment.
Lastly, you will need to be logged into an admin account in order to do this. If you are using these commands in a standard user account, it won’t work.
With all that said, let’s get started.
Check for Updates
Open up the Terminal app, and type in the following:
sudo softwareupdate --list
You can also save yourself a few keystrokes (4 to be precise) by replacing –list with -l so it reads
sudo softwareupdate -l
This will ping Apple’s Software Update server and return a list of updates available to your machine with some details. An example image from a recent Big Sur update is below which I’ll be using as reference.
Here we see there are 2 updates available: Safari 16.1 for macOS Monterey and the macOS Monterey version 12.6.1. The label lists the name of the file that is actually downloaded and run when you install the update. Below that is the Title, which is the more human-readable name, along with the update’s version number, the size of the file in kilobytes, and whether the file is recommended (I don’t think I’ve ever seen one in here that wasn’t “Recommended” though). There is also an additional one labeled “Action” under the 12.6.1 update, which says restart. As one might expect, this means that the computer will need to restart in order to complete the update.
Now that we’ve got the updates, how do we go about getting them onto our machine?
Download Install and Updates:
If you’re ready to install those updates now, then it’s pretty easy. If you want to install all the updates listed, type in:
sudo softwareupdate --install -all
Or take the shorter route and type in:
sudo softwareupdate -i -a
This will instruct the update to download and install all the updates in the list. If you only want to install a particular update, then you’ll need to type in the label for that update. In the example from above, if I only want to install the Safari update, I’d type in the following
sudo softwareupdate -i Safari16.1MontereyAuto-16.1
If that seems a bit unwieldy, then you can replace that long label with –safari-only for the Safari updates or –os-only for the macOS updates.
For updates that require a reboot, this command will not trigger that reboot. To allow the machine to reboot automatically add -r or –restart after the -a and -i.
But let’s say that you want to get them prepped but not installed just yet, which is really useful for updates where a reboot may be necessary.
Only Download Updates:
There may be times where this is necessary. To download an update, type in the following while replacing UPDATE_NAME_HERE with the name of your update:
sudo softwareupdate --download UPDATE_NAME_HERE
If you want to customize the downloading of updates, you can use the same arguments as we did in the Install section, such as downloading all updates by using:
sudo softwareupdate -d -a
Downloaded updates will be stored in /Library/Updates, but you shouldn’t expect to be able to double click the installers and run them from here. Instead these will need to be installed either through the –install command through the Terminal or from the Software Update app.