获取已安装的cookbook列表及其版本

时间:2015-05-12 10:59:13

标签: chef

我有一台通过厨师配置的服务器。现在我想确切地知道在这台服务器上安装了哪些cookbook版本。

作为一名厨师新手,我使用grep之类的工作,如下所示,但我想知道是否有某种官方方式来获取这些信息。

sudo grep -E '^version|"version":' /var/chef/cache/cookbooks/*/metadata*

是否有chef命令列出所有已安装的烹饪书及其版本?

4 个答案:

答案 0 :(得分:1)

尝试以下方法:

knife cookbook list | awk '{printf "knife cookbook show %s\n",$1}'| bash

将打印出与每个食谱相关的版本。例如:

java   1.31.0  1.29.0
mysql   6.0.22  6.0.21
rbac   1.0.3
smf   2.2.6
yum   3.6.0
yum-mysql-community   0.1.17

答案 1 :(得分:1)

以上某些变化。

sudo grep -o -e '\"version\"\:\"[a-zA-Z0-9.]*\"' -e '\"version\"\: \"[a-zA-Z0-9.]*\"' /var/chef/cache/cookbooks/*/metadata.json

答案 2 :(得分:0)

首先,没有专业的厨师方式来获取安装的烹饪书版本列表。

但您可以使用berkshelflibrarian-chef等工具,放置所需的所有食谱。

答案 3 :(得分:0)

这在CentOS 6.6上对我有用:

for filename in `ls /var/cache/chef/cookbooks`; \
do \
    echo -n "$filename "; \
    grep version /var/cache/chef/cookbooks/$filename/metadata.rb; \
done | column -t

enter image description here