Ich verwende Puppet, um eine Reihe von Debian-Servern bei der Arbeit zu verwalten, auch wenn dies die Installation von Paketen umfasst. Ein Paket, das ich auf mehreren Systemen installiere, ist nmap, mit dem überprüft wird, ob die Firewall-Regeln ordnungsgemäß eingerichtet sind. Wenn Sie unter Debian 7.0 APT :: Install-Recommends aktiviert haben, erhalten Sie zusammen mit nmap eine ganze Menge Mist (siehe unten).
Ich möchte nicht, dass der ganze Mist, der nmap mit aktivierten Empfehlungen installiert, enthalten ist. Eine Lösung wäre, meine passende Konfiguration mit zu aktualisieren APT::Install-Recommends "0";
. Aber ich möchte nicht, dass dies die Standardeinstellung ist. Die meiste Zeit möchte ich Empfehlungen enthalten. Die empfohlenen Pakete sind größtenteils in Ordnung und ich bekomme nicht viele Sachen, die ich nicht brauche. Aber es gibt ein paar Pakete, die denken, ich will / brauche nicht.
package { 'nmap':
ensure => installed,
require => Class['apt'],
}
Gibt es eine Methode, um zu steuern, ob Empfehlungen über Puppet installiert werden, wenn der Paketanbieter 'apt' verwendet wird? Ich möchte nicht mit dem Eignungsanbieter herumspielen, da Eignung und Eignung nicht vollständig miteinander kompatibel sind.
Mit Empfehlungen
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]?
Ohne Empfehlungen
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]?
apt
Klasse anzuschauen .Antworten:
Dies ist jetzt über die Einstellung "install_options" im Puppet-Pakettyp möglich: http://docs.puppetlabs.com/references/latest/type.html#package-attribute-install_options
Zum Beispiel:
Das oben Gesagte stellt sicher, dass die Option "--no-install -empfehlungen" an apt-get übergeben wird, wodurch die empfohlenen Pakete nur für diese Installation übersprungen werden : http://manpages.ubuntu.com/manpages/precise/man8/apt-get .8.html
quelle
Ich habe bisher die folgenden Lösungen gefunden, aber sie sind nicht ideal.
Warten Sie, bis ein kürzlich hinzugefügter Patch die veröffentlichte Version erreicht hat, und aktualisieren Sie ihn.
Verwenden Sie einfach eine Exec zum Installieren anstelle eines Pakets und verwenden Sie eine Exec.
Aktualisieren Sie meine passende Konfiguration global und verbringen Sie die Zeit damit, alle fehlenden Inhalte zu finden und meine Manifeste anzupassen, um auch die von mir gewünschten Pakete zu installieren, die nur durch Empfehlung installiert werden.
Legen Sie die Umgebungsvariable APT_CONFIG fest, bevor Sie Puppet ausführen.
quelle