sudo: ruby: команда не найдена после ssh

Я работаю с экземплярами ec2 и пытался выполнить ruby-скрипт в другом экземпляре после ssh для этого экземпляра. У меня есть рубиновый скрипт, который обновляет файлы конфигурации, поэтому мне нужно запустить этот скрипт как суперпользователь. когда я запускаю скрипт вручную в этом экземпляре, sudo ruby recreate-532d01c.rb, появляется ошибка

sudo: ruby: command not found

Работает с простыми сценариями без прав доступа root, например ruby file_1.rb.

Использование rvmsudo вместо sudo выполняет скрипт с предупреждением,

ubuntu@ip-10-0-0-111:~$ rvmsudo ruby recreate-82bb000012.rb 
Warning: can not check `/etc/sudoers` for `secure_path`, falling back to call via `/usr/bin/env`, this breaks rules from `/etc/sudoers`. Run:

    export rvmsudo_secure_path=1

to avoid the warning, put it in shell initialization file to make it persistent.

In case there is no `secure_path` in `/etc/sudoers`. Run:

    export rvmsudo_secure_path=0

to avoid the warning, put it in shell initialization file to make it persistent.

Я попытался выполнить приведенную ниже команду из консоли rails одного из экземпляра для проверки, и он не смог выполнить признать ruby ​​как команду

1.9.3-p545 :002 > system("ssh -i /home/ubuntu/.ssh/own_key.pem ubuntu@**.***.***.** ruby execute-52d.rb")
bash: ruby: command not found

Я попытался с возможными решениями по сети, но не смог решить проблему. У меня такая же конфигурация работает для одного из моих старых aws acount, это вновь созданная учетная запись. Не уверен, что это может быть проблемой, так как в настоящее время экземпляры ec2 попадают под vpc по умолчанию и имеют некоторые изменения после dec 2013

1
задан 14 April 2014 в 20:03

0 ответов

Другие вопросы по тегам:

Похожие вопросы: