W idealnym świecie konfiguracja kukiełki do instalacji open-vm-tools
powinna być tak prosta:
class vm-tools {
package { 'open-vm-tools':
ensure => installed
}
package { 'open-vm-dkms':
ensure => installed
}
}
Ale to otwiera brzydką puszkę zależności; instaluje X, który oczywiście nie należy do serwerów. Począwszy od Ubuntu 10.04, oba te pakiety ostatecznie polecają open-vm-toolbox
pakiet narzędzi 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
Zalecane pakiety są zawsze instalowane domyślnie. Oczywiście nie jest pożądane instalowanie domyślnych zależności X podczas instalowania pakietu opisanego jako „Narzędzia CLI”.
Z tego powodu żądanie funkcji przeciwko Debianowi zostało natychmiast odrzucone, ale fajniejsze głowy nie dominowały w Ubuntu . Wygląda na to, że w ciągu ostatniego tygodnia zauważono, że była to niewłaściwa zmiana , ale nic nie pomoże, dopóki nie pojawi się kolejna wersja LTS.
Zachowanie zainstalowania zalecanych pakietów jest dość łatwo wyłączyć w linii poleceń z --no-install-recommends
opcją, ale poprzez lalek nie ma wsparcia dla tej operacji, a splątane bałagan z biletów z prośbą o wsparcie nie poszły znacznie w ciągu 3 lat.
Inną opcją jest po prostu wyłączenie zalecanych pakietów w całym systemie za pośrednictwem apt.conf
, co jest ogromną zmianą w zachowaniu pakietów z wpływami sięgającymi dalej niż chciałbym.
Zrezygnowałem z robienia tego leniwie;
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',
}
Ale to wyraźnie „robi to źle” . Czy brakuje mi czegoś, co sprawiłoby, że wszystko działałoby tak, jak powinno, czy jest to najlepsze hackerskie obejście tego problemu?
apt
dostawca jest domyślnie dla Ubuntu i Debiana, patrz wiersz 13 tego pliku .