Most of us already familiar with virtualisation, and possibly using vmware for host server for windows, linux, *BSD, and other os. Vmware tools is useful for controlling and manage the guest OS, for reboot, and any other purposes. In this simple tutorial, I've installed and tested it on Linux CentOS 6.3
To install vmware tools, the guest os need to have:
1- kernel with kernel headers and kernel source.. check it via rpm, and if kernel, kernel-devel, kernel-headers is missing, install it 1st via yum..
[root@TEST ~]$ rpm -qa | grep kernel
kernel-2.6.32-279.9.1.el6.i686
kernel-2.6.32-279.el6.i686
kernel-firmware-2.6.32-279.9.1.el6.noarch
kernel-devel-2.6.32-279.9.1.el6.i686
kernel-2.6.32-279.5.1.el6.i686
libreport-plugin-kerneloops-2.0.9-5.el6.centos.i686
dracut-kernel-004-284.el6_3.noarch
kernel-headers-2.6.32-279.9.1.el6.i686
abrt-addon-kerneloops-2.0.8-6.el6.centos.i686
2- GCC ( GNU C Compiler )
[root@TEST ~]$ rpm -qa | grep gcc
libgcc-4.4.6-4.el6.i686
gcc-4.4.6-4.el6.i686
3- If u're installing all kernel components, updates and new kernel, please check the current running kernel is identical or same with latest installed@updated via yum. If not then please reboot the guest 1st so it can boot up and run from the lastest updated kernel
[root@TEST ~]$ uname -a
Linux TEST 2.6.32-279.9.1.el6.i686 #1 SMP Tue Sep 25 20:26:47 UTC 2012 i686 i686 i386 GNU/Linux
4- Extract the tarballs ( ** my version of vmwaretools maybe older, but this is defaults from the mounted "cd" of ESXi 4.x ) ..
[root@TEST ~]$ tar -zxvf VMwareTools-4.0.0-236512.tar.gz
5- Go to vmwaretools folder
[root@TEST ~]$ cd vmware-tools-distrib/
[root@TEST vmware-tools-distrib]$
6- Run the perl installation script, if all your required packages is installed already, just hit ENTER for the whole installation time...
[root@TEST vmware-tools-distrib]$ ./vmware-install.pl
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]
Uninstalling the tar installation of VMware Tools.
Stopping services for VMware Tools
Stopping VMware Tools services in the virtual machine:
Guest operating system daemon: [ OK ]
Unmounting HGFS shares: [ OK ]
Guest filesystem driver: [ OK ]
File /usr/lib/vmware-tools/lib32/libconf/etc/gtk-2.0/gdk-pixbuf.loaders is
backed up to
/usr/lib/vmware-tools/lib32/libconf/etc/gtk-2.0/gdk-pixbuf.loaders.old.1.
File /usr/lib/vmware-tools/lib32/libconf/etc/pango/pangorc is backed up to
/usr/lib/vmware-tools/lib32/libconf/etc/pango/pangorc.old.1.
This program previously created the file
/usr/lib/vmware-tools/libconf/etc/pango/pangorc, and was about to remove it.
Somebody else apparently did it already.
File /etc/vmware-tools/vmware-user.desktop is backed up to
/etc/vmware-tools/vmware-user.desktop.old.1.
This program previously created the file
/usr/lib/vmware-tools/lib32/libconf/etc/pango/pango.modules, and was about to
remove it. Somebody else apparently did it already.
This program previously created the file
/usr/lib/vmware-tools/libconf/etc/gtk-2.0/gdk-pixbuf.loaders, and was about to
remove it. Somebody else apparently did it already.
File /usr/lib/vmware-tools/lib32/libconf/etc/gtk-2.0/gtk.immodules is backed up
to /usr/lib/vmware-tools/lib32/libconf/etc/gtk-2.0/gtk.immodules.old.1.
This program previously created the file
/usr/lib/vmware-tools/libconf/etc/gtk-2.0/gtk.immodules, and was about to
remove it. Somebody else apparently did it already.
This program previously created the file
/usr/lib/vmware-tools/lib32/libconf/etc/pango/pangox.aliases, and was about to
remove it. Somebody else apparently did it already.
The removal of VMware Tools 4.0.0 build-236512 for Linux completed
successfully.
Installing VMware Tools.
In which directory do you want to install the binary files?
[/usr/bin]
What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc/rc.d]
What is the directory that contains the init scripts?
[/etc/rc.d/init.d]
In which directory do you want to install the daemon files?
[/usr/sbin]
In which directory do you want to install the library files?
[/usr/lib/vmware-tools]
The path "/usr/share/doc/vmware-tools" does not exist currently. This program
is going to create it, including needed parent directories. Is this what you
want? [yes]
The installation of VMware Tools 4.0.0 build-236512 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl".
Before running VMware Tools for the first time, you need to configure it by
invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want
this program to invoke the command for you now? [yes]
Initializing...
Stopping VMware Tools services in the virtual machine:
Guest operating system daemon: [ OK ]
Unmounting HGFS shares: [ OK ]
Guest filesystem driver: [ OK ]
None of the pre-built vmmemctl modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vmmemctl module
for your system (you need to have a C compiler installed on your system)?
[yes]
Using compiler "/usr/bin/gcc". Use environment variable CC to override.
What is the location of the directory of C header files that match your running
kernel?
[/lib/modules/2.6.32-279.9.1.el6.i686/build/include]
Extracting the sources of the vmmemctl module.
Building the vmmemctl module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmmemctl-only'
make -C /lib/modules/2.6.32-279.9.1.el6.i686/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
CC [M] /tmp/vmware-config0/vmmemctl-only/backdoorGcc32.o
CC [M] /tmp/vmware-config0/vmmemctl-only/os.o
CC [M] /tmp/vmware-config0/vmmemctl-only/vmballoon.o
LD [M] /tmp/vmware-config0/vmmemctl-only/vmmemctl.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-config0/vmmemctl-only/vmmemctl.mod.o
LD [M] /tmp/vmware-config0/vmmemctl-only/vmmemctl.ko.unsigned
NO SIGN [M] /tmp/vmware-config0/vmmemctl-only/vmmemctl.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-config0/vmmemctl-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-config0/vmmemctl-only'
cp -f vmmemctl.ko ./../vmmemctl.o
make: Leaving directory `/tmp/vmware-config0/vmmemctl-only'
The vmmemctl module loads perfectly into the running kernel.
None of the pre-built vmhgfs modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vmhgfs module for
your system (you need to have a C compiler installed on your system)? [yes]
Extracting the sources of the vmhgfs module.
Building the vmhgfs module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmhgfs-only'
make -C /lib/modules/2.6.32-279.9.1.el6.i686/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
CC [M] /tmp/vmware-config0/vmhgfs-only/backdoor.o
CC [M] /tmp/vmware-config0/vmhgfs-only/backdoorGcc32.o
CC [M] /tmp/vmware-config0/vmhgfs-only/bdhandler.o
CC [M] /tmp/vmware-config0/vmhgfs-only/cpName.o
CC [M] /tmp/vmware-config0/vmhgfs-only/cpNameLinux.o
CC [M] /tmp/vmware-config0/vmhgfs-only/cpNameLite.o
CC [M] /tmp/vmware-config0/vmhgfs-only/dentry.o
CC [M] /tmp/vmware-config0/vmhgfs-only/dir.o
CC [M] /tmp/vmware-config0/vmhgfs-only/file.o
CC [M] /tmp/vmware-config0/vmhgfs-only/filesystem.o
CC [M] /tmp/vmware-config0/vmhgfs-only/fsutil.o
CC [M] /tmp/vmware-config0/vmhgfs-only/hgfsBd.o
CC [M] /tmp/vmware-config0/vmhgfs-only/hgfsUtil.o
In file included from /tmp/vmware-config0/vmhgfs-only/vm_basic_asm.h:46,
from /tmp/vmware-config0/vmhgfs-only/hgfsUtil.c:35:
/tmp/vmware-config0/vmhgfs-only/vm_basic_asm_x86.h:62:7: warning: "_MSC_VER" is not defined
CC [M] /tmp/vmware-config0/vmhgfs-only/inode.o
CC [M] /tmp/vmware-config0/vmhgfs-only/kernelStubsLinux.o
CC [M] /tmp/vmware-config0/vmhgfs-only/link.o
CC [M] /tmp/vmware-config0/vmhgfs-only/message.o
CC [M] /tmp/vmware-config0/vmhgfs-only/messageBackdoor.o
CC [M] /tmp/vmware-config0/vmhgfs-only/module.o
CC [M] /tmp/vmware-config0/vmhgfs-only/page.o
CC [M] /tmp/vmware-config0/vmhgfs-only/request.o
CC [M] /tmp/vmware-config0/vmhgfs-only/rpcout.o
CC [M] /tmp/vmware-config0/vmhgfs-only/staticEscape.o
CC [M] /tmp/vmware-config0/vmhgfs-only/stubs.o
CC [M] /tmp/vmware-config0/vmhgfs-only/super.o
LD [M] /tmp/vmware-config0/vmhgfs-only/vmhgfs.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-config0/vmhgfs-only/vmhgfs.mod.o
LD [M] /tmp/vmware-config0/vmhgfs-only/vmhgfs.ko.unsigned
NO SIGN [M] /tmp/vmware-config0/vmhgfs-only/vmhgfs.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-config0/vmhgfs-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-config0/vmhgfs-only'
cp -f vmhgfs.ko ./../vmhgfs.o
make: Leaving directory `/tmp/vmware-config0/vmhgfs-only'
The vmhgfs module loads perfectly into the running kernel.
None of the pre-built vmxnet modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vmxnet module for
your system (you need to have a C compiler installed on your system)? [yes]
Extracting the sources of the vmxnet module.
Building the vmxnet module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmxnet-only'
make -C /lib/modules/2.6.32-279.9.1.el6.i686/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
CC [M] /tmp/vmware-config0/vmxnet-only/vmxnet.o
/tmp/vmware-config0/vmxnet-only/vmxnet.c: In function âvmxnet_probe_deviceâ:
/tmp/vmware-config0/vmxnet-only/vmxnet.c:1002: warning: cast to pointer from integer of different size
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-config0/vmxnet-only/vmxnet.mod.o
LD [M] /tmp/vmware-config0/vmxnet-only/vmxnet.ko.unsigned
NO SIGN [M] /tmp/vmware-config0/vmxnet-only/vmxnet.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-config0/vmxnet-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-config0/vmxnet-only'
cp -f vmxnet.ko ./../vmxnet.o
make: Leaving directory `/tmp/vmware-config0/vmxnet-only'
The vmxnet module loads perfectly into the running kernel.
None of the pre-built vmblock modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vmblock module
for your system (you need to have a C compiler installed on your system)?
[yes]
Extracting the sources of the vmblock module.
Building the vmblock module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmblock-only'
make -C /lib/modules/2.6.32-279.9.1.el6.i686/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
CC [M] /tmp/vmware-config0/vmblock-only/linux/block.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/control.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/dbllnklst.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/dentry.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/file.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/filesystem.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/inode.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/module.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/stubs.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/super.o
LD [M] /tmp/vmware-config0/vmblock-only/vmblock.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-config0/vmblock-only/vmblock.mod.o
LD [M] /tmp/vmware-config0/vmblock-only/vmblock.ko.unsigned
NO SIGN [M] /tmp/vmware-config0/vmblock-only/vmblock.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-config0/vmblock-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-config0/vmblock-only'
cp -f vmblock.ko ./../vmblock.o
make: Leaving directory `/tmp/vmware-config0/vmblock-only'
The vmblock module loads perfectly into the running kernel.
None of the pre-built vmci modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vmci module for
your system (you need to have a C compiler installed on your system)? [yes]
Extracting the sources of the vmci module.
Building the vmci module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmci-only'
make -C /lib/modules/2.6.32-279.9.1.el6.i686/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
CC [M] /tmp/vmware-config0/vmci-only/kernelStubsLinux.o
CC [M] /tmp/vmware-config0/vmci-only/vmciDatagram.o
CC [M] /tmp/vmware-config0/vmci-only/vmciEvent.o
CC [M] /tmp/vmware-config0/vmci-only/vmciGuestDs.o
CC [M] /tmp/vmware-config0/vmci-only/vmciGuestKernelIf.o
CC [M] /tmp/vmware-config0/vmci-only/vmciKernelIf.o
CC [M] /tmp/vmware-config0/vmci-only/vmciProcess.o
CC [M] /tmp/vmware-config0/vmci-only/vmciQueuePair.o
CC [M] /tmp/vmware-config0/vmci-only/vmciUtil.o
CC [M] /tmp/vmware-config0/vmci-only/vmci_drv.o
LD [M] /tmp/vmware-config0/vmci-only/vmci.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-config0/vmci-only/vmci.mod.o
LD [M] /tmp/vmware-config0/vmci-only/vmci.ko.unsigned
NO SIGN [M] /tmp/vmware-config0/vmci-only/vmci.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-config0/vmci-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-config0/vmci-only'
cp -f vmci.ko ./../vmci.o
make: Leaving directory `/tmp/vmware-config0/vmci-only'
The vmci module loads perfectly into the running kernel.
None of the pre-built vsock modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vsock module for
your system (you need to have a C compiler installed on your system)? [yes]
Extracting the sources of the vsock module.
Building the vsock module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config1/vsock-only'
make -C /lib/modules/2.6.32-279.9.1.el6.i686/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
CC [M] /tmp/vmware-config1/vsock-only/linux/af_vsock.o
/tmp/vmware-config1/vsock-only/linux/af_vsock.c:349: warning: initialization from incompatible pointer type
/tmp/vmware-config1/vsock-only/linux/af_vsock.c:397: warning: initialization from incompatible pointer type
CC [M] /tmp/vmware-config1/vsock-only/linux/driverLog.o
CC [M] /tmp/vmware-config1/vsock-only/linux/util.o
CC [M] /tmp/vmware-config1/vsock-only/linux/vsockAddr.o
LD [M] /tmp/vmware-config1/vsock-only/vsock.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-config1/vsock-only/vsock.mod.o
LD [M] /tmp/vmware-config1/vsock-only/vsock.ko.unsigned
NO SIGN [M] /tmp/vmware-config1/vsock-only/vsock.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.9.1.el6.i686'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-config1/vsock-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-config1/vsock-only'
cp -f vsock.ko ./../vsock.o
make: Leaving directory `/tmp/vmware-config1/vsock-only'
The vsock module loads perfectly into the running kernel.
The module vmxnet3 has already been installed on this system by another
installer or package and will not be modified by this installer. Use the flag
--clobber-kernel-modules=vmxnet3 to override.
The module pvscsi has already been installed on this system by another
installer or package and will not be modified by this installer. Use the flag
--clobber-kernel-modules=pvscsi to override.
No X install found.
Creating a new initrd boot image for the kernel.
Use of uninitialized value $syscmd in system at /usr/bin/vmware-config-tools.pl line 5943.
Checking acpi hot plug [ OK ]
Starting VMware Tools services in the virtual machine:
Switching to guest configuration: [ OK ]
Guest memory manager: [ OK ]
Guest vmxnet fast network device: [ OK ]
VM communication interface: [ OK ]
VM communication interface socket family: [ OK ]
Guest operating system daemon: [ OK ]
The configuration of VMware Tools 4.0.0 build-236512 for Linux for this running
kernel completed successfully.
You must restart your X session before any mouse or graphics changes take
effect.
You can now run VMware Tools by invoking the following command:
"/usr/bin/vmware-toolbox" during an X server session.
To enable advanced X features (e.g., guest resolution fit, drag and drop, and
file and text copy/paste), you will need to do one (or more) of the following:
1. Manually start /usr/bin/vmware-user
2. Log out and log back into your desktop session; and,
3. Restart your X session.
To use the vmxnet driver, restart networking using the following commands:
/etc/init.d/network stop
rmmod pcnet32
rmmod vmxnet
modprobe vmxnet
/etc/init.d/network start
Enjoy,
--the VMware team
[root@TEST vmware-tools-distrib]$
7- Testing your vmware tools installed.. restart the packages...
[root@TEST vmware-tools-distrib]$ /etc/init.d/vmware-tools restart
Stopping VMware Tools services in the virtual machine:
Guest operating system daemon: [ OK ]
Unmounting HGFS shares: [ OK ]
Guest filesystem driver: [ OK ]
Guest memory manager: [ OK ]
VM communication interface socket family: [ OK ]
VM communication interface: [ OK ]
Checking acpi hot plug [ OK ]
Starting VMware Tools services in the virtual machine:
Switching to guest configuration: [ OK ]
Guest memory manager: [ OK ]
Guest vmxnet fast network device: [ OK ]
VM communication interface: [ OK ]
VM communication interface socket family: [ OK ]
Guest operating system daemon: [ OK ]
[root@TEST vmware-tools-distrib]$
==
Created and finished 17 Oct 2012 7:17pm