我在我的服务器上通过puppet配置syslog-ng。配置文件在版本2.x,3.1和3.3之间非常不同。在我的主机上,根据操作系统(centos5,centos6,debian 7,ubuntu),可用的syslog-ng版本会有所不同。预测软件包版本
我有2个想法syslog-ng的的配置适应的正确版本:
- 自定义的事实:它很容易编写自定义的事实,以测试syslog-ng的安装版本。但是,如果syslog-ng尚未安装,这个事实将毫无用处。
- 清单中的条件:我发现在清单中定义一个“case”有点难看,它将决定操作系统提供的syslog-ng的版本。
对我来说,最简单的方法是在安装前测试哪个版本的软件包可以通过操作系统使用。 一个因素可以做到这一点,但我想这会有点困难。
有没有一种傀儡方式来解决我的问题?
拥有每个案例的子类似乎干净。虽然你必须事先知道哪些发行版本的软件包的版本,并且我希望避免这些知识。 – skizo