Giving macOS Software Updates a Nudge

When we first got a small suite of iMacs at my school back in 2010, I could keep them all up-to-date by just manually going around and running Software Update on each machine. Later on I discovered that I could use Apple Remote Desktop to push out a Unix command to trigger the update on multiple machines at once, which seemed pretty cool at the time.

However, as the number of Macs began to multiply, keeping on top of updates became an increasing problem. As the computers were spread out across the school, I couldn’t be sure that they weren’t being used when I was wanting to run the updates, and the whole process required too much hand-holding.

After a bit of searching around on the interweb, I stumbled upon Munki. Developed by Greg Neagle at Disney, it allowed (amongst other things) for a Mac to install Apple’s software updates whilst the Mac was sitting on the login screen. By scheduling the Macs to turn on early enough in the morning, I could be sure that they were freshly on the latest and greatest version of the operating system for users at the start of each day.

Fast forward to 2020 with macOS Big Sur, and then Apple Silicon, Apple Software Updates increasingly relied on the user to actually hit the ‘restart’ button for them to install, leaving Munki unable to perform this task automatically. What to do about this?

The first thing I did was to use a configuration profile to turn on ‘automatic updates’ in System Preferences. Some updates would still require a user-initiated restart however.

I then came upon a newly developed piece of software called Nudge. Read a great blog post by Andrew Doering here!

The idea of Nudge is that the little application will pop up and ‘nudge’ users towards hitting that restart button in System Preferences. It can be configured in lots of different ways, such as giving users a certain number of dismisses of the app before it starts seriously nagging the user to just do the update. Great stuff!

Everything about how to install and set it up is on the Get Started and Readme pages, so do take a look there. Here are a few pointers from my experience, which may also be of assistance:

  • First thing to do is to get the Nudge app installed. The latest build is on the site and can be deployed using your management tool of choice. I used a policy in Jamf Pro.
  • Next you need to configure it. I used a configuration profile, making use of the handy Jamf Pro Guide which explains how to import a JSON configuration schema. Nice!
  • I completely missed step three at first, which is to install the launch agent, which is programmed to make Nudge run every 30 minutes. As otherwise it will never start nudging those users!

I’ve let staff know that we need them to play their part and run the update, but hopefully Nudge will, we, ‘nudge’ them along nicely as well!