Downgrading NetWorker on Mac OS X

I have, on a few occasions, been puzzled as to how to downgrade NetWorker on Mac OS X. There’s a couple of distinct issues that I’ve come up against, and I thought I’d outline them here now that I’ve fully resolved how to do it.

The first is that when NetWorker installs, it’s meant to install uninstall utilities into /Library/Receipts/NetWorker.pkg. However, on Snow Leopard, NetWorker doesn’t write this uninstall information, meaning that technically it’s not possible to uninstall the product. There is, thankfully, a way around this.

First, open up your NetWorker.dmg file, but then drop into the command line and change directory into the NetWorker.pkg/Contents directory within the dmg:

Important Directory Listings - NetWorker Mac OS X Package

In the above screen shot, I’ve shown the two directories you need to be aware of; NetWorker.pkg/Contents, and NetWorker.pkg/Contents/Resources.

You’ll note in the Resources directory that there’s a NetWorkerUninstall script, which needs to be run as root. However, the script depends on there being some content in /Library/Receipts/NetWorker.pkg, so you’ll need to do the following:

$ sudo bash
# cd /Volumes/NetWorker<<version>>/NetWorker.pkg/Contents
# mkdir -p /Library/Receipts/NetWorker.pkg/Contents
# cp Archive.bom /Library/Receipts/NetWorker.pkg/Contents
# cp Resources/NetWorkerUninstall /Library/Receipts/NetWorker.pkg
# /Library/Receipts/NetWorker.pkg/NetWorkerUninstall

Once you run the NetWorkerUninstall script, there’ll be a brief pause before you see a flash of lines with entries such as:

Removing: /usr/share/man/man8/tur.8

and so on.

At the end of this, you theoretically should be able to run the NetWorker installer for the version you want to install. However, you’re likely to still end up with the following output from the installer:

NetWorker Installer - Newer Version Exists

It was this step that had been frustrating me. Thankfully though, I finally started to think like a combined Mac + Unix user, and released there was probably a plist style file hanging around somewhere that wasn’t being cleaned up by the uninstaller, and that if it followed Apple’s naming conventions, it would be com.emc.*.plist. So I did:

# find -xdev / -name "com.emc.*" -print

Lo and behold, I found the following:

/private/var/db/receipts/com.emc.networker.bom
/private/var/db/receipts/com.emc.networker.plist

Removing them was the final piece of the puzzle – without them hanging around, the NetWorker installer utility didn’t pick up there was a newer version of the software installed, and I was finally able to downgrade NetWorker for testing purposes.

5 thoughts on “Downgrading NetWorker on Mac OS X”

  1. Very nice find. May come in very handy, that once in a while, just that very once once, I come across a Mac that is equipped with an nsrexecd.

    Thank you!

  2. I’ve run into this receipt issue on 10.6.x before, and posted an entry on my blog detailing what I found out about it. If you’re interested, it’s at http://tinyurl.com/2fv33cg

    The thing that really messes you up is that 10.6.x still looks for receipts in /Library/Receipts, as well as in /var/db/receipts.

  3. Hey,

    Thanks for that instructions, but I get:

    “bash-3.2# cp Resources/NetWorkerUninstall /Library/Receipts/NetWorker.pkg
    cp: Resources/NetWorkerUninstall: No such file or directory

    I’ve checked in the directory, it’s not there. I’m trying to uninstall 7.6.1 on a 10.6.2 iMac. Any tips?
    Thanks.

    1. The NetWorkerUninstall script seems to not be present in 7.6 SP1 for some reason.

      There’d be no issue though with grabbing an older installer (e.g., NetWorker 7.6) and running the NetWorkerUninstall script found in that.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.