Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

10.6: A Service to 'install and keep' software updates System 10.6
Snow Leopard only hintDo you miss the ability to download and keep software updates directly from the Software Update application? I sure do. So I wrote a Service (81KB download) for Snow Leopard that will download and keep a copy of all updates recommended by the Software Update app.

The service will download the updates, then copy them to a folder called Updates in your home folder. It will then launch Software Update and allow you to install the updates without re-downloading them. The Service itself is just two steps, and you can open it up and look at it yourself in Automator.

If you'd like to recreate this yourself instead of downloading, the two steps are:
  1. Ask for Confirmation -- put in any message you'd like displayed before the updates download.
  2. Run Shell Script -- contains the following code:
    softwareupdate -d -a
    rsync -PavE /Library/Updates/ ~/Updates
    open /System/Library/CoreServices/Software\
Save that as a Service and you're ready to go. Alternatively, download from the above direct-download links, unzip, and copy to your user's Library/Services folder; it should immediately show up in the Services menu of any application.

If you need more info, you can read about how it works on my blog. So far I've found this to be extremely handy.

[robg adds: I created a local mirror of the download file (81KB download), and added the source code to the hint for handy one-stop shopping. More details are available in the author's blog entry on the topic.]
  • Currently 2.47 / 5
  You rated: 2 / 5 (17 votes cast)

10.6: A Service to 'install and keep' software updates | 4 comments | Create New Account
Click here to return to the '10.6: A Service to 'install and keep' software updates' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
10.6: A Service to 'install and keep' software updates
Authored by: joelw135 on Dec 02, '09 08:40:26AM

Thank you this is a great hint and it worked great. The only problem I had was that I had to create a Services folder as it didn't exist.

[ Reply to This | # ]
10.6: A Service to 'install and keep' software updates
Authored by: fracai on Dec 02, '09 10:06:35AM
So what happens if you also rsync that directory to another machine?

Is SoftwareUpdate smart enough to not use an update that is meant an alternate architecture? For example, OS updates frequently are offered in different flavors and sizes for different machines. If you pull down an update for 10.6.x on a MacPro and sync it to a MacBook, assuming the MacBook would have pulled down a different package, will SU try to use the incorrect package? Or will it download the correct package instead?

This could save some downloading.

Looks like thee are no worries. I'll likely be adding this as a launchd task
i am jack's amusing sig file
Edited on Dec 02, '09 10:12:18AM by fracai

[ Reply to This | # ]
10.6: A Service to 'install and keep' software updates
Authored by: fracai on Dec 02, '09 06:45:32PM
Anyone looking to use this to download updates on a central machine and then share them to others might want to use something like the following rsync command.

sudo rsync -va --partial --exclude '/*.plist' user@host:/Library/Updates/ /Library/Updates
or rather
sudo rsync -va --partial --exclude '/*.plist' user@host:/Users/user/Updates/ /Library/Updates

The exclude flag ensures that the index.plist and ProductMetadata.plist are not copied. These likely will not matter, but they are also not necessary for new updates and may contain relevant data for incompletely applied packages. Updates that are downloaded but not listed in index.plist will show up as "Partially Downloaded (100%)".
i am jack's amusing sig file

[ Reply to This | # ]
10.6: A Service to 'install and keep' software updates
Authored by: TvE on Dec 04, '09 08:36:12AM

Or perhaps just use OS X Servers SUS functionality (Software Update Service)

[ Reply to This | # ]