如何解决每次运行后,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 举报,一经查实,本站将立刻删除。