Chef は、リポジトリ内の一部のクックブックが未使用かどうかを検出できますか?
1 つのレシピだけで未使用のクックブックを検出できますか?
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
キャッシュされたすべてのクックブックのリストを見つけます。このリストは、chef-client が最後に使用したすべてのクックブックのリストです。Chef クライアントは未使用のクックブックをキャッシュから削除することに注意してください。