Centos 如果存在则覆盖,如果不存在则创建

Centos 如果存在则覆盖,如果不存在则创建,centos,vagrant,puppet,Centos,Vagrant,Puppet,我正在尝试使用puppet重写一个文件,并使用以下函数 如果文件存在,我仍然希望从源代码重写该文件。这将通过以下方法实现吗 define setup_sysctl_conf( $dependence=File[$dummy_dependence_file] ) { file { $name: path => '/etc/sysctl.conf', ensure => present, m

我正在尝试使用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, 
     }

  }

文件:/etc/sysctl.conf将已经存在于主机上(由initscripts包创建)

我建议使用puppet修改现有文件,而不是替换它们

示例(将net.ipv4.ip_改为1):


将此示例另存为test.pp,并使用
puppet apply test.pp运行它,因为搜索此示例将我带到这里(将来可能对社区有帮助):如果不希望覆盖存在的内容,但希望创建不存在的内容,请使用:replace=>“no”,
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