Instalando open-vm-tools no Ubuntu via Puppet; qual é o mal menor?

9

Em um mundo ideal, configurar o fantoche para instalar o open-vm-tools deve ser tão simples assim:

class vm-tools {
    package { 'open-vm-tools':
        ensure => installed
    }
    package { 'open-vm-dkms':
        ensure => installed
    }
}

Mas, isso abre uma lata feia de dependência de fluência; Ele instala o X, que obviamente não pertence aos servidores. A partir do Ubuntu 10.04, esses pacotes acabam recomendando o pacote open-vm-toolbox de ferramentas GUI:

# apt-cache depends open-vm-dkms
open-vm-dkms
  Depends: dkms
  Depends: make
  Suggests: open-vm-toolbox
  Recommends: open-vm-tools

# apt-cache depends open-vm-tools
open-vm-tools
  Depends: libc6
  Depends: libfuse2
  Depends: libgcc1
  Depends: libglib2.0-0
  Depends: libicu44
  Depends: libstdc++6
  Recommends: open-vm-source
  Recommends: open-vm-toolbox
  Recommends: ethtool
  Recommends: zerofree

Os pacotes recomendados são sempre instalados por padrão. É claro que não é desejável instalar as dependências X por padrão ao instalar um pacote que é descrito como "Ferramentas CLI".

A solicitação de recursos contra o Debian foi imediatamente rejeitada por este motivo, mas . Parece que, na última semana, houve algum reconhecimento de que isso era um mau conselho mudar , mas isso não ajuda até que o próximo lançamento LTS seja lançado.

O comportamento para instalar os pacotes recomendados é facilmente desabilitado na linha de comando com a opção --no-install-recommends , mas através do fantoche não há suporte para isso, e um tangled bagunça de tickets solicitando que o suporte não tenha ido longe em 3 anos.

A outra opção é apenas desativar os pacotes recomendados em todo o sistema via apt.conf , que é uma grande mudança no comportamento do pacote, com impactos que vão além do que eu gostaria.

Eu me resignei a fazer isso da maneira preguiçosa;

exec { 'open-vm-tools install':
    command => '/usr/bin/apt-get install -y --no-install-recommends open-vm-dkms open-vm-tools',
    creates => '/usr/lib/open-vm-tools',
}

Mas isso é claramente "fazendo errado" . Eu estou sentindo falta de algo que faria tudo isso funcionar do jeito que deveria, ou essa é a melhor alternativa hackeada para essa questão?

    
por Shane Madden 14.06.2011 / 20:25

2 respostas

3

O Bug 1766 indicou que o provedor do aptitude instala pacotes recomendados, enquanto o provedor apt não o faz.

Se isso estiver correto (eu não o confirmei), o seguinte poderá funcionar de forma mais clara:

package { [ "open-vm-tools", "open-vm-dkms" ]:
  ensure   => installed,
  provider => apt,
}

Adaptado de Referência do tipo de marionete, seção "pacote" .

Editar após investigação adicional: como o provedor apt é o padrão no Ubuntu e no Debian, use o provedor aptitude para esses pacotes e adicione um ~/.aptitude/config adequado para raiz.

package { [ "open-vm-tools", "open-vm-dkms" ]:
  ensure   => installed,
  provider => aptitude,
  require  => File["/root/.aptitude/config"];
}
file { "/root/.aptitude/config":
  ensure  => present,
  content => 'APT::Install-Recommends "0";';
}

Não é perfeito, mas mais conciso que uma linha gigante de executivos.

    
por 14.06.2011 / 22:19
3

Parece que em 12.04, apt-get install open-vm-tools não instala mais o X.

wiki do Ubuntu em ferramentas VMware

    
por 25.05.2012 / 22:34