代码之家  ›  专栏  ›  技术社区  ›  Marcel Tricolici

chef centos 7 openvpn服务

  •  0
  • Marcel Tricolici  · 技术社区  · 10 年前

    我的定制食谱以以下方式安装openvpn:

    package 'openvpn'
    
    ... do some configuration ....
    
    service 'openvpn' do
      action [:enable, :start]
    end
    

    以上代码在centos 6中正常工作,在centos7中失败(systemd)

    错误:/bin/systemctl enable openvpn-无此类文件或目录

    似乎在systemd上,服务的名称不同:openvpn@server我如何才能检测到这一点?

    1 回复  |  直到 10 年前
        1
  •  2
  •   display name    10 年前

    您可以检查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
    
    推荐文章