Evite instalar o open-vm-tools-desktop / @ platform-vmware no EL 7

1

Ao instalar o RHEL 7 / CentOS 7 como convidado do VMware ESX, o instalador (Anaconda) detecta automaticamente o host de virtualização e instala as ferramentas apropriadas ( open-vm-tools e open-vm-tools-desktop , também conhecidas como VMware Tools). [para aqueles que têm acesso ao portal da Red Hat, eu também abri um link ] para discussão.

Certamente é bom instalar o open-vm-tools automaticamente, já que ele habilita muitos recursos (com poucas dependências).

Infelizmente, o anaconda também instala o pacote open-vm-tools-desktop que tem muitas dependências (biblioteca Xwindow e GTK, etc). Não é tão útil e não é desejável em um servidor pequeno, seguro e sem cabeçalho.

Eu tentei explicitamente remover explicitamente open-vm-tools-desktop na seção Kickstart %packages sem sucesso:

%packages
-open-vm-tools-desktop

Como evitar que o RHEL 7 instale open-vm-tools-desktop ?

    
por Franklin Piat 16.11.2016 / 21:16

1 resposta

2

A Red Hat e o CentOS não fornecem muitas informações sobre como isso funciona. Eu encontrei duas soluções / solução alternativa. Este é um novo recurso, desde que o EL7.2, até onde eu sei, é conhecido como Pacotes específicos de plataforma agora são instalados automaticamente com base na plataforma de virtualização usada (BZ # 884385), é novo em anaconda-19.31.123-1.el7 / RHBA-2015: 0312-4

Por que é instalado / Como isso funciona?

Este é um recurso implementado por Adicionar seleção de grupos específicos de plataforma ( # 884385) (procure por get_platform_groupid no código fonte do Anaconda ).

A maneira como funciona é que o anaconda executa systemd-detect-virt para detectar a virtualização ou o host do contêiner (vmware, qemu, kvm, microsoft ... docker, lxc, openvz ...) e, em seguida, adiciona um grupo YUM denominado platform-$VIRTNAME

Relacione os grupos (especiais / ocultos):

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

Mostrar o conteúdo do grupo:

$ 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

Solução 1: Impedir a instalação

Adicione simplesmente @platform-vmware --nodefaults na seção %packages do seu kickstart.

Certifique-se de não colocar um traço no início da linha, pois isso não impedirá que o grupo seja instalado. Você ainda pode adicionar uma linha open-vm-tools para instalar somente esse pacote!

Exemplo de trecho de kickstart:

%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

A maneira como funciona, é que instrui o Anaconda a instalar o (s) pacote (s) " Obrigatório " do grupo YUM platform-vmware , mas não o " Padrões "e" Opcional "pacote (s). Como esse grupo não tem um pacote obrigatório ... ele realmente não instala nada !

Solução alternativa: elimine os pacotes manualmente;

Purge os pacotes manualmente . Tenha cuidado, pois pode desinstalar outros pacotes, por isso verifique novamente antes de pressionar yes ! (e afinar a lista, se necessário)

/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 

Outras soluções tentaram, mas não estão funcionando:

  • remova explicitamente @platform-vmware na seção %packages do Kickstart.
  • remova explicitamente open-vm-tools-desktop no Kickstart %packages section

Diagnóstico / log do Anaconda

Procure por um tring como este no 'packaging.log' do Anaconda:

INFO packaging: Adding platform group platform-vmware

Outras plataformas relatadas por systemd-detect-virt ainda não são suportados e podem denunciar:

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.
    
por 16.11.2016 / 21:16