Chef可以检测我的存储库中的某些Cookbook是否未使用过吗?
它可以仅为一个食谱检测未使用的食谱吗?
答案 0 :(得分:5)
Chef无法自行判断,但您可以使用knife search node
收集每个节点的扩展运行列表(存储在“recipes”属性中),然后使用常规Unix工具进行清理。这将为您提供使用的食谱清单。将其与您的仓库中的内容进行比较,以确定未使用的食谱
$ knife search node '*:*' -a recipes | \
grep "^ " | sort | uniq | tr -d ' '
apache2
apt
chef-client
chef-client::config
chef-client::delete_validation
...
使用“::”过滤掉每一行以删除食谱,只留下食谱。
答案 1 :(得分:2)
我用过
ls /var/cache/chef/cookbooks
找出所有缓存的cookbook列表。此列表是Chef-client上次使用的所有烹饪书的列表。请注意,Chef客户端会从缓存中删除未使用的cookbook。