我正在尝试向现有文件 /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>"