Chef infra chef-替换sysctl.conf文件中的coredump参数

Chef infra chef-替换sysctl.conf文件中的coredump参数,chef-infra,Chef Infra,例如,我已经有一个核心转储的参数,即 kernel.core_模式=/usr/local/core-%e.%t.%p.%u.%g 现在我想把它改成这个 kernel.core\u模式=/usr/local/core.%e.%p.%h.%t 代码如下: ruby_block "edit /etc/sysctl.conf" do block do file = Chef::Util::FileEdit.new("/etc/sysctl.conf") file.

例如,我已经有一个核心转储的参数,即

kernel.core_模式=/usr/local/core-%e.%t.%p.%u.%g

现在我想把它改成这个

kernel.core\u模式=/usr/local/core.%e.%p.%h.%t

代码如下:

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"

任何建议

不要使用
文件编辑
,它是Chef内部的API。在一般情况下,如果必须进行就地编辑,请使用
或(免责声明:我的)
poise文件
cookbooks。也就是说,管理整个文件通常更安全。特别是在sysctls的情况下,它确实需要编辑一个文件,但是我们有一个社区食谱()可以处理这种情况下的繁重工作