В ідеальному світі налаштування маріонетки для встановлення 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
пакет інструментів 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
Рекомендовані пакети завжди встановлюються за замовчуванням. Очевидно не бажано встановлювати залежності X за замовчуванням при установці пакету, який описаний як "Інструменти CLI".
Запит функції проти 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 цього файлу .