The simplest method is to run a defaults command on the client Macs (easily pushed via Apple Remote Desktop):
defaults write com.apple.SoftwareUpdate CatalogURL 'HTTP_URL_FOR_CATALOG'
for a user. If you run it via sudo it will set it for whenever you use softwareupdate as root.
The
HTTP_URL_FOR_CATALOG
has been changed with
Mac OS X 10.6. If you use MCX it will automatically pick the new catalog – however if doing it manually the following URLs need to be used for whichever client version is in question:
To double check this applied you can run the following command:
/usr/libexec/PlistBuddy -c Print /Library/Preferences/com.apple.SoftwareUpdate.plist
and
/usr/libexec/PlistBuddy -c Print ~/Library/Preferences/com.apple.SoftwareUpdate.plist
to see what settings are for the computer and user appropriately.
If this is working correctly when running Software Update (GUI) you should see the server address appear in parenthesis in the title of the window.
Another alternative is to use Workgroup Manager to manage the preferences via MCX from your server. This can be done for users, or for computers if they are bound to your Open Directory.
If you are using 10.5 Server or newer: you can simply use the Software Update section under Preferences.
Manually:
- Choose the accounts, computers, or groups to have the preference applied to.
- Click on Preferences, and then the Details tab
- Press the Add… button and navigate to /Library/Preferences/com.apple.SoftwareUpdate.plist
- Press Edit…
- Under Often, add a New Key and enter the name CatalogURL
- Make sure the type is string and then enter your SUS URL (eg. http://mysus.example.com:8088/index.sucatalog or if using 10.6: http://mysus.examle.com:8088/ – see above from the defaults section)
- Press Apply Now, then Done. Once users/computers have refreshed their MCX settings (usually the next login or restart) the new settings will take over.
If this is working correctly when running Software Update (GUI) you should see the server address appear in parenthesis in the title of the window.
The DNS trick that Chealion points out is fantastic. I use it at our office, and every computer on our LAN will automatically pull the updates from the local repository at high speed without any configuration.
Create the
swscan.apple.com
DNS zone on your internal DNS server, and have it resolve via an A record to your Mac