我的定制食谱以以下方式安装openvpn:
package 'openvpn' ... do some configuration .... service 'openvpn' do action [:enable, :start] end
以上代码在centos 6中正常工作,在centos7中失败(systemd)
错误:/bin/systemctl enable openvpn-无此类文件或目录
似乎在systemd上,服务的名称不同:openvpn@server我如何才能检测到这一点?
您可以检查platform_version(假设您已经在食谱中检查了CentOS的平台),然后动态切换service_name。例如,要启动OpenVPN服务器
service 'openvpn_service' do if node['platform_version'].to_f >= 7.0 service_name 'openvpn@server.service' else service_name 'openvpn' end action [ :enable, :start ] end