Chef 是否可以检测我的存储库中是否有一些 Cookbook 未被使用?
它能否仅针对单个食谱检测未使用的食谱?
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
...
用“::”过滤掉每一行以删除食谱并只留下食谱。
我用了
ls /var/cache/chef/cookbooks
找出所有缓存食谱的列表。此列表是厨师客户上次使用的所有食谱的列表。请注意,厨师客户端会从缓存中删除未使用的食谱。