De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Comparação remota dos softwares instalados em dois servidores

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 07 de outubro de 2013

Digamos que queiramos comparar os softwares instalados em dois servidores CentOS/Fedora/RedHat. O natural é fazer o login em cada um dos servidores, gerar a lista de softwares instalados e em seguida rodar um diff para ver as diferenças:

$ ssh servidor1
$ rpm -qa > servidor1.txt
$ ssh servidor 2
$ rpm -qa > servidor2.txt
$ scp servidor1:servidor1.txt .
$ diff servidor1.txt servidor2.txt

Mas dá para fazer tudo isto de uma tacada só:

$ diff <(ssh servidor1 'rpm -qa | sort') <(ssh servidor2 'rpm -qa | sort')

Neste exemplo a entrada para o comando diff é recebida por meio do comando invocado usando <( ). O comando a ser executado deve ser colocado dentro dos parenteses, como acima.

É claro que isto só funcionaria se você tivesse configurado os dois servidores para permitir o acesso sem senhas.

IMPORTANTE: Não existe um espaço entre o caractere < e o parentese. Caso haja um espaço em branco o comando retornará um erro.

Outro exemplo, para comparar o conteúdo de dois diretórios, para ver quais arquivos estão em um e no no outro.

diff <(ls $primeiro_diretorio) <(ls $segundo_diretorio)

Referências

Error: No site found with the domain 's2.dicas-l.com.br' (Learn more)