我正在尝试添加一行,并用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)
有人可以请解释一下,或者如何解决? 谢谢