Ich habe versucht, ein Manifest für die Installation von Postgres 9.1 mit Puppet auf einem Centos 5-Server zu erstellen. Ich habe versucht, die Anweisungen unter http://wiki.postgresql.org/wiki/YUM_Installation anzupassen , um dies zu erreichen, und wenn ich einen manuellen Prozess durchlaufe, konnte ich dies tun.
Es scheint mir daher, dass ein Marionettenmanifest enthält
package { 'postgresql91-server':
ensure => installed,
source => 'http://yum.postgresql.org/9.1/redhat/rhel-5-x86_64/pgdg-centos91-9.1-4.noarch.rpm'
}
Beim Versuch, dieses Manifest anzuwenden, bekomme ich jedoch
err: /Stage[main]//Package[postgresql91-server]/ensure: change from absent to present failed: Could not find package postgresql91-server
Gibt es erfahrene Puppenspieler, die mir helfen können?
Antworten:
Fügen Sie das Repo zu yum hinzu (natürlich mit Puppet) und geben Sie dann die Repo-Ressource als Abhängigkeit vom Paket an. Dies erleichtert später das Upgrade. Weitere Informationen finden Sie in den Puppendokumenten zu Yum Repos .
quelle
Vielen Dank an alle Hilfe von Steve und Paul. Der endgültige Code, den ich verwendet habe, ist
Das macht den Trick!
quelle
Laut http://docs.puppetlabs.com/references/stable/type.html#package hängt die Quelle vom zugrunde liegenden Paketanbieter ab, der sie unterstützt. Meines Wissens erlaubt yum keine willkürlichen URLs - Sie müssen ein Repo angeben (wie Steve Wills erwähnt hat).
Möglicherweise können Sie dies umgehen, indem Sie 'provider => "rpm"' nur für diese Paketressource angeben, aber ich habe dies selbst nicht versucht.
quelle