Instalando pacotes em várias máquinas Centos

1

Eu tenho que instalar o pacote padrão como o java 1.7 em 40 das minhas máquinas de laboratório que estão conectadas através de uma LAN.

Eu sei que posso simplesmente escrever um shell script para instalar algo no espaço do usuário de cada sistema, que basicamente faz um scp para cada sistema e os extrai para o espaço do usuário, mas como posso instalar pacotes de um sistema para outro? que requer acesso root a cada sistema?

E sim, eu tenho acesso root a cada um dos sistemas, mas não sei como automatizar a instalação pela rede, controlando a partir de um único sistema.

    
por Amrith Krishna 31.10.2014 / 09:38

1 resposta

1

primeiro você precisa automatizar o login usando chaves ssh, em seguida, escrever um script para executar o comando de instalação em um loop Você também precisará usar um sistema que poderá acessar todos os outros sistemas

Primeiro cd para o seu diretório pessoal para criar chaves ssh

cd
mkdir -p .ssh
cd .ssh

crie chaves e copie-as para todos os outros sistemas

ssh-keygen 

copie a chave pública para máquinas remotas

ssh-copy-id -i ~/.ssh/id_rsa.pub root@remotesys1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@remotesys2
...
ssh-copy-id -i ~/.ssh/id_rsa.pub root@remotesys40

se você não tem DNS para remotesys1, então você pode usar IP

crie um arquivo com todo o nome do sistema ou IP em um arquivo systems.txt

remotesys1
remotesys2
..
remotesys40

execute o script abaixo e altere "./install.sh" para o comando que você instalar

for system in $(cat systems.txt ) ; do echo $system ; ssh $system "./install.sh" ; done
    
por 31.10.2014 / 16:18