kernel.core_pattern = /usr/local/core-%e.%t.%p.%u.%g
现在我想把它改成这个,即
kernel.core_pattern = /usr/local/core.%e.%p.%h.%t
mycode如下:
ruby_block "edit /etc/sysctl.conf" do
block do
file = Chef::Util::FileEdit.new("/etc/sysctl.conf")
file.search_file_replace_line(/^kernel.core_pattern.*$/, "kernel.core_pattern=/usr/local/core.%e.%p.%h.%t")
rc.write_file
end
not_if "grep 'kernel.core_pattern' /etc/sysctl.conf"
任何建议
答案 0 :(得分:0)
不要使用FileEdit
,它是Chef内部的API。在一般情况下,如果您必须进行就地编辑,请使用line
或(免责声明:我的)poise-file
食谱。也就是说,管理整个文件通常更安全。特别是在sysctls的情况下,它必须编辑一个文件,但我们有一个社区食谱(sysctl
),可以处理这种情况下繁重的工作。