A couple of days ago I’ve had a little bit of an issue with my installation of the OSX on my trusty 2010 MacBook Pro. Generally, my Mac has hanged and the screen went all funny, and the only way for me to get it working again was to do a reboot. After that all came up fine, but Safari started misbehaving and nothing I could think of, including clearing caches, preferences, history, etc. was helping.I don’t really want to go into too much detail as this is not the point of my post, but taking into consideration that:
- I’m in Antarctica with extremely slow Internet link
- I don’t have .dmg’s or other installation media for a lot of the software I use on my Mac (and, quite a bit of that comes from the Mac App Store anyway)
- I do religiously make Time Machine backups and I’ve had a fresh one from pretty much just before the crash
I’ve decided that the easiest course of action is to restore from the Time Machine. Two hours later my Mac was back up and running, all software working correctly and the world again was a better place (at least for me).
What’s all that to do with the subject above? Well it turns out that I’ve somewhat forgotten about one minor thing, which did cause a slight inconvenience. I’m using Parallels and I’ve had a Windows VM installed on a local disk of my Mac, and which I’ve decided no to include in the Time Machine backup. I’ve also had a clone of that VM on an external hard drive, but as I wasn’t using it routinely, it really was quite old and not all software I’ve had on the local one has been installed on the external one. One of the missing applications was the VMware Client.
A quick word about VMware vSphere Client
In the real world I have two physical servers running VMware. One of those is a really old machine and the latest supported ESXi version is 4.1U3. The other one is a fairly new server and it’s running VMware vSphere 6. And, in addition to that, there’s a couple of servers I’m looking after here in Antarctica, and they all run ESXi 5.5.
For some reason I don’t fully understand, each version of the ESXi requires its own version of the VMware Client. It’s not that the newest client supports older versions, each really does need all of a 300MB client!
Now – the fact that I’m running three different versions of ESXi that I need to access means I need to download 1GB of client software.
To make matters worse, VMware in their wisdom decided to retire ESXi 4.1 – as the result of that, there’s no direct download links for the client software directly compatible with this version. The only way to get it is to download a newer, officially supported client, and then let it download the older version. That’s all fine, but this would pretty much fill up our Internet link for several hours and make a lot of people unhappy.
So what does one do?
Downloading stuff over a slow link to Antarctica
The slow link we have here means we need to manage downloads. If there’s anything we want to get here that’s more than just a couple of MBs, the way to do that is to download it to a server in the real world, and then use rsync with bandwidth limit to trickle download it here. This uses just a couple of percent of the link’s bandwidth, and typically means in a day or two I can have my large file.
URL for VMware Client direct download
I’ve managed to find a couple of websites which list the URLs to ever changing VMware Client versions. Some of those links worked, some didn’t. But finally, when I looked at the URLs and the files I get, it all made sense. Ladies and gentlemen – instead of giving you the URLs to the particular versions, I think I’ve figured out the scheme VMware use to construct those URLs!
The way to direct download the VMware Client version you need to a remote server is to:
- run the VMware Client version you have and try to connect to a remote ESXi host
- let the client start downloading the new version and when presented with a window asking if you want to run or save the file, choose save
- in a minute or so stop the download and check the name of the file that the client started downloading. In my case, for the client compatible with ESXi version 4.1U3, the downloaded file was
- construct the URL from which to download the file, using the following template:
- /A/B/C/D/E/F/G are the individual digits of the build version number for the client
- X.Y.Z is the vSphere version
So in the example above, the full URL would be:
All that’s left now is to log in to the remote server,
wget the link above, and then slowly rsync it to my laptop. It still means I need to download 1GB of software, but at least I can now do it in a managed way.