Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过puppet从其他模块获取Chmod目录_Puppet_Chmod - Fatal编程技术网

通过puppet从其他模块获取Chmod目录

通过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

我正在使用一个第三部分的木偶模块,我不想改变它(Tomcat)。它创建了一个mode=644的目录,我希望将其更改为664(递归)

当我尝试此操作时,puppet不高兴,因为此资源已在另一个模块中定义

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模块,但他不想;)