方便的 my.vmware.com 下載工具 - vmw-cli 測試小記
OS: openSUSE Leap 15 in Azure
之前看到一個工具 vmw-cli 可以用 command line 方式下載 VMware 產品 ISO
今天有點時間, 來嘗試一下
# zypper install npm8
Building repository 'openSUSE-Leap-15.0-Non-Oss' cache ...................[done]
Building repository 'openSUSE-Leap-15.0-Oss' cache .......................[done]
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 4 NEW packages are going to be installed:
nodejs-common nodejs8 nodejs8-devel npm8
The following recommended package was automatically selected:
npm8
4 new packages to install.
Overall download size: 8.7 MiB. Already cached: 0 B. After the operation,
additional 34.7 MiB will be used.
Continue? [y/n/...? shows all options] (y): Y
使用 npm 安裝 vmw-cli
# npm install vmw-cli --global
/usr/local/bin/vmw-cli -> /usr/local/lib/node_modules/vmw-cli/lib/vmw-cli.js
+ vmw-cli@1.1.13
added 82 packages in 8.946s
還沒有定義帳號密碼前先觀察資訊, 使用 vmw-cli list 可以列出產品
# vmw-cli list
vmware-workstation-pro
vmware-workstation-player
vmware-workspace
vmware-workspace-one
vmware-vsphere
vmware-vsphere-with-operations-management
vmware-vsphere-storage-appliance
vmware-vsphere-integrated-containers
vmware-vsphere-hypervisor-esxi
vmware-vsphere-data-protection-advanced
vmware-vsan
...
但是要進行其他相關指令會被提示要有帳號以及密碼
# vmw-cli index vmware-vsphere
Updating [fileIndex.json] for all permitted downloads in [vmware-vsphere] ...
[ERROR]: environment variables $VMWUSER and $VMWPASS not set! Please configure
接下來嘗試 export 帳密
#export VMWUSER='<userid>'
#export VMWPASS='<password>'
嘗試 inex 但是這個過程會很久, 然後會產生 fileIndex.json
# vmw-cli index vmware-vsphere
觀察相關資訊
# ls /usr/local/lib/node_modules/vmw-cli/lib
cookies.json extract-files.js get-file.js get-product.js group.vmware-vsphere.json index.json.session utils.js vmw-cli.js xtable.js
examples fileIndex.json get-index.js get-solution.js index.json mainIndex.json vmw-api.js xcell.js
接下來嘗試 vmw-cli find 指令
這邊是找出檔案名稱內有 vcsa 字元的
# vmw-cli find fileName:vcsa
Loading available solutions in [fileIndex.json] ...
solution productGroup productType version fileName fileDate fileSize fileType download
----------------------------------------- ------------ ---------------- --------- ------------------------------------------------------------ ---------- -------- -------- --------
vmware-workspace-one VC67U1 Product Binaries 6.7.0U1 VMware-VCSA-all-6.7.0-10244745.iso 2018-10-16 3.95 GB iso yes
vmware-workspace-one VC60U2M Product Binaries 6.0U2M VMware-VCSA-all-6.0.0-4191361.iso 2016-09-15 2.605 GB iso yes
vmware-vsphere VC67U1 Product Binaries 6.7.0U1 VMware-VCSA-all-6.7.0-10244745.iso 2018-10-16 3.95 GB iso yes
vmware-vsphere VC65U2C Product Binaries 6.5.0 U2c VMware-VCSA-all-6.5.0-9451637.iso 2018-08-14 3.27 GB iso yes
vmware-vsphere VC65U1G_OSS Open Source 6.5.0U1g open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt 2018-03-20 4.59 MB txt yes
vmware-vsphere VC60U3H Product Binaries 6.0 U3h VMware-VCSA-all-6.0.0-9451619.iso 2018-08-14 3.09 GB iso yes
vmware-vsphere VC60U2M Product Binaries 6.0U2M VMware-VCSA-all-6.0.0-4191361.iso 2016-09-15 2.605 GB iso yes
vmware-vsphere-with-operations-management VC67U1 Product Binaries 6.7.0U1 VMware-VCSA-all-6.7.0-10244745.iso 2018-10-16 3.95 GB iso yes
vmware-vsphere-with-operations-management VC60U3H Product Binaries 6.0 U3h VMware-VCSA-all-6.0.0-9451619.iso 2018-08-14 3.09 GB iso yes
vmware-vsphere-with-operations-management VC60U2M Product Binaries 6.0U2M VMware-VCSA-all-6.0.0-4191361.iso 2016-09-15 2.605 GB iso yes
vmware-vsphere-with-operations-management VC65U2C Product Binaries 6.5.0 U2c VMware-VCSA-all-6.5.0-9451637.iso 2018-08-14 3.27 GB iso yes
vmware-vsphere-with-operations-management VC65U1G_OSS Open Source 6.5.0U1g open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt 2018-03-20 4.59 MB txt yes
vmware-vsan VC67U1 Product Binaries 6.7.0U1 VMware-VCSA-all-6.7.0-10244745.iso 2018-10-16 3.95 GB iso yes
vmware-vsan VC65U2C Product Binaries 6.5.0 U2c VMware-VCSA-all-6.5.0-9451637.iso 2018-08-14 3.27 GB iso yes
vmware-vsan VC65U1G_OSS Open Source 6.5.0U1g open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt 2018-03-20 4.59 MB txt yes
vmware-vsan VC60U3H Product Binaries 6.0 U3h VMware-VCSA-all-6.0.0-9451619.iso 2018-08-14 3.09 GB iso yes
vmware-vsan VC60U2M Product Binaries 6.0U2M VMware-VCSA-all-6.0.0-4191361.iso 2016-09-15 2.605 GB iso yes
vmware-vcloud-suite VC67U1 Product Binaries 6.7.0U1 VMware-VCSA-all-6.7.0-10244745.iso 2018-10-16 3.95 GB iso yes
vmware-vcloud-suite VC60U2M Product Binaries 6.0U2M VMware-VCSA-all-6.0.0-4191361.iso 2016-09-15 2.605 GB iso yes
vmware-vcloud-nfv VC65U1G_OSS Open Source 6.5.0U1g open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt 2018-03-20 4.59 MB txt yes
vmware-horizon VC67U1 Product Binaries 6.7.0U1 VMware-VCSA-all-6.7.0-10244745.iso 2018-10-16 3.95 GB iso yes
vmware-horizon VC60U2M Product Binaries 6.0U2M VMware-VCSA-all-6.0.0-4191361.iso 2016-09-15 2.605 GB iso yes
vmware-horizon VC65U1G_OSS Open Source 6.5.0U1g open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt 2018-03-20 4.59 MB txt yes
vmware-horizon-apps VC67U1 Product Binaries 6.7.0U1 VMware-VCSA-all-6.7.0-10244745.iso 2018-10-16 3.95 GB iso yes
[ 24/25310 ] entries - filter [ fileName:vcsa ]
從 fileIndex.json 內找出 24 筆
從上面的的輸出可以看到有不同的產品(solution), 不同檔案類型(fileType) 的產品
所以再加上過濾條件
# vmw-cli find fileName:vcsa,fileType:txt
Loading available solutions in [fileIndex.json] ...
solution productGroup productType version fileName fileDate fileSize fileType download
----------------------------------------- ------------ ----------- -------- ------------------------------------------------------------ ---------- -------- -------- --------
vmware-vsphere VC65U1G_OSS Open Source 6.5.0U1g open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt 2018-03-20 4.59 MB txt yes
vmware-vsphere-with-operations-management VC65U1G_OSS Open Source 6.5.0U1g open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt 2018-03-20 4.59 MB txt yes
vmware-vsan VC65U1G_OSS Open Source 6.5.0U1g open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt 2018-03-20 4.59 MB txt yes
vmware-vcloud-nfv VC65U1G_OSS Open Source 6.5.0U1g open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt 2018-03-20 4.59 MB txt yes
vmware-horizon VC65U1G_OSS Open Source 6.5.0U1g open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt 2018-03-20 4.59 MB txt yes
[ 5/25310 ] entries - filter [ fileName:vcsa,fileType:txt ]
嘗試下載檔案, 因為是 Lab, 所以下載 .txt 檔案測試, 檔案名稱由上面的 find 取得
# vmw-cli get open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt
Loading available solutions in [fileIndex.json] ...
Session file[/usr/local/lib/node_modules/vmw-cli/lib/index.json] [922] older than [600] seconds...
Synching delicious cookies from [https://my.vmware.com]
Offering up afforementioned snacks as a sacrifice to [https://my.vmware.com/oam/server/auth_cred_submit]
Pulling landing index.json [https://my.vmware.com/group/vmware/downloads]
{
"name": "Open Source License file for vCenter 6.5.0U1g",
"fileName": "open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt",
"fileDate": "2018-03-20",
"fileSize": "4.59 MB",
"fileType": "txt",
"md5sum": "06a3fab64c7a8ae2f962cf0b1576e95a",
"sha1sum": "229ad762dc69314c8c9bbefa2133b35cf1c2a800",
"sha256sum": "f38b53198fdc99bc2fed1b5d5b56c0967246103bd26af04c98c96abd97119e90",
"download": {
"downloadGroupCode": "VC65U1G_OSS",
"downloadFileId": "06a3fab64c7a8ae2f962cf0b1576e95a",
"vmware": "downloadBinary",
"baseStr": "",
"hashKey": "",
"tagId": "",
"productId": "",
"uuId": "53a9a37c-a7d3-47fc-aec8-c37834bcfe20"
}
}
[open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt] downloading... [=================================================>] 100% 0.0s 2789 KB/s 04.81/04.81 MB
MD5 MATCH: local[ 06a3fab64c7a8ae2f962cf0b1576e95a ] remote [ 06a3fab64c7a8ae2f962cf0b1576e95a ]
觀察相關資訊
# ls
.bash_history .config .gnupg .npm .viminfo bin open-source-license-VMware-vCenter-Server-VCSA-65U1-g-GA.txt
下載完成
vmw-cli 也有容器化的版本, 因為大同小異, 所以就沒有再次測試
也算是多一個方便下載 my.vmware.com的工具吧
~ enjoy it
Reference: