aaron-kelley.net

My little corner of the Internet

Use Apple Software Update Services on Mac OS X Server 10.5 to serve updates to 10.6 clients

Since Mac OS X Server 10.4, apple has included a software update service that allows you to mirror their software updates to your local server, and configure your clients to check the local server for updates instead of the Apple servers.  This has a few benefits — it can save you a lot of bandwidth when updating lots of clients, you can choose which updates are pushed to your clients and when, and so on.  However, when a new major release of Mac OS X comes along, like this past August’s release of Mac OS X 10.6, they want you to upgrade your server OS to the new release for their software update service to grab the updates for the new client OS.

In other words, if you have a server running Mac OS X Server 10.5, you can’t use it to serve updates to client machines running Mac OS X 10.6, unless you upgrade the server to 10.6 as well.  This limitation seems a little silly, surely Apple could push an update for Mac OS X Server 10.5 that told it where to look for 10.6 updates.  The update service itself doesn’t seem to have really changed — you can tell your 10.6 clients to check your 10.5 server for updates, and it will work fine, you’ll just miss out on updates specific to Mac OS X 10.6.

…or is there a way around this limitation?

Here is how to configure Mac OS X Server 10.5 to serve updates to 10.6 clients.  A disclaimer: I am sure this method is not supported (or maybe even frowned upon) by Apple.  But, it’s working for me.  Also, I am assuming that you are an experienced OS X admin, and I am not responsible if your server blows up or otherwise exhibits unexpected behavior as a result of you following these directions.

  • Stop Software Update Services on the server.
  • Create a file with the following content and save it to /usr/share/swupd/html/content/meta/mirror-config-1.plist:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

    PrimaryCatalog

    http://swscan.apple.com/content/catalogs/index.sucatalog

    CatalogsList

    http://swscan.apple.com/content/catalogs/index.sucatalog

    http://swscan.apple.com/content/catalogs/others/index-leopard.merged-1.sucatalog

    http://swscan.apple.com/content/catalogs/others/index-leopard-snowleopard.merged-1.sucatalog

  • Change the metaIndexURL in /etc/swupd/swupd.plist as follows:

    metaIndexURL

    http://myserver.com:8088/content/meta/mirror-config-1.plist

  • Start Software Update Services and wait for it to download the catalog files.
  • Generate symbolic links to expose the new catalogs on the local web server:

    cd /usr/share/swupd/html
    ln -s /usr/share/swupd/html/content/catalogs/index.sucatalog . # this one is probably already present
    ln -s /usr/share/swupd/html/content/catalogs/others/index-leopard.merged-1.sucatalog .
    ln -s /usr/share/swupd/html/content/catalogs/others/index-leopard-snowleopard.merged-1.sucatalog .

  • Restart Software Update Services again, just to be sure.  (After a while, you should notice that it has downloaded some 10.6 updates.)
  • Change the URL that the 10.6 clients use to check for updates.  Normally, you would use this command:

    defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://myserver.com:8088/

    But now, we’ll use this:

    defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://myserver.com:8088/index-leopard-snowleopard.merged-1.sucatalog

  • Now, the 10.6 clients should be able to get their updates from your 10.5 server.  :-)

Now, this wasn’t my idea, I found it in response to a query someone made at Apple’s support web site, back when Mac OS X 10.6 was still pretty new.  I am posting it here in hopes that it will help someone else down the line.

Tags: ,

2 Responses to “Use Apple Software Update Services on Mac OS X Server 10.5 to serve updates to 10.6 clients”

  1. pantaloni più everyday, stile deep blue tendenza è ancora senza sosta, lo spessore del layout striscia mosaico, livello di anxiety salti senso visivo.

  2. Jack McShea says:

    Thanks very much for the post. Just what the doctor ordered. I noticed the problem on one of my servers and it really pissed me off. Glad to finally have a solution in hand.

Leave a Reply

This site is protected by Akismet. I now receive too many spam comments to manually check them all for misclassifications. If you suspect that your comment has been filtered as spam (i.e., it does not appear right away), please try rewording it and submitting again. Using no more than one hyperlink will also improve the chances of your comment not being accidentally filtered as spam.
131,921 spam comments detected since August 1, 2009.