Я попытался запустить рецепт шеф-повара в Ubuntu 19.10, который работает, как и ожидалось, в Ubuntu 18.04.3. В обеих версиях Ubuntu я установил chef 15.4.45-1, используя пакет, предоставленный на этом веб-сайте .
execute 'Git LFS: Install user configuration' do
command 'git lfs install'
user 'myusername'
not_if 'git config --global filter.lfs.required | grep "true"', :user => 'myusername'
end
Я использую эту команду для запуска клиента chef: sudo chef-client -z -o "recipe[my-cookbook::my-recipe]"
Вывод:
* execute[Git LFS: Install user configuration] action run
================================================================================
Error executing action `run` on resource 'execute[Git LFS: Install user configuration]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '2'
---- Begin output of git lfs install ----
STDOUT: WARNING: Error running /usr/lib/git-core/git 'config' '--global' '--replace-all' 'filter.lfs.required' 'true': 'warning: unable to access '/root/.gitconfig': Permission denied
warning: unable to access '/root/.config/git/config': Permission denied
error: could not lock config file /root/.gitconfig: Permission denied' 'exit status 255'
Run `git lfs install --force` to reset git config.
STDERR:
---- End output of git lfs install ----
Ran git lfs install returned 2
Очевидно, что шеф-повар выполнил защиту not_if
от имени пользователя root, а не предоставленного пользователя myusername
.
Я что-то упустил?