Now that I have started the Software Update service on my Leopard Server, how do I change my client Macs to check for updates on it?
Now that I have started the Software Update service on my Leopard Server, how do I change my client Macs to check for updates on it?
Defaults
The simplest method is to run a defaults command on the client Macs (easily pushed via Apple Remote Desktop):
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:http://mysus.example.com:8088/index.sucatalog
http://mysus.example.com:8088/index-leopard.merged-1.sucatalog.sucatalog
http://mysus.example.com:8088/index-leopard-snowleopard.merged-1.sucatalog
http://mysus.example.com:8088/index-lion-snowleopard-leopard.merged-1.sucatalog
index-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog
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.
MCX
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:
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.
In order to have a system-wide configuration one has to run the following:
In order to correctly work both on Leopard and Snow Leopard the right command to issue is:
Happily used and tested on my network :)
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 OS X Server. On the Mac OS X Server itself, edit the/etc/hosts
file and add the actual IP address forswscan.apple.com
so that it doesn't resolve back to itself.One thing to point out - you will need a Snow Leopard server for it to work with Snow Leopard clients - otherwise it breaks.
Note - 10.5 SU Repository is in
/usr/share/swupd
, 10.6 SU Repository is moved to/private/var/db/swupd
.You also need to enable the Web Service and add the following Web Aliases on port 80 in Server Admin, for 10.4, 10.5, and 10.6 clients to get the updates:
Software Update Enabler is an excellent free application for configuring clients.
I came up with a really simple method for delivering software updates to all unmanaged macs on the network, with a minimal amount of hackery on a 10.7 lion server.
make an A record in DNS as stated above, make sure swscan.apple.com is pointed at the IP for your server.
add the correct entries for swcan.apple.com and swquery.apple.com to your servers /etc/hosts file, to ensure that it will still get updates from apple.
enable the web service, and leave everything at defaults - note the path that the web service is using.
create a symlink, replacing the web service's path with the location of your software update catalogs:
ln -Ffs /private/var/db/swupd/html /Library/Server/Web/Data/Sites/Default
that pretty much got me sorted with a minimum effort.
I have made an app that will set the Software Update Server on Snow Leopard, Leopard or Tiger. It will set the Software Update Server by checking the Server's version to see if it is compatible with your OS version. If you try to use a Leopard (no Snow Leopard Hack) or Tiger Server with Snow Leopard it will say it is not compatible. If it is it will set it. If you are trying to use a Tiger Server with Leopard it will set it but you will only get Tiger updates.
Download: http://iwczone.co.uk/projects/iSetSU/
MacUpdate: http://www.macupdate.com/info.php/id/33740/iset-sus
To use Leopard Server Software Update Server with Snow Leopard Clients see Jan Uschok's answer to "Can 10.5.8 Server serve 10.6 updates using Software Update Services?".