包名称与服务名称不匹配
package name doesn't match service name
我正在尝试编写可以在 ubuntu 和 debian 下运行的食谱。
我正在使用 ubuntu 和 debian 中具有相同名称的包。但是在 debian 中包名与服务名不匹配。
示例:
ubuntu - package name = foo, service = foo.
debian - package name = foo, servie = xxxx
我需要 start/restart 明确服务或通知服务的名称。那么,使用正确的服务名称的最佳方法是什么?当然,我可以在属性文件中分别为 ubuntu 和 debian 预定义名称,但我想尝试自动执行此操作。
由于这种差异在很多情况下都会发生,因此甚至在 chef 的关于 service resource:
的文档中也包含了一个例子
service 'crond' do
case node['platform']
when 'redhat', 'centos', 'scientific', 'fedora', 'amazon'
service_name 'crond'
when 'debian', 'ubuntu', 'suse'
service_name 'cron'
end
action [:start, :enable]
end
我正在尝试编写可以在 ubuntu 和 debian 下运行的食谱。 我正在使用 ubuntu 和 debian 中具有相同名称的包。但是在 debian 中包名与服务名不匹配。
示例:
ubuntu - package name = foo, service = foo.
debian - package name = foo, servie = xxxx
我需要 start/restart 明确服务或通知服务的名称。那么,使用正确的服务名称的最佳方法是什么?当然,我可以在属性文件中分别为 ubuntu 和 debian 预定义名称,但我想尝试自动执行此操作。
由于这种差异在很多情况下都会发生,因此甚至在 chef 的关于 service resource:
的文档中也包含了一个例子service 'crond' do
case node['platform']
when 'redhat', 'centos', 'scientific', 'fedora', 'amazon'
service_name 'crond'
when 'debian', 'ubuntu', 'suse'
service_name 'cron'
end
action [:start, :enable]
end