Posted on 02-28-2023 08:50 PM
I have been using the bellow command to perform updates from 13 to 13.01, to 13.1, to 13.2, to 13.2.1. What I have noticed and I might be wrong, is, instead of downloading the update installer which is generally less than 3Gb in size, it downloads the entire installer which is 13Gb. Users with slow internet connection at their homes generally get errors. How do make it so that it only downloads the update file and not the full installer?
/Library/Management/erase-install/erase-install.sh --reinstall --version=13.2.1 --update --current-user --depnotify --cleanup-after-use
Posted on 03-01-2023 05:09 AM
erase-install.sh can only work with full installers. In fact, the only way to update using "update files" is using Software Update.
Posted on 03-01-2023 12:19 PM
Doing it that way will always grab the full installer. If you want to grab the stub installer you need to use the MDM commands. Apple has been very clear, if you are using CLI to handle OS updates, stop.
Posted on 03-01-2023 01:13 PM
For clarification: stub installers are not the same as the updates that you obtain via the softwareupdate command, the Software Update pane, or by using MDM installASAP commands.
Stub installers are not really very useful. They are smaller but only because the payload is downloaded upon running it. If you use startosinstall on a stub installer it takes far longer than the combined time of downloading the full installer and running it. I'm not even sure Apple are providing stub installers any more.
erase-install was never intended to be a utility for performing incremental software updates, but has become popular for doing this due to the unreliability of the softwareupdate command and poor options for MDM software update management. If we are lucky, Apple will fix those issues and render erase-install unnecessary :)
03-01-2023 12:31 PM - edited 03-01-2023 12:33 PM
Below is what we use. Change the "Ventura" to whatever OS you're trying to patch.
#!/bin/bash
todayDate=$(date "+%d.%m.%Y")
patchingLogFile=patching_"$todayDate"
exec > /tmp/"$patchingLogFile".txt 2>&1
echo "Part 1:0 log file has been created"
getosupd=$(softwareupdate -l | grep "Ventura" | awk NR==1 | cut -d ' ' -f 3-)
softwareupdate -i "$getosupd" -R 2>&1
Posted on 03-02-2023 04:03 PM
@grahamrpugh is correct IMO. The mass action update commands are not reliable on macOS 13.
I think Erase Install is the most reliable way to update standard users from 13.0 to 13.2.1 right now.
I email folks asking them to update right before they go to bed so the long process can happen while they sleep.
This is a link to a film of my workflow with Nudge and Erase Install.
Hope that helps! ~ B