In un mondo ideale, la configurazione di Puppet per l'installazione di open-vm-tools
dovrebbe essere semplice come questa:
class vm-tools {
package { 'open-vm-tools':
ensure => installed
}
package { 'open-vm-dkms':
ensure => installed
}
}
Ma questo apre una brutta lattina di dipendenza che si insinua; installa X, che ovviamente non appartiene ai server. A partire da Ubuntu 10.04, entrambi i pacchetti finiscono per raccomandare il open-vm-toolbox
pacchetto di strumenti della 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
I pacchetti consigliati sono sempre installati per impostazione predefinita. Chiaramente non è desiderabile installare le dipendenze X per impostazione predefinita quando si installa un pacchetto che è descritto come "Strumenti CLI".
La richiesta di funzionalità contro Debian stata immediatamente respinta per questo motivo, ma le teste più fredde non hanno prevalso in Ubuntu . Sembra che nell'ultima settimana sia stato riconosciuto che si è trattato di un cambiamento sconsiderato , ma non è di alcun aiuto fino a quando non verrà lanciata la prossima versione di LTS.
Il comportamento di installare i pacchetti consigliati è abbastanza facilmente disabilitato sulla riga di comando con l' --no-install-recommends
opzione, ma tramite Puppet non c'è supporto per farlo e un aggrovigliato pasticcio di biglietti che chiedono che il sostegno non essere andato lontano in 3 anni.
L'altra opzione è semplicemente disabilitare i pacchetti raccomandati in tutto il sistema tramite apt.conf
, il che è un enorme cambiamento nel comportamento dei pacchetti con impatti che vanno oltre quanto mi piacerebbe.
Mi sono rassegnato a farlo nel modo pigro;
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',
}
Ma questo è chiaramente "sbagliare" . Mi sto perdendo qualcosa che farebbe funzionare tutto nel modo in cui dovrebbe, o è forse la migliore soluzione alternativa a questo problema?
apt
provider è in realtà il predefinito per Ubuntu e Debian, vedere la riga 13 di questo file .