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:
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:
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.
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!
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.
Just what I needed. Thank you!
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.
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.