Geo*_* K. 7 ruby manifest puppet vagrant
我在Vagrant有一个CentOS基础盒,我正站起来用木偶清单.到目前为止,这是清单中的内容:
class base {
exec { "sudocmd":
path => ["/usr/bin/","/usr/sbin/","/bin"],
command => "sudo yum update -y",
}
package { "man":
ensure => present,
}
package { "bind":
ensure => present,
}
package { "bind-utils":
ensure => present,
}
}
include base
Run Code Online (Sandbox Code Playgroud)
但是,当我说vagrant up,我得到一个错误,sudocmd yum update退出1.我已经在网上看了,但我还没有找到解决方案.有帮助吗?
========编辑=========我读了答案,我同意 - 谢谢你们.我只是在开发盒上使用它来乱搞,我需要它在我开始做它之前是最新的.
fre*_*eit 11
使用puppet,您不需要使用sudo,只需yum直接运行命令即可.通常,命令默认以root身份运行,但您可以指定用户.
exec { "sudocmd":
path => ["/usr/bin/","/usr/sbin/","/bin"],
command => "yum update -y",
user => root,
}
Run Code Online (Sandbox Code Playgroud)
但是,我强烈建议你不要使用任何一种非条件exec的木偶.这将在每次木偶运行时运行.正如福雷斯特已经说过的那样,这不是傀儡的设计目标.我不会用的傀儡了yum update,而我exec总是有creates,onlyif,refreshonly或unless以确保它们仅在需要时运行.
因此,Puppet 并不是真正要执行 yum 更新之类的任务。它是一个配置管理工具,并不能完全取代此类任务。此外,您还会遇到很多问题。如果 Puppet 被守护进程怎么办?这会对我们的生产环境产生负面影响吗?如果用户意外运行 Puppet 并且它更新了破坏我们脚本(JDK、MySQL、PHP 等)的包,会发生什么情况。据我所知,这个问题没有解决方案,因为它实际上并不被认为是一个问题。Scott Pack 在Serverfault上对类似问题提供了非常描述性的答案。
| 归档时间: |
|
| 查看次数: |
8954 次 |
| 最近记录: |