Wednesday, 8 September 2010

VMware Tools - Forcing the Issue

I managed to get into a state with VMware Tools on a Red Hat VM ( RHEL 5.5 if it helps ), where I couldn't start or use the tools, and yet couldn't install them either :-)

Having extracted the contents of the tools archive: -

VMwareTools-8.4.3-282343.tar.gz

to /tmp, I tried to run the installation: -

/tmp/vmware-tools-distrib/vmware-install.pl

and immediately got: -

A previous installation of VMware Tools has been detected.

The previous installation was made by the tar installer (version 4).

Keeping the tar4 installer database format.

You have a version of VMware Tools installed.  Continuing this install will
first uninstall the currently installed version.  Do you wish to continue?
(yes/no) [yes]

Error: Unable to execute "/usr/bin/vmware-uninstall-tools.pl.

Uninstall failed.  Please correct the failure and re run the install.

Execution aborted.

which was less than helpful.

So I can't install the tools because I can't uninstall the tools - which I can't use in the first place :-)

A quickr Google of the exception ( Error: Unable to execute "/usr/bin/vmware-uninstall-tools.pl. ) led me to the VMware forums: -

http://communities.vmware.com/thread/221719

which, although it didn't appear to help the original poster, helped me in that the responder said: -

"...Also since "vmware-install.pl" is a link to "/vmware-tools-distrib/bin/vmware-uninstall-tools.pl"..."

Lo and behold, he's right - I ran the following command: -

/tmp/vmware-tools-distrib/bin/vmware-uninstall-tools.pl

and saw: -

Uninstalling the tar installation of VMware Tools.

Restoring the kernel initrd image.:
The removal of VMware Tools 8.4.3 build-282343 for Linux completed
successfully.  Thank you for having tried this software.

I was then able to install the tools again using /tmp/vmware-tools-distrib/vmware-install.pl and all is good.

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...