9 votos

La instalación de open-vm-tools en Ubuntu a través de Puppet; ¿cuál es el mal menor?

En un mundo ideal, la configuración de títeres para instalar el open-vm-tools debe ser tan simple como esto:

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

Pero, lo que abre un feo puede de dependencia de fluencia; se instala X, que, obviamente, no pertenece en los servidores. Como de Ubuntu 10.04, estos paquetes ambos terminan recomendando la open-vm-toolbox paquete de herramientas 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

Los paquetes recomendados siempre se instalan de forma predeterminada. Claramente no deseable para instalar X dependencias de forma predeterminada cuando se instala un paquete que se describe como "Herramientas de línea de comandos".

La función de solicitud en contra de Debian fue rechazada de inmediato por esta razón, pero las cabezas más frías no prevalecen en Ubuntu. Parece que en la última semana, hay algunos reconocimiento de que este fue un mal aconsejado cambiar, pero que de ninguna ayuda, hasta la próxima LTS de liberación de alrededor de los rollos.

El comportamiento a instalar los paquetes recomendados es lo suficientemente fácil movilidad en la línea de comandos con el --no-install-recommends opción, pero a través de títeres que no hay ninguna compatibilidad para hacerlo, y un enredado lío de entradas solicitando que el apoyo no ha ido mucho en 3 años.

La otra opción es deshabilitar los paquetes recomendados en todo el sistema a través de apt.conf, que es un enorme cambio en el comportamiento del paquete, con impactos más allá de lo que me gustaría.

Me he resignado a hacerlo de la manera perezosa;

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',
}

Pero esto es claramente "hacerlo mal". Me estoy perdiendo algo que podría hacer que todo esto funcione de la manera que se supone que, o es esta la mejor solución a este problema?

3voto

Le Dude Puntos 294

Error de 1766 se indica que la capacidad del proveedor instala los paquetes recomendados, mientras que la apt proveedor no.

Si eso es correcto (no lo he comprobado yo mismo), a continuación, el siguiente puede trabajar de una manera más limpia:

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

Adaptado de Puppet Tipo de Referencia, el "paquete" de la sección.


Editar después de realizar su investigación: desde el apt proveedor por defecto en Ubuntu y Debian, el uso de la capacidad del proveedor para estos paquetes, y agregar un adecuado ~/.aptitude/config de root.

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";';
}

No es perfecto, pero más concisa que la de un gigante de la línea de exec.

3voto

Christian Long Puntos 131

Parece que en 12.04, apt-get install open-vm-tools ya no se instala X.

Wiki de Ubuntu en VMware Tools

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: