Я запускаю виртуальную машину Google Compute Engine из приложения App Engine. Стартовые скрипты для GCE VM запускают скрипты python, которые, в свою очередь, делают вызовы os.system для команд bdutil, , например.,Как заставить команду bdutil запускать как root?
os.system("bdutil --bucket <BUCKET> --num_workers 1 "
"--env_var_files hadoop2_env.sh --default_fs hdfs "
"--zone us-central1-b --prefix <NAME> --force deploy")
я счел необходимым запускать эти скрипты как корень, например ,
sudo python script.py
Опция --force deploy
команда работает, как ожидалось, т.е., терминал оболочки показывает:
Deploy cluster with following settings?
....
(y/n) y
Однако другая подсказка входит:
Are you sure you want to run the command as root? (y/n)
Я нашел Мне нужно выполнить эти скрипты как root, но я также выполняю их удаленно и не могу ответить на терминал promp ц.
Как я могу заставить выполнение этой команды bdutil не отвечать на окончательное приглашение? Модификация исходного кода bdutil не является жизнеспособным вариантом.
Простите за опоздание; для дальнейшего использования, добавление тега 'google-hadoop' может быстрее дойти до команды Hadoop. –