how do I delete downloaded sequoia software update files before they are installed?
Before I got to configuring my settings to avoid checking for updates, my new M3 Mac (currently running 15.2) downloaded the 15.3 update. I have now made sure to configure software updates in System Settings to be as unobtrusive as possible, but the 15.3 update is still hanging around and MacOS has tried several times to install it, at night, etc., despite my "Automatic Updates" setting being off. Several times it seems like it has rescheduled the update, and I have had to go to System Settings and explicitly unschedule the update.
I am pretty sure that the laptop tried to reboot and install the update anyways last night, and it was only prevented by (happily) my running iTerm2 instances refusing to quit. But it did close a lot of other running software, which is bad form, though I'm careful enough that I didn't lose any important state.
It seems like the only way to really prevent this sort of behavior is to figure out how to remove the downloaded software update files so that MacOS does not think the update is ready to install.
The 15.3 update is not a full install, but a minor point release upgrade, so deleting files in /Applications is not relevant.
I have already done some web searching and investigation for this issue and have ruled out deleting files in /Library/Updates, which on the machine only contains 532K of data, most of which is cruft from a Rosetta install (which is fine; that can stay there).
Software Update in the GUI System Settings says the update is 2.54 GB.
Based on other searches, it seems like the data might be stored in the /System/Library/AssetsV2 directory. This directory is indeed about the right size (du tells me 2.5G or 265204K exactly that I can see), though there are a few subdirectories that are protected from access even using sudo, presumably due to SIP restrictions. Specifically:
du: ./com_apple_MobileAsset_UAF_FM_Visual: Operation not permitted
du: ./com_apple_MobileAsset_UAF_FM_GenerativeModels: Operation not permitted
du: ./com_apple_MobileAsset_UAF_IF_Planner: Operation not permitted
du: ./com_apple_MobileAsset_UAF_FM_Overrides: Operation not permitted
In any case, the AssetsV2 probably consumes more storage than 2.5G at the moment, but by how much I am unsure.
I'm perfectly comfortable rebooting into recovery mode and disabling SIP temporarily so that I can delete the downloaded OS update files, if that is needed, but I of course would like to avoid deleting random system files.
Unfortunately the OS update does not seem to be a nice single archive file that I can just delete, but rather is spread across multiple files, probably in this AssetsV2 directory.
Does anyone know which files to remove, or have any other tips regarding getting rid of a downloaded but not yet installed OS update? Pointers to relevant docs would be welcome as well.
Just to make it clear, I have no plans to avoid the update permanently; I know it is important to keep software up to date for maintenance and security purposes, but I rely on my machines to do other things and prefer to update on my own schedule. I certainly don't want the Mac to be trying to schedule invasive reboots or generating obnoxious regular popups. (I would not object in concept to a configuration where the machine downloaded the updates but then waited for further action from me, but it seems like at the moment such an approach is unreliable. So I would rather just delete the downloaded update files and prevent checking completely.)
As a last resort, I could reinstall the machine from bare metal, but, first, that is a hassle, and, second, I would rather understand how the process works and configure my desired behavior explicitly.
one final data point that might help debugging this issue. In the /Library/Updates directory, there is a ProductMetadata.plist file in which I found a stanza that seems to refer to the 15.3 update, copied below. (I Xd out the cachedProductKey just in case that machine-specific or personally identifying in some way, but I see the same value on two different Macs, so it is probably not.)
<dict>
<key>auxinfo</key>
<dict>
<key>BUILD</key>
<string>24D60</string>
<key>VERSION</key>
<string>15.3</string>
</dict>
<key>cachedProductKey</key>
<string>XXX-XXXXX</string>
<key>tags</key>
<array>
<string>SUBUNDLE:com.apple.InstallAssistant.macOSSequoia</string>
<string>CUSTOMER</string>
</array>
</dict>
MacBook Air 15″, macOS 15.2