Я недавно вернулся в Linux после двухлетнего перерыва. Я пытаюсь выполнить learn Chef, чтобы автоматизировать развертывание некоторых приложений. В учебнике Chef говорится, что для запуска команды, которая устанавливает пакет, требуется sudo
, что имеет смысл.Не удается запустить Chef as root
webserver.rb
package 'httpd'
команда оболочки
sudo chef-apply webserver.rb
Учебник отрывок:
sudo
требуется, поскольку эта команда устанавливает пакет и, следовательно, должен быть запущен остроумие h привилегий root. Если вы используете root на своей собственной машине, вы можете опуститьsudo
из этой команды.
Я гугле вопрос у меня был и нашел "solution" that didn't work, наряду с SO question that stated you shouldn't run Chef as root. Я не уверен, покупаю ли я его.
Прежде всего, шеф-повар не предназначен для использования как корень. Многие ресурсы предполагают, что они выполняются как root, и нуждаются в этом. Они потерпят неудачу, если не работают как root.
Он также заявляет, что вы должны использовать sudo
, что противоречит его предыдущему утверждению.
использование Sudo для запуска клиента шашлычника с тестовым пользователем (нужна запись в sudoers файл)
Я думаю, что он хотел сказать, что вы не должны работать Chef как корень 100% от время. Я не могу запустить Chef как root, что, похоже, противоположно тому, что пытался решить OP.
Ошибки я получаю
/opt/rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:298:in `to_specs': Could not find 'chef' (>= 0) among 13 total gem(s) (Gem::LoadError)
from /opt/rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:309:in `to_spec'
from /opt/rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:53:in `gem'
from /opt/rvm/gems/ruby-2.1.5/bin/chef-apply:22:in `<main>'
from /opt/rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `eval'
from /opt/rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `<main>'
Если учебник говорит, что вы можете запустить Chef как корень, и корень требуется для выполнения определенных рецептов, то я думаю, что шеф-повар должен работать как корень в в некоторых случаях.
Мой самый большой вопрос: как исправить эту ошибку и запустить Chef как root? Он работает отлично, как и любой другой пользователь, но сбой при попытке sudo
.
Вы можете управлять шеф-поваром как пользователем без полномочий root? Кажется, что вы не нашли свой поварский камень. –
Я могу запустить Chef как пользователь без полномочий root. Я думал, что мне не хватает драгоценного камня шеф-повара, поэтому я установил его, а затем выполнил «rvm reset», и все сработало. –