В идеальном мире настройка кукол для установки open-vm-tools
должна быть такой простой:
class vm-tools {
package { 'open-vm-tools':
ensure => installed
}
package { 'open-vm-dkms':
ensure => installed
}
}
Но, это открывает уродливую банку ползучести зависимости; он устанавливает X, который явно не принадлежит серверам. Начиная с Ubuntu 10.04, оба этих пакета в конечном итоге рекомендуют open-vm-toolbox
пакет инструментов с графическим интерфейсом:
# 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
Рекомендуемые пакеты всегда устанавливаются по умолчанию. Очевидно, что нежелательно устанавливать X-зависимости по умолчанию при установке пакета, который описывается как «Инструменты CLI».
По этой причине запрос Debian против Debian был немедленно отклонен, но в Ubuntu не преобладали более холодные головы . Похоже, что на прошлой неделе было определенное признание того, что это было необдуманное изменение , но это не поможет, пока не выйдет следующий релиз LTS.
Поведение установить рекомендуемые пакеты, достаточно легко отключить в командной строке с --no-install-recommends
параметром, но через марионетку нет никакой поддержки для этого, и запутанный беспорядок из билетов , запрашивающих , что поддержка не ушли далеко в 3 -х лет.
Другой вариант - просто отключить рекомендуемые пакеты во всей системе через систему apt.conf
, что является серьезным изменением в поведении пакетов с последствиями, достигающими большего, чем мне бы хотелось.
Я смирился с тем, чтобы делать это ленивым образом;
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',
}
Но это явно "делает это неправильно" . Я что-то упустил, что заставило бы все это работать так, как должно, или это лучший хакерский обходной путь для этой проблемы?
apt
провайдер на самом деле является Ubuntu и Debian по умолчанию, см. Строку 13 этого файла .