Como sudo o apt-get install em múltiplos hosts simultaneamente?

3

Eu tenho um par de maschines para manter. Eu quero ter a capacidade de instalar um pacote em todas as máquinas de uma só vez. Qual é a maneira mais fácil de fazer isso usando o Ubuntu?

Aqui está um exemplo de como eu tentei instalar o texlive-full em todas as máquinas em paralelo usando parallel-ssh :

parallel-ssh -i -H "myAdminName@comp1 myAdminName@comp2 myAdminName@comp3" -A -l root sudo apt-get install texlive-full -y

Infelizmente, isso me deu o seguinte erro:

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

Alguém sabe como consertar isso? Eu já coloquei uma chave ssh pública em todas essas máquinas ...

    
por mcExchange 19.05.2017 / 12:35

1 resposta

1

Para administração de várias máquinas, estou usando clusterssh . Permite sessões de terminal paralelas para todas as máquinas. Caso você queira executar um comando especificamente em uma máquina, poderá selecionar sua janela. Caso queira enviar para um grupo de máquinas, você pode selecionar todos os hosts que precisam ser endereçados. Fácil, não é;) Você pode usar um arquivo de configuração e atribuir a um grupo de computadores um apelido e iniciar clusterssh com esse apelido em vez da lista de nomes de máquinas / IPs.

Estou usando há anos. Outra possibilidade pode ser tmux , mas tenho que verificar a sintaxe das sessões paralelas.

Edit: estou reconhecendo que você tentou fazer uma instalação não interativa. O clusterssh abre sessões de terminal, de modo que será interativo. Devido a você não ter dito se a interatividade ou a não-interatividade é um requisito, espero que os terminais interativos estejam bem para você

    
por Frank Förster 20.05.2017 / 08:56