私はpuppetを使用して、仕事中の多数のDebianサーバーを管理しています。その一部には、パッケージのインストールが含まれています。複数のシステムにインストールするパッケージの1つは、ファイアウォールルールが正しく設定されていることを確認するために使用されるnmapです。 Debian 7.0では、APT :: Install-Recommendsが有効になっていると、nmapと一緒にたくさんのがらくたを取得します(以下を参照)。
推奨を有効にしてnmapをインストールするすべてのがらくたを含めたくありません。 1つの解決策は、apt構成をAPT::Install-Recommends "0";
で更新することです。しかし、これをデフォルトにしたくありません。私が望む時間の大部分は含まれています。推奨されるパッケージはほとんど問題なく、必要のないものがたくさんありません。しかし、私が欲しくない/必要としないと思うパッケージがいくつかあります。
package { 'nmap':
ensure => installed,
require => Class['apt'],
}
'apt'パッケージプロバイダーを使用するときに、推奨がpuppetを介してインストールされるかどうかを制御する方法はありますか? aptとaptitudeは完全に互換性がないため、aptitudeプロバイダーをいじりたくありません。
おすすめ付き
root@fw-01:~# apt-get install nmap
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
The following NEW packages will be installed:
fonts-droid fonts-liberation ghostscript gnuplot gnuplot-nox groff gsfonts
imagemagick imagemagick-common libblas3 libblas3gf libcroco3 libcupsimage2
libdjvulibre-text libdjvulibre21 libexiv2-12 libgfortran3 libgs9
libgs9-common libijs-0.35 libilmbase6 libjbig2dec0 liblcms1 liblcms2-2
liblensfun-data litesting firewall blensfun0 liblinear-tools liblinear1 liblqr-1-0
libmagickcore5 libmagickcore5-extra libmagickwand5 libnetpbm10 libopenexr6
libpaper-utils libpaper1 librsvg2-2 librsvg2-common libsvm-tools libwmf0.2-7
netpbm nmap poppler-data psutils ufraw-batch
0 upgraded, 45 newly installed, 0 to remove and 0 not upgraded.
Need to get 32.0 MB of archives.
After this operation, 93.8 MB of additional disk space will be used.
Do you want to continue [Y/n]?
おすすめなし
root@fw-01:~# apt-get --no-install-recommends install nmap
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libblas3 libblas3gf libgfortran3 liblinear1
Suggested packages:
liblinear-dev
Recommended packages:
liblinear-tools
The following NEW packages will be installed:
libblas3 libblas3gf libgfortran3 liblinear1 nmap
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,405 kB of archives.
After this operation, 17.4 MB of additional disk space will be used.
Do you want to continue [Y/n]?
これは、Puppetの「パッケージ」タイプの「install_options」設定を介して可能になりました。 http://docs.puppetlabs.com/references/latest/type.html#package-attribute-install_options
例えば:
package { 'nmap':
ensure => installed,
install_options => ['--no-install-recommends'],
}
上記により、「-no-install-recommends」オプションがapt-getに渡され、このインストール専用の推奨パッケージがスキップされます。 http://manpages.ubuntu.com/manpages/precise/man8 /apt-get.8.html
私はこれまでに次の解決策を見つけましたが、それらは理想的ではありません。
最近追加されたパッチ がリリースバージョンになり、アップグレードされるまで待ちます。
パッケージの代わりにexecを使用してインストールし、execを使用するだけです。
Apt構成をグローバルに更新し、時間をかけて不足しているものをすべて見つけ、マニフェストを調整して、推奨されることによってのみインストールされるようにしたいパッケージもインストールします。
Puppetを実行する前に、APT_CONFIG環境変数を設定してください。