Chef - add/change 文件中的一行

Chef - add/change a line in a file

我是 Chef / Kitchen 的新手。我想更改目标 VM 上文件中的一行,例如 /etc/sudoers - 更改 Defaults ....

也就是说,我不想使用 template 这会覆盖文件 - 我想保留文件的其他内容。

理想情况下,我想要这样的操作:

file_changeLine '/path/to/file/' do
    prefix: "Defaults .*"
end

有这样的吗?我还没有在 docs 中找到。也许有一些额外的存储库包含社区制作的操作?

我们真的不推荐这种管理结构,但如果必须,请查看 Supermarket 上的 poise-fileline 食谱。它们为增量更新提供基于资源的接口。请注意,这将需要大量的照顾和喂养,因为它通常会导致脆弱的代码。