Prevent from installing open-vm-tools-desktop / @platform-vmware

Latest response

When installing RHEL 7.3 as a vmware guest, the installer (Anaconda) automatically detects the virtualization host, then install the appropriate tools (open-vm-tools and open-vm-tools-desktop, also known as the VMware Tools).

It is certainly nice to install open-vm-tools automatically since it brings many features with few dependencies.

Unfortunately, it also install open-vm-tools-desktop and Xwindow and GTK library... Not so useful, and not desirable on a small, secure, headless server.

Question

How to prevent RHEL 7.3 from installing open-vm-tools-desktop ?

Solution(s)

No official solution yet (but Workaround #1 is fairly clean)

Workaround #1

Simply add @platform-vmware --nodefaults in the %packages section of your kickstart.

Make sure you do not put a dash at the beginning of the line (before the @ symbol), as it won't prevent the group from being installed! You can still add a line open-vm-tools to install that package only.

Kickstart snippet example:

%packages
## Workaround to prevent automatic installation 
## of package open-vm-tools-desktop (an X11 library) 
## http://serverfault.com/q/815356/238995
## https://access.redhat.com/discussions/2770061
## Note: DON'T put a dash at the begining of the line !
## The way it works, is that it instructs Anaconda to install
## the "Mandatory" package from the YUM group 'platform-vmware',
## but not the "Defaults" and "Optional".
## Since this group has no Mandatory package... it actually
## install .. nothing !
@platform-vmware --nodefaults
##Optionally, install this if needed:
#open-vm-tools

The way it works, is that it instructs Anaconda to install the "Mandatory" package(s) from the YUM group platform-vmware, but not the "Defaults" and "Optional" package(s). Since this group has no Mandatory package... it actually install nothing !

Workaround #2

Purge the packages by hand, carefully, as it may uninstall other packages

/usr/bin/yum erase open-vm-tools-desktop harfbuzz libthai libtiff mesa-libgbm mesa-libglapi libXxf86vm libxshmfence libdrm libpng mesa-libEGL libXau libXft mesa-libGL pixman atk cairo gdk-pixbuf2 hicolor-icon-theme libxcb libXcomposite libXcursor libXdamage libXfixes libXrender pango pangommatkmm cairomm gtk2 gtkmm24 libX11 libXext libXi libXinerama libXrandr libXtst glibmm24 graphite2 libX11-common libjpeg-turbo jasper-libs jbigkit-libs libpciaccess libsigc++20

Solution tried but not working:

  • explicitly remove @platform-vmware in Kickstart %packages section
  • explicitly remove open-vm-tools-desktop in Kickstart %packages section

Technical details:

Anaconda's packaging.log:

 INFO packaging: Adding platform group platform-vmware

Yum group info:

yum -q groupinfo platform-vmware
Group: VMware platform specific packages
 Group-Id: platform-vmware
 Description: Virtualization utilities and drivers for VMware
 Default Packages:
    open-vm-tools
   +open-vm-tools-desktop

More about anaconda "Platform" support/Implementation
* New in anaconda-19.31.123-1.el7 /RHBA-2015:0312-4
* Platform-specific packages are now installed automatically based on the used virtualization platform. (BZ#884385)
* Add platform specific group selection (#884385)
* Anaconda source code (look for get_platform_groupid)

Responses