【发布时间】:2016-05-28 03:00:33
【问题描述】:
在 puppet 中,如果您启用这样的服务:
service { 'myservice':
ensure => running,
enable => true,
subscribe => File['/etc/init.d/myservice'];
}
file { '/etc/init.d/myservice':
source => "puppet:///modules/myservice/myservice",
ensure => file,
owner => root,
group => root,
mode => '0755',
}
然后 puppet 创建 /etc/rc3.d/S??myservice,在我的例子中,它总是创建 S65myservice。 65从哪里来?如果 puppet 一直选择 65,那么它一定是在某个地方确定的,但我不知道它是如何做出这个决定的。如何在启动过程中稍后启动此服务? (例如S99myservice)
【问题讨论】:
-
这里有一些东西: 1. 未引用的
mode八进制属性是警告或错误,具体取决于您的 Puppet 版本 2. 您打算在 @987654328 中使用source而不是content@ 资源 3. 你可能想要subscribe而不是require为你的file资源 4. 在这里做ensure => file比ensure => present更安全 -
我猜你正在使用 Linux 的 EL 发行版。 puppet 没有在操作系统的
/etc/rc3.d/中创建文件。 rc3 是运行级别 3。enable => true可能会确保服务在启动时启动,并确保它在运行级别 3(带网络的多用户模式)下启动。所以这不是傀儡的问题,它似乎是操作系统的问题。 -
@MattSchuchard 你的任何言论都与所提出的问题无关。
-
@ptierno 是的,但我不帮助解决他发布的代码中的问题是不负责任的。
-
感谢 cmets。我已经更新了问题以包含改进,除了:实际上可以使用
source或content,具体取决于您所需的行为。