Как часть сценария оболочки, sudo su не работает.Любой альтернативный? - PullRequest
0 голосов
/ 11 сентября 2018

Следующие 3 строки являются частью моего сценария оболочки, но он правильно выполняет первую строку и копирует файл. Для того, чтобы выполнить этот файл RPM, мне нужно предложить пользователю root. Следовательно, 2-й шаг я написал. Но он не выполняется, поэтому я не могу установить файл rpm.

aws s3 cp s3: //mybucket/oracle-instantclient12.2-basiclite.rpm / home / user1 / судо су yum -y установить /home/user1/oracle-instantclient12.2-basiclite.rpm

Итак, любое альтернативное решение (sudo su) или скажите, как запросить пользователя root для установки упомянутого файла rpm.

Спасибо

Ответы [ 3 ]

0 голосов
/ 11 сентября 2018

aws s3 cp s3: //mybucket/oracle-instantclient12.2-basiclite.rpm / home / user1 / && sudo -i yum -y установить /home/user1/oracle-instantclient12.2-basiclite.rpm

0 голосов
/ 11 сентября 2018

вам нужно добавить && (см. Этот ответ ) между двумя командами и установить с помощью sudo yum:

aws s3 cp s3://mybucket/oracle-instantclient12.2-basiclite.rpm /home/user1/ && sudo yum -y install /home/user1/oracle-instantclient12.2-basiclite.rpm

sudo rpm -i /home/user1/oracle-instantclient12.2-basiclite.rpm также должно работать.

нет другого способа запустить две команды из одной командной строки ...

Вы уверены, что вторая половина командной строки даже работает на удаленном хосте? потому что я предпочел бы ожидать, что он будет иметь префикс send-command (в случае запуска этого из локальной оболочки, а не с удаленного хоста). также не указано, с каким дистрибутивом Linux вы пытаетесь запустить команду; добавление соответствующего репозитория RPM и последующая установка оттуда могут быть наиболее надежным способом сделать это.

0 голосов
/ 11 сентября 2018

Вы можете попробовать использовать sudo -s или

sudo yum -y install /home/user1/oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm

Первый параметр переключает вас на пользователя root, а второй позволяет запускать команду от имени пользователя root.

...