Descubra quais arquivos em uma pasta não são conhecidos pelo gerenciador de pacotes apt

0

Encontrei um arquivo (digamos, "badfile") em /usr/bin , que parece não pertencer a nenhum pacote instalado em meu sistema:

$ dpkg -S /usr/bin/badfile
dpkg-query: no path found matching pattern /usr/bin/badfile
$ apt-file search /usr/bin/badfile
# nothing is returned

Acho que quero remover esse arquivo ou movê-lo para /usr/local/bin . Dito isto, presumivelmente, poderia haver outros arquivos desse tipo. Existe uma maneira de listar todos os arquivos em um determinado repositório (aqui, /usr/bin/ ) que o gerenciador de pacotes Debian apt não conhece?

    
por a3nm 17.08.2016 / 02:12

1 resposta

5

Você pode passar vários nomes de arquivos para dpkg -S para relatar todos os arquivos de uma só vez

por exemplo

dpkg -S /usr/bin/* > /dev/null

Agora isso não é perfeito; links simbólicos não são reportados corretamente

por exemplo

dpkg-query: no path found matching pattern /usr/bin/lzdiff

Isso também significa que coisas como ponteiros para alternatives serão mal informados porque são links simbólicos.

Se você quiser reduzir os falsos positivos, podemos usar find :

find /usr/bin -type f -exec dpkg -S {} + > /dev/null

Na minha máquina Debian Jessie, isso resulta em

dpkg-query: no path found matching pattern /usr/bin/flash-player-properties
    
por 17.08.2016 / 02:28

Tags