人偶file_line不适用于代理,而适用于apply

时间:2018-11-02 13:04:29

标签: regex puppet

我正在尝试添加一行,并用p file_line资源替换其他行。我有一个很奇怪的行为。这是代码:

file_line { 'bashrc':
  ensure => present,
  path   => '/user/.bashrc',
  line   => 'HISTCONTROL=ignoredups:ignorespace:erasedups',
  match  => '^HISTCONTROL\=',
}

file_line { 'sysctl_conf':
  ensure => present,
  path   => '/etc/sysctl.conf',
  line   => 'net.ipv6.conf.all.disable_ipv6=1',
  notify => Exec['/sbin/sysctl -p'],
}

我有这一行:HISTCONTROL=ignoredups文件中的.bashrc。当我运行puppet agent -t时,它只是将行HISTCONTROL=ignoredups:ignorespace:erasedups附加到文件中,而原始行HISTCONTROL=ignoredups仍然存在。更有趣的是,第二个file_line资源根本没有执行。 但是当我运行puppet apply -e "include module"时,将替换.bashrc中的行,并将net.ipv6.conf.all.disable_ipv6=1附加到/etc/sysctl.conf

系统信息:

root@puppet [Home]:~# puppet agent --version
5.5.8
root@puppet [Home]:~# puppet --version
5.5.8
root@puppet [Home]:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:    16.04
Codename:   xenial
root@puppet [Home]:~# puppet module list | grep stdlib
├── puppetlabs-stdlib (v5.1.0)

有人可以请解释一下,或者如何解决? 谢谢

0 个答案:

没有答案