Chef infra 获取已安装烹饪书及其版本的列表
我有一个通过chef配置的服务器。现在我想知道这个服务器上到底安装了哪些cookbook版本 作为一名厨师新手,我使用了Chef infra 获取已安装烹饪书及其版本的列表,chef-infra,Chef Infra,我有一个通过chef配置的服务器。现在我想知道这个服务器上到底安装了哪些cookbook版本 作为一名厨师新手,我使用了grep,如下所示,但我想知道是否有某种官方方式可以获取这些信息 sudo grep -E '^version|"version":' /var/chef/cache/cookbooks/*/metadata* 是否有chef命令列出所有已安装的烹饪书及其版本 首先,没有官方的厨师方法来获取安装的烹饪书版本列表 但您可以使用或等工具,放置您需要的所有烹饪书。尝试以下方法: k
grep
,如下所示,但我想知道是否有某种官方方式可以获取这些信息
sudo grep -E '^version|"version":' /var/chef/cache/cookbooks/*/metadata*
是否有
chef
命令列出所有已安装的烹饪书及其版本 首先,没有官方的厨师方法来获取安装的烹饪书版本列表
但您可以使用或等工具,放置您需要的所有烹饪书。尝试以下方法:
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
以上部分的变化
sudo grep -o -e '\"version\"\:\"[a-zA-Z0-9.]*\"' -e '\"version\"\: \"[a-zA-Z0-9.]*\"' /var/chef/cache/cookbooks/*/metadata.json
这在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
这不是列出了可以安装的烹饪书吗?我想知道的是当前安装了什么。刀子食谱列表-->列出已安装的食谱;刀子食谱显示-->在中显示食谱的所有版本argument@muhqu该命令生成一组刀子命令,显示安装在chef服务器上的每个烹饪书的所有版本。没错,但这不是我想要的。我想知道哪些烹饪书(和版本)已部署到“节点”。例如,chef client运行的位置。@user674669不同的问题。试试这个,我在CentOS 6.6上遇到了这个错误:grep:/var/chef/cache/cookbooks/*/metadata.json:没有这样的文件或目录