我有几台机器要维护。我希望能够一次在所有机器上安装一个包。使用 ubuntu 最简单的方法是什么?
这是我如何尝试使用parallel-ssh在所有机器上并行安装 texlive-full 的示例:
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 密钥......
对于我正在使用的多台机器的管理
clusterssh
。它允许对所有机器进行并行终端会话。如果您想专门在一台机器上运行命令,您可以选择它的窗口。如果您想提交给一组机器,您可以选择所有需要处理的主机。很简单,不是吗;)您可以使用配置文件并为一组计算机分配一个昵称,然后从clusterssh
该昵称开始,而不是机器名称/IP 列表。我已经使用它多年了。另一种可能性可能是
tmux
,但我必须检查并行会话的语法。编辑:我认识到您尝试进行非交互式安装。打开终端会话,这
clusterssh
将是交互式的。由于您没有说明是否需要交互性或非交互性,我希望交互式终端对您来说没问题