sudo: рубин: команда, не найденная после ssh

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

sudo: ruby: command not found

Запущение простых скриптов без корневых работ полномочий, например.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.

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

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, это - недавно созданная учетная запись. Не уверенный, если это могло бы быть проблемой всегда как в настоящее время ec2 экземпляры, подпадают под vpc по умолчанию и имеют некоторые изменения после декабря 2013

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

1 ответ

Ошибка, которую Вы получаете, указывает, что ruby не находится в sudo $PATH. ДЛЯ обхождения этого любой необходимо экспортировать среду правильно:

sudo -E ruby

Или, просто используйте полный путь. Выполненный type ruby как Ваш обычный пользователь и использование это с sudo. Например:

$ type ruby
ruby is /usr/bin/ruby
$ sudo /usr/bin/ruby
4
ответ дан 10 November 2019 в 18:45

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

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