微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

每次运行后,Puppet 代理都会重新复制相同的文件

如何解决每次运行后,Puppet 代理都会重新复制相同的文件

我正在编写一个无法按预期工作的 Puppet 模块。

最终,我想确保在 Windows 服务器上安装并运行应用程序。 Puppet 将 SomeApp.exe 复制到服务器 C 驱动器上的非临时位置。如果应用程序需要安装,它可以使用该 exe 文件进行安装。非常简单。

它可以工作,除了每次 Puppet 代理运行时,它都会重新复制 SomeApp.exe,从而采取纠正措施。我对这种行为感到困惑,因为 SomeApp.exe 已经存在。

代码如下:

file { 'SomeApp.exe' :
path   => 'C:\Post\SomeApp.exe',ensure => 'present',source => 'puppet:///modules/app_test/SomeApp.exe',}
service { 'SomeApp':
name   => 'SomeApp',ensure => 'running',enable => 'true',}
package { 'SomeApp.exe':
ensure          => 'installed',provider        => 'windows',source          => 'C:\Post\SomeApp.exe'
}

除了每次都坚持重新复制 SomeApp.exe 之外,一切正常。原版 SomeApp.exe 没有改变或被删除。 我在这里错过了什么?

更新:看起来它实际上并没有重新复制二进制文件,但它仍在报告纠正措施:

Notice: /Stage[main]/app_test/Package[SomeApp.exe]/ensure: created (corrective)

谢谢!

解决方法

谢谢大家!事实证明你都是对的。 Windows 中可执行文件的名称不一定是包的名称。我不是 Windows 人,所以我假设“SomeApp.exe”是包的名称,而实际上,名称是“Some App”。 现在可以使用了,谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。