У меня есть несколько maschines для поддержания. Я хочу иметь возможность установить пакет на всем maschines сразу. Что самый легкий путь состоит в том, чтобы сделать ту человечность использования?
Вот пример того, как я пытался установить texlive-полный на всем maschine в параллельной параллели-ssh использования:
parallel-ssh -i -H "myAdminName@comp1 myAdminName@comp2 myAdminName@comp3" -A -l root sudo apt-get install texlive-full -y
К сожалению, это дало мне следующую ошибку:
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 12:28:01 [FAILURE] myAdminName@comp1 Exited with error code 1
Stderr: sudo: no tty present and no askpass program specified
[2] 12:28:01 [FAILURE] myAdminName@comp2 Exited with error code 1
Stderr: sudo: no tty present and no askpass program specified
[3] 12:28:01 [FAILURE] myAdminName@comp3 Exited with error code 1
Stderr: sudo: no tty present and no askpass program specified
Кто-либо знает, как зафиксировать это? Я уже поместил, общественность-ssh включают все эти maschines...
Для администрирования нескольких машин я использую clusterssh
. Это позволяет параллельные терминальные сеансы всем машинам. В случае, если Вы хотите выполнить команду конкретно на одной машине, Вы можете выбрать ее окно. В случае, если Вы хотите отправить группе машин, можно выбрать все хосты, которые должны быть обращены. Легкий, не это ;) Можно использовать файл конфигурации и присвоить группу компьютеров псевдоним и запуститься clusterssh
с того псевдонима вместо списка ИМЕН/ДЮЙМ/С машины.
я использую его уже много лет. Другая возможность могла бы быть tmux
, но я должен проверить синтаксис на параллельные сессии.
Редактирование: Я распознаю, что Вы пытались сделать неинтерактивную установку. Эти clusterssh
открывает терминальные сеансы, так, чтобы было интерактивным. Из-за Вас не указывали, являются ли интерактивность или неинтерактивность требованием, я надеюсь, чем интерактивные терминалы хорошо для Вас