How to block updates to Mac OS X Catalina?

Mac OS X Catalina will be released in a few days, so how can I block updates to that OS so it doesn't get downloaded and, ideally, I don't even get prompts to upgrade.

I have 32-bit software I intend to keep on using, so I can't update since this version of OS X will support 64-bit apps only.


Solution 1:

No way to solve the problem via the terminal using:

sudo softwareupdate --ignore "macOS Catalina"

The reminder reappears after few days.

It seems that I solved by removing the SoftwareUpdateNotificationManager launcher.

Namely, from /System/Library/LaunchAgents, move com.apple.SoftwareUpdateNotificationManager.plist to /System/Library/LaunchAgentsIgnored.

Additionally (but it is not clear to me if really needed), I changed the notification configurations in /System/Library/UserNotifications/Bundles/com.apple.SoftwareUpdateNotification.bundle/Contents/Info.plist.

Namely I changed the flags in

<dict>
    <key>UNDaemonShouldReceiveBackgroundResponses</key>
    <true/>
    <key>UNDefaultSettings</key>
    <dict>
        <key>UNSettingAlerts</key>
        <true/>
        <key>UNSettingAlwaysShowPreviews</key>
        <true/>
        <key>UNSettingBadges</key>
        <true/>
        <key>UNSettingModalAlertStyle</key>
        <true/>
        <key>UNSettingSounds</key>
        <true/>
    </dict>
    <key>UNHideSettings</key>
    <true/>
    <key>UNNotificationIcons</key>
    <dict/>
    <key>UNSuppressUserAuthorization</key>
    <true/>

Namely the UNSuppressUserAuthorization flag. However the effect of these flags should be investigated.

A more drastic solution could be to remove the SoftwareUpdateNotification Manager from the core services.

Note that, in order to make these changes, you must boot from another disk, otherwise System is read only.

Solution 2:

You can not block major updates after 10.15.5

  • https://support.apple.com/en-us/HT210642

Before that update (and similar Summer 2020 updates to older OS - namely the 2020-03 update for High Sierra and Mojave, this command no longer works), you can ask Apple’s Software Update to ignore specific available upgrades to macOS Catalina:

  • Open Terminal (in the Utilities folder in the Applications Folder)
  • Run sudo /usr/sbin/softwareupdate --ignore "macOS Catalina"
  • Enter your login password if asked, hit Enter and you should get confirmation that “macOS Catalina” updates will be ignored.

Later, when you decide you want to allow the updates again, you can use:

sudo /usr/sbin/softwareupdate --reset-ignored

(With the Software Update preferences pane open, you can see the effect straightaway.)

Solution 3:

if your OS version is "mojave 10.14.6", you will get the displays:

Ignoring software updates is deprecated.

The ability to ignore individual updates will be removed in a future release of macOS.

And I has fixed it by run

defaults delete com.apple.preferences.softwareupdate LatestMajorOSSeenByUserBundleIdentifier
softwareupdate --list

(Taken from https://tinyapps.org/blog/202005070700_remove_catalina_notification_badge.html)

Solution 4:

System Preferences -> Software updates -> Advanced. You will see options to toggle download and update choices.

It's hard to delay notifications more than a day.