EGOPOLY

Topics include: programming, Apple, Unix, gadgets, large-scale web sites and other nerdy stuff.

How to point your local Macs to a Leopard Server for Software Update

2008-06-18 22:39:47

I'm playing around with Leopard server for my wife's work. While it pains me to pay $500 for an operating system, Leopard server does make a number of things very easy that should save me way more than that much in time and frustration.

One of the things you can set up on a Leopard server is the software update service. This is akin to setting up a yum repository on your local LAN for Red Hat or whatever they call the distro thing on Debian. It's pretty easy/obvious to set up the server side; you just turn on the service, it shows ALL the software updates from Apple from forever (or so it seems). Then it starts downloading them to the server.

What is not obvious is how to point your local Macs to this update server instead of the one at Apple. At my wife's work, they will have 10-15 Macs, so it can save a lot of bandwidth/time if every single machine can download patches locally.

I find this kind of situation quite often in Leopard server (and previous versions of OS X server as well.) Apple creates a feature that clearly does what you want, but does not document the client half of things very well. One is left to search the web, and eventually stumble upon the answer in a forum or on a blog.

So what's the answer? On your client machine, do this:

% defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL "http://10.0.67.13:8088/"

This assumes that your SERVER is at IP address 10.0.67.13. Yours probably isn't. You can also use a DNS name, or a name from your local /etc/hosts file.

I found this in an apple discussion article.

Some further digging revealed the answer deep in this document, on page 88.

Update: to undo, and go back to apple as software update source:

defaults delete /Library/Preferences/com.apple.SoftwareUpdate CatalogURL