通过puppet从其他模块获取Chmod目录
我正在使用一个第三部分的木偶模块,我不想改变它(Tomcat)。它创建了一个mode=644的目录,我希望将其更改为664(递归) 当我尝试此操作时,puppet不高兴,因为此资源已在另一个模块中定义通过puppet从其他模块获取Chmod目录,puppet,chmod,Puppet,Chmod,我正在使用一个第三部分的木偶模块,我不想改变它(Tomcat)。它创建了一个mode=644的目录,我希望将其更改为664(递归) 当我尝试此操作时,puppet不高兴,因为此资源已在另一个模块中定义 file { '/var/lib/tomcat' : ensure => directory, mode => 0664, recurse => true, } 有什么办法可以解决这个问题吗?在bash中,您可以使用 cd/var/lib c
file { '/var/lib/tomcat' :
ensure => directory,
mode => 0664,
recurse => true,
}
有什么办法可以解决这个问题吗?在bash中,您可以使用
cd/var/lib
chmod-R 664 Tomcat
在bash中可以使用
cd/var/lib
chmod-R 664 Tomcat
您应该使用“exec”资源类型
exec {"chmod -R 664 /var/lib/tomcat":
path => "/bin",
command => "chmod -R 664 .",
cwd => "/var/lib/tomcat"
}
这是我发现的唯一一种避免重复资源名称的解决方法您应该使用“exec”资源类型
exec {"chmod -R 664 /var/lib/tomcat":
path => "/bin",
command => "chmod -R 664 .",
cwd => "/var/lib/tomcat"
}
这是我发现的唯一一种避免重复资源名称的解决方法。您可以使用收集器语法覆盖已声明资源的某些属性
File<| title == '/var/lib/tomcat' |> {
mode => '0664'
}
文件{
模式=>'0664'
}
少用这个。不兼容的覆盖仍然会发生冲突,并且清单变得难以调试
最安全的方法是将属性设置为模块参数(通过向上游发送适当的补丁)。您可以使用收集器语法覆盖已声明资源的某些属性
File<| title == '/var/lib/tomcat' |> {
mode => '0664'
}
文件{
模式=>'0664'
}
少用这个。不兼容的覆盖仍然会发生冲突,并且清单变得难以调试
最安全的方法是将属性作为模块参数(通过向上游发送适当的补丁)。这是有问题的,因为两个不同的资源管理同一个实体。每个代理事务都会在冲突状态之间执行一个触发器,使您的报告变得混乱。您是对的,但我不知道其他任何方式。。。当然最好是覆盖tomcat模块,但他不想;)这是有问题的,因为两个不同的资源管理同一个实体。每个代理事务都会在冲突状态之间执行一个触发器,使您的报告变得混乱。您是对的,但我不知道其他任何方式。。。当然最好是覆盖tomcat模块,但他不想;)