0

我正在尝试使用具有以下功能的 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, 
     }

  }
4

1 回答 1

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

于 2013-07-15T15:40:43.663 回答