Назад | Перейти на главную страницу

Запретить установку open-vm-tools-desktop / @ platform-vmware на EL 7

При установке RHEL 7 / CentOS 7 в качестве гостевой системы VMware ESX установщик (Anaconda) автоматически обнаруживает хост виртуализации, а затем устанавливает соответствующие инструменты (open-vm-tools и open-vm-tools-desktop, также известный как VMware Tools). [для тех, у кого есть доступ к порталу Red Hat, я также открыл обсуждение https://access.redhat.com/discussions/2770061 ].

Конечно приятно установить open-vm-tools автоматически, поскольку он включает многие функции (с небольшим количеством зависимостей).

К сожалению, anaconda также устанавливает пакет open-vm-tools-desktop который имеет множество зависимостей (библиотека Xwindow, GTK и т. д.). Не так полезно и нежелательно на маленьком защищенном сервере без управления.

Я пытался явно удалить open-vm-tools-desktop в кикстарте %packages раздел без успеха:

%packages
-open-vm-tools-desktop

Как предотвратить установку RHEL 7 open-vm-tools-desktop ?

Red Hat и CentOS не предоставляют много информации о том, как это работает. Я нашел два решения / обходного пути. Это новая функция, начиная с EL7.2, насколько я могу судить, она известна как Пакеты для конкретных платформ теперь устанавливаются автоматически в зависимости от используемой платформы виртуализации. (BZ # 884385), новинка anaconda-19.31.123-1.el7 / RHBA-2015: 0312-4

Почему он установлен / Как это работает?

Эта функция реализована Добавить выбор группы для конкретной платформы (# 884385) (искать get_platform_groupid в Исходный код Anaconda ).

Это работает так: anaconda выполняет systemd-detect-virt для обнаружения хоста виртуализации или контейнера (vmware, qemu, kvm, microsoft ... docker, lxc, openvz ...), затем добавляет группу YUM с именем platform-$VIRTNAME

Перечислите (специальные / скрытые) группы:

$ yum group list hidden -v "@platform*" | grep "^ "
   Platform Development (platform-devel)
   VMware platform specific packages (platform-vmware)

Показать содержание группы:

$ yum group info 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

Решение 1. Запретить установку

Просто добавьте @platform-vmware --nodefaults в %packages раздел вашего кикстарта.

Убедитесь, что вы не поставили прочерк в начале строки, так как это не помешает установке группы. Вы все еще можете добавить строку open-vm-tools установить только этот пакет!

Пример фрагмента кикстарта:

%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
#Optionaly, install this if needed:
#open-vm-tools

Это работает так: Anaconda дает указание установить "Обязательное"пакет (ы) от группы YUM platform-vmware, но не "По умолчанию" и "По желанию"пакет (ы). Поскольку в этой группе нет обязательного пакета ... ничего не устанавливать !

Обходной путь: очистите пакеты вручную,

Очистите пакеты рукой. Будьте осторожны, так как он может удалить другие пакеты, поэтому дважды проверьте перед нажатием yes ! (и при необходимости уточните список)

/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 

Другие решения пробовали, но не работали:

  • явно удалить @platform-vmware в кикстарте %packages раздел.
  • явно удалить open-vm-tools-desktop в кикстарте %packages раздел

Диагностика / Журнал Anaconda

Найдите такую ​​строку в журнале Anaconda package.log:

INFO packaging: Adding platform group platform-vmware

Другой платформы сообщает systemd-detect-virt еще не поддерживаются и могут сообщить:

INFO packaging: Platform group kvm not available.
INFO packaging: Platform group microsoft not available.
INFO packaging: Platform group oracle not available.
INFO packaging: Platform group xen not available.
INFO packaging: Platform group qemu not available.
INFO packaging: Platform group zvm not available.
INFO packaging: Platform group bhyve not available.