我第一次在 CentOS 上使用 puppet。
我的一个 .pp 文件中有以下内容:
package {"openjdk-6-jdk":
ensure => installed,
}
应用时会产生以下错误:
错误:执行“/usr/bin/yum -d 0 -e 0 -y install openjdk-6-jdk”返回 1:错误:无需执行任何操作
错误:/Stage[main]/Play/Package[openjdk-6-jdk]/ensure:从不存在更改为存在失败:执行“/usr/bin/yum -d 0 -e 0 -y install openjdk-6-jdk”返回 1:错误:无需执行任何操作
将安装的版本换成最新版本会产生相同的结果。
package {"openjdk-6-jdk":
ensure => latest,
}
我如何告诉 Puppet,yum 在这里返回 1 是可以的?
我认为 puppet yum 适配器已经知道如何处理这个结果代码了。
这看起来非常基础并且应该“可以工作”。
这是在 Centos 6.3 上安装的 puppet 3.1.1-1.el6
答案1
正如我在评论中所说,软件包名称是错误的。下面是我在 Ubuntu 和 CentOS 上安装的修复方法。
package {"openjdk-6-jdk":
ensure => installed,
name => $operatingsystem ? {
Ubuntu => "openjdk-6-jdk",
CentOS => "java-1.6.0-openjdk",
}
}