gpt4 book ai didi

Puppet - 测试一个包是否已经定义?

转载 作者:行者123 更新时间:2023-12-03 12:23:09 25 4
gpt4 key购买 nike

我正在编写一些 puppet 模块并在两个模块中定义了一个包,因此出现以下错误:

err: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate definition: Package[gnome-session-fallback] is already defined in file /etc/puppet/modules/vnc4server/manifests/init.pp at line 3; cannot redefine at /etc/puppet/modules/vino/manifests/init.pp:7 on node l

因此要确保该包尚未定义,但以下内容不起作用:
if ! defined ('gnome-session-fallback') {
package { 'gnome-session-fallback':
ensure => installed,
}
}

任何人都可以建议如何解决这个问题,并且在更广泛的范围内,避免模块中此类冲突的“正确”方法是什么?

最佳答案

您在定义的()中缺少包 []。正确的做法:

if ! defined(Package['gnome-session-fallback']) {
package { 'gnome-session-fallback':
ensure => installed,
}
}

关于Puppet - 测试一个包是否已经定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15266347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com