Puppet:如何向现有文件添加一行

Puppet:如何向现有文件添加一行

我正在尝试向现有文件 /etc/fuse.conf 添加一行。我试过这个

在模块目录下添加了一个文件夹和两个文件夹

sudo mkdir /etc/puppet/modules/test
sudo mkdir /etc/puppet/modules/test/manifests

然后创建一个 test.pp 文件并添加以下几行

sudo vim /etc/puppet/modules/test/manifests/test.pp

file { '/etc/fuse.conf':
  ensure => present,
}->
file_line { 'Append a line to /etc/fuse.conf':
  path => '/etc/fuse.conf',
  line => 'Want to add this line as a test',
}

之后我运行了这个命令

puppet apply /etc/puppet/modules/test/manifests/test.pp

然后我打开了这个文件/etc/fuse.conf,文件没有任何变化。该行没有添加到文件中。我不明白我在这里遗漏了什么。我该怎么办?我正在学习 puppet。所以这只是为了学习目的。

答案1

我不确定你使用的是哪个版本的 puppet,因为你没有提到它。“file_name”类属于 puppetlabs-stdlib 库,因此你需要确保已安装此模块 -

puppet module install puppetlabs-stdlib

此外,由于您使用的是模块路径,因此您需要调用文件 init.pp(而不是 test.pp)。由于您是编写模块的新手,我建议您使用 puppet module generate 命令 -

puppet module generate module-name --skip-interview

这将创建新模块所需的一切。不要忘记确保类名与模块名称相同。为了运行和测试此模块,请使用 -

puppet apply  -e "include <module-name>"

相关内容