Sco*_*ens 4 linux configuration-management chef
我有 3 种不同的方法来安装所述软件包,我最喜欢选项 #1,但我想看看是否有理由使用选项 #2 或 3 或任何其他选项?(我对这个问题的目标是获得不同方法的反馈;如果可能,不要在编译时安装......在这种情况下)
第一。
p = package "snmp" do
package_name value_for_platform(
[ "centos", "redhat", "suse" ] => { "default" => "net-snmp" },
"default" => "snmpd"
)
action :install
end
Run Code Online (Sandbox Code Playgroud)
第二。
packages = case node[:platform]
when "centos","redhat","fedora"
%w{net-snmp}
else
%w{snmpd}
end
packages.each do |pkg|
package pkg
end
Run Code Online (Sandbox Code Playgroud)
第三。
package "snmpd" do
action :install
only_if do platform?("ubuntu", "debian") end
end
Run Code Online (Sandbox Code Playgroud)
小智 6
我通常不支持我自己的食谱中的太多发行版,但是在阅读其他食谱时(例如从 Opscode),我通常欣赏类似于上面的第二个方法,主要区别在于我倾向于直接显式调用资源,而不是编译一个数组。
case node[:platform]
when "centos","redhat","fedora"
package 'net-snmp'
else
package 'snmpd'
end
Run Code Online (Sandbox Code Playgroud)
但是,每种情况都有许多优点和缺点,具体取决于您要表达的内容。
| 归档时间: |
|
| 查看次数: |
2204 次 |
| 最近记录: |