Chefでdirectoryをrecursive trueで作成するときの注意点
階層の深いディレクトリを作成するとき、mkdir -p
のように一気に作ろうとrecipeを作った。
directory '/home/user/foo/bar' do owner 'user' group 'user' mode '0755' recursive true end
しかし、これだとowner
とgroup
とmode
の指定が、一番深い階層のディレクトリ(bar)のみに適用され、中間のディレクトリ(foo)には適用されないので、以下のように書く必要がある。
%w[ /home/user/foo /home/user/foo/bar ].each do |path| directory path do owner 'user' group 'user' mode '0755' end end
公式ドキュメントにも書いてた。
http://docs.getchef.com/chef/resources.html#recursive-directories