我正在尝试使用具有以下功能的puppet重写文件。
如果文件存在,我仍然希望从源重写文件。这会通过以下方法实现吗?
define setup_sysctl_conf( $dependence=File[$dummy_dependence_file] )
{
file { $name:
path => '/etc/sysctl.conf',
ensure => present,
mode => 0777,
source => '/vagrant/files/sysctl.conf',
require => $dependence,
}
}
答案 0 :(得分:1)
文件:/etc/sysctl.conf已经存在于您的主机上(由initscripts包创建)。
我建议使用augeas使用puppet修改现有文件,而不是替换它们。
示例(将net.ipv4.ip_forward更改为1):
class sysctl_augeas_example {
augeas{"Set net.ipv4.ip_forward to 1":
context => "/files",
changes => [
"set etc/sysctl.conf/net.ipv4.ip_forward 1",
]
}
}
include sysctl_augeas_example
将此示例另存为test.pp并使用puppet apply test.pp