Como verificar se os arquivos instalados pelo pacote correspondem aos originais?

3

Digamos que eu tenha um sistema instalado, em funcionamento e atualizado, e queira verificar se todos os arquivos instalados nele são os mesmos do pacote do respectivo mantenedor de pacotes.

Na verdade, eu quero uma lista de arquivos que são de alguma forma diferentes entre o que eu instalei "agora" e o que eu obteria se eu fosse reinstalar usando o mesmo conjunto de pacotes em um sistema em branco. Curto de realmente reinstalar e comparar o resultado, como eu iria gerar uma lista de arquivos?

Eu percebo que algumas diferenças (arquivos de configuração, por exemplo) são esperadas, mas tudo bem.

Estou principalmente interessado no Debian Wheezy, mas uma boa resposta seria explorar uma solução que funciona com qualquer distribuição Linux razoavelmente moderna baseada na mesma infra-estrutura de gerenciamento de pacotes (apt, dpkg e friends).

    
por a CVn 01.06.2014 / 00:08

2 respostas

2

Uma maneira de conseguir isso é usar o comando debsums .

$ debsums <package>

Exemplo

$ debsums xz-utils
/usr/bin/lzmainfo                                                             OK
/usr/bin/xz                                                                   OK
/usr/bin/xzdiff                                                               OK
/usr/bin/xzgrep                                                               OK
/usr/bin/xzless                                                               OK
/usr/bin/xzmore                                                               OK
/usr/share/doc/xz-utils/NEWS.Debian.gz                                        OK
/usr/share/doc/xz-utils/README.Debian                                         OK
/usr/share/doc/xz-utils/README.gz                                             OK
/usr/share/doc/xz-utils/copyright                                             OK
/usr/share/doc/xz-utils/extra/7z2lzma/7z2lzma.bash                            OK
/usr/share/doc/xz-utils/extra/scanlzma/scanlzma.c                             OK
/usr/share/doc/xz-utils/faq.txt.gz                                            OK
/usr/share/doc/xz-utils/history.txt.gz                                        OK
/usr/share/man/man1/lzmainfo.1.gz                                             OK
/usr/share/man/man1/xz.1.gz                                                   OK
/usr/share/man/man1/xzdiff.1.gz                                               OK
/usr/share/man/man1/xzgrep.1.gz                                               OK
/usr/share/man/man1/xzless.1.gz                                               OK
/usr/share/man/man1/xzmore.1.gz                                               OK
    
por 01.06.2014 / 01:56
2

Você pode usar

dpkg -V <package>

Eu testo e funciona também em arquivos de configuração.

Depois de modificar /etc/iceweasel/profile/bookmarks.html e executar dpkg -V iceweasel , obtenho a seguinte saída

??5?????? c /etc/iceweasel/profile/bookmarks.html

Observe que apenas arquivos modificados são exibidos e de acordo com o página de manual do dpkg , o formato de saída é semelhante a rpm .

    
por 20.02.2015 / 18:07