理想的な世界では、をインストールするためのパペットの設定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
推奨パッケージは常にデフォルトでインストールされます。「CLIツール」として説明されているパッケージをインストールするときに、デフォルトでX依存関係をインストールすることは明らかに望ましくありません。
Debianのに対して機能要求は、すぐにこの理由で拒否されましたが、クーラーヘッドは、Ubuntuの中で勝つませんでした。先週、これは不適切なアドバイスによる変更であるという認識がありましたが、次のLTSリリースがリリースされるまで、それは役に立ちません。
推奨パッケージをインストールする動作は、--no-install-recommends
オプションを指定してコマンドラインで簡単に無効化できますが、パペットを介してこれを実行するためのサポートはなく、サポートを要求するチケットの煩雑な 混乱は3年間あまり進んでいません。
もう1つのオプションは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行目を参照してください。