При установке 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
Просто добавьте @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 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.