I needed to have a local mirror of VMware software, and logging into my.vmware.com, downloading, and then uploading was becoming tiresome.

I tried the VMware software solution, but:

  1. Windows only
  2. Borke all the time.

Then I found this:

Texiwill/aac-lib

It needs several packages pre-installed, but it mostly takes care of everything, as of now, it is running on a CentOS machine, the following script is running via cron daily, you will need to git pull acc-lib first.

#!/bin/bash
#
_USERNAME="my vmware account"
_PASSWORD="my vmware password"

cd ~aac-lib/vms
git pull

for _REPO in $(cat ~/vmware-repos.txt) 
do
  ./vsm.sh -c -y -nc --symlink --fav $_REPO -u $_USERNAME -p $_PASSWORD
done

Content of the vmware-repos.txt are similar to this, if you run vsm.sh you will understand the naming convention

Datacenter_Cloud_Infrastructure_VMware_Tools_12_x_VMware_Tools
Datacenter_Cloud_Infrastructure_VMware_vSphere_8_0_Enterprise_Plus
Infrastructure_Operations_Management_VMware_vRealize_Log_Insight_8_8

And here is a sample .vsmrc to get you started, I put everything in /data, which is a separate partition of about 4TB at the moment:

repo='/data/vmware-content'
cdir='/data/vmwarevsmxml'
symlink=1

I then export the vmware-content directory via a web server, just a nginx with FancyIndexing enabled, and also via NFS and FTP.

If you need more details, ask away.

I have been using this for a couple of years now, it rarely fails me.