Кукольный: как добавить строку в существующий файл

1025
user1670773

Я пытаюсь добавить строку в существующий файл /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и в нем не было никаких изменений. Строка не была добавлена ​​в файл. Я не понимаю, чего мне здесь не хватает. Как я могу это сделать? Я учу кукол. Так что это только для целей обучения.

0
Команда `puppet apply ....` выдала какой-либо вывод? Не могли бы вы включить это в свой вопрос? Спасибо! Mikhail T. 7 лет назад 0
Перекрестная публикация: http://stackoverflow.com/q/36045455/781723, http://serverfault.com/q/764220/111679, http://superuser.com/q/1053789/93541. Пожалуйста [не размещайте один и тот же вопрос на нескольких сайтах] (http://meta.stackexchange.com/q/64068). Каждое сообщество должно иметь честный ответ, не теряя никого времени. D.W. 7 лет назад 0

1 ответ на вопрос

1
Gilad Sharaby

I'm not sure which version of puppet you are using, since you didn't mention it. The "file_name" class belongs to the puppetlabs-stdlib library, so you need to make sure that this module is installed -

puppet module install puppetlabs-stdlib 

also, since you are using a module path, you need to call your file init.pp (not test.pp). Since you are new to writing modules, I suggest you use the puppet module generate command -

puppet module generate module-name --skip-interview 

this will create all you'll need for a new module. don't forget to make sure that the class name is the same as the module's name. In order to run and test this module, use -

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