Saturday, July 23, 2011

Install VMware tools on Linux

  1. Install your Red Hat or CentOS virtual machine (VM) using whichever mechanism works best for your environment. I use a Preboot eXecution Environment, or PXE, bootserver for such things.
  2. Configure the Red Hat or CentOS VM using your standard procedures.

Then, perform the following additional configuration steps:

  1. rpm --import http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub
  2. Use the following script to create a repository file useable by the yum command.

    Note that you need to substitute with 3.5u2, 3.5u3, or 3.5u4. You also need to substitute with either i686 or x86_64 depending on whether your VM is a 32-or 64-bit VM, respectively.

cat > > /etc/yum.repos.d/vmware-tools.repo < < EOF [vmware-tools]
name=VMware Tools for Red Hat Enterprise Linux $releasever - $basearch
baseurl=http://packages.vmware.com/tools/esx//rhel5/

enabled=1
gpgcheck=1
gpgkey= http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub

EOF

For example, within a 32-bit VM where the ESX version is v3.5 U3 I used the following:

cat > > /etc/yum.repos.d/vmware-tools.repo < < EOF
[vmware-tools]
name=VMware Tools for Red Hat Enterprise Linux $releasever - $basearch
baseurl=http://packages.vmware.com/tools/esx/3.5u3/rhel5/i686
enabled=1
gpgcheck=1
gpgkey= http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub
EOF

To remove the tools, make the following commands:

  1. yum remove vmware-tools-* open-vm-tools-*
  2. yum -y install xorg-x11-drv-vmware xorg-x11-drv-vmmouse
  3. yum -y install vmware-tools open-vm-tools-xorg-drv-display open-vm-tools-xorg-drv-mouse

Attempting this method with RHEL 5 Update 3 versions of VMware Tools, however, will result in failure to install VMware Tools as the GPG key is handled incorrectly. The only solution is to disable GPG checking. To do so, change the line within /etc/yum.repos.d/vmware-tools.repo from

gpgkey=1
to
gpgkey=0

Once completed, you can safely update and install VMware Tools without GPG errors.

Upgrading VMware Tools
It's easy to upgrade VMware Tools when you update your Red Hat distribution by using the following command:

yum -y update

If, however, your kernel is too new, you can't update from the VMware Tools OS-specific package repository and will have to build drivers locally. To do so, execute the following commands. Of importance: will be 3.5u2, 3.5u3 or 3.5u4. Also, you'll most likely want to run these commands on a development machine, as you need to install compilers and other build tools. The result will be a redistributable VMware Tools kernel module image that you can install in other VMs.

  1. yum list < /tmp/t

  2. vname=`grep vmware-tools /tmp/t|awk '{print $2}'`
  3. version=`basename $vname .el`
  4. wget http://packages.vmware.com/tools/esx//rhel5/SRPMS/open-vm-tools-kmod-$version.src.rpm
  5. wget http://packages.vmware.com/tools/esx//rhel5/SRPMS/vmware-tools-kmod-$version.src.rpm
  6. yum -y install yum-utils rpm-build

    You may need to double-check the version of kernel-devel that is installed by the next command so that it matches your running kernel. In some cases, it will not be the latest version of the kernel.

  7. yum-builddep -y open-vm-tools-kmod-$version.src.rpm vmware-tools-kmod-$version.src.rpm
  8. rpmbuild --rebuild open-vm-tools-kmod-$version.src.rpm
  9. rpmbuild --rebuild vmware-tools-kmod-$version.src.rpm
  10. rpm -ivh /usr/src/redhat/RPMS/i386/open-vm-tools-kmod -`uname -r`-$version.i386.rpm /usr/src/redhat/RPMS/i386/vmware-tools-kmod-`uname -r`-$version.i386.rpm

-Edward L. Haletky