Compare duas saídas do dpkg --get-selections output.txt

0

Eu tenho duas listas de pacotes instalados em arquivos .txt

Este comando foi executado em duas máquinas diferentes com a mesma distro do Linux

dpkg --get-selections > output.txt

Eu preciso de pacotes que estão instalados no primeiro (produção) Mas não instalado no segundo (clean install machine), e instale os pacotes que não estão instalados.

    
por Lamukra 01.06.2014 / 22:29

1 resposta

1

Para mostrar as alterações entre o sistema A e o sistema B, faça o seguinte:

$ diff -u systemA.txt systemtB.txt

Isso resultará em resultados como:

--- a   2014-06-01 21:44:48.501128132 +0100
+++ b   2014-06-01 21:47:26.450197702 +0100
@@ -1,3 +1,4 @@
+aalib                          install
 accountsservice                    install
 acl                        install
 acpi                       install
@@ -5,7 +6,6 @@
 acpi-support                   install
 acpi-support-base              install
 acpid                      install
-adduser                        install

Linhas prefixadas por + são pacotes que estavam presentes no sistema B, mas não no sistema A.
Linhas prefixadas por - são pacotes que estavam presentes no sistema A, mas não no sistema B.

Para encontrar todos os pacotes que foram instalados em um sistema, mas não em outro, você pode extrair as linhas de instalação que começam com + :

$ diff -u a b|grep install|grep '^+'
+aalib                          install
    
por bain 01.06.2014 / 22:52