Since I use terraform to clone and provision VMs on ESXi, I need to use VMWare’s ovftool. However, I’ve been having errors lately. The OVFTool wants to install using python2, and I keep getting syntax errors. Seems like it’s using my Python3 install and I can’t get it to install.
If we cannot install the ovftool via the conventional way, we have to find a detour or a workaround to get there. For this particular issue with the failed installation on Ubuntu 20.04, this means extracting the ovftool files from the installation .bundle, copying them to /usr/bin/ and configure an alias for the ovftool executable.
Execute ovftool without installing it
This is how it works step-by-step:
Extract the files and change into directory ovftool (you can name the extracted directory as you want):
sudo ./VMware-ovftool-4.4.1-16812187-lin.x86_64.bundle --extract ovftool && cd ovftool
ls -rtl
total 16K
drwxr-xr-x 4 root root 4,0K Mär 9 14:07 .
drwxr-xr-x 5 rguske domain^users 4,0K Mär 9 14:07 ..
drwxr-xr-x 9 root root 4,0K Mär 9 14:07 vmware-installer
drwxr-xr-x 6 root root 4,0K Mär 9 14:07 vmware-ovftool
Here’s what’s in it:
$ tree -L 2
.
├── vmware-installer
│ ├── artwork
│ ├── bin
│ ├── bootstrap
│ ├── lib
│ ├── manifest.xml
│ ├── python
│ ├── sopython
│ ├── vmis
│ ├── vmis-launcher
│ ├── vmware-installer
│ ├── vmware-installer.py
│ ├── vmware-uninstall
│ └── vmware-uninstall-downgrade
└── vmware-ovftool
├── certs
├── env
├── icudt44l.dat
├── libcares.so.2
├── libcrypto.so.1.0.2
├── libcurl.so.4
├── libexpat.so
├── libgcc_s.so.1
├── libgoogleurl.so.59
├── libicudata.so.60
├── libicuuc.so.60
├── libssl.so.1.0.2
├── libssoclient.so
├── libstdc++.so.6
├── libvim-types.so
├── libvmacore.so
├── libvmomi.so
├── libxerces-c-3.2.so
├── libz.so.1
├── manifest.xml
├── open_source_licenses.txt
├── ovftool
├── ovftool.bin
├── README.txt
├── schemas
├── vmware.eula
└── vmware-eula.rtf
11 directories, 31 files
Move the vmware-ovftool directory to /usr/bin/:
sudo mv vmware-ovftool /usr/bin/
Make the two files ovftool as well as ovftool.bin executable:
sudo chmod +x /usr/bin/vmware-ovftool/ovftool.bin sudo chmod +x /usr/bin/vmware-ovftool/ovftool
Configure an alias for your used shell to execute it as usual:
alias ovftool=/usr/bin/vmware-ovftool/ovftool
This allows me to run the ovftool as usual.
Leave a Reply