我正在修改Apache Cookbook以使用2.4 Apache。 Opscode Cookbook目前失败,因为它正在生成带有LockFile关键字的conf文件,该关键字不在Apache 2.4关键字列表中。如何找出安装在节点上的软件包的版本?
我想制作一个通用的解决方案,并根据软件的版本填充我的conf文件。为此,我必须找出已安装软件的版本。同样的问题现在一直困扰着我,但我一直在设法避免它。由于我一遍又一遍地重复,我想问:
如何找到已安装的软件包/软件的版本,如果cookbook没有指定它,即安装最新的可用软件包?
注意:请不要告诉我将命令传递给底层shell。我想知道是否有更好的,更多...惬意的方式?也许与Ohai有关?
编辑:似乎我误解了。我想知道是否有抽象平台层的解决方案(就像Ohai一样),在那里我会说类似gimme_version('apache')
的东西,并获得安装的apache版本。我想避免编写case node['platform_family'] when... when... when
以及平台特定的代码。
不......而Ohai只是运行在引擎盖下的shell命令反正 – sethvargo
烨,但是从上它上面是平台无关的,而这正是我所需要的 - 独立于平台的解决方案。 – Konzula
这就是Ohai的全部观点 - 它运行特定于平台的命令 – sethvargo