Como posso obter uma lista de arquivos no meu computador que não são “de propriedade” de nenhum pacote?

7

Estou pensando em escrever um script que faça isso:

  • Passa por cada arquivo em / usr / lib
  • Faz uma pesquisa de dpkg -s em cada arquivo.
  • Informa uma lista de arquivos "órfãos" que não pertencem a nenhum pacote .deb.

A ideia é que ao longo do tempo, eu instalei um monte de make install software e gostaria de obter uma lista de arquivos que sobraram do software instalado manualmente que eu já excluí.

    
por Ken Kinder 29.02.2012 / 14:47

3 respostas

6
find /usr/lib -type f -exec dpkg -S {} + 2>&1 >/dev/null | sed -r 's/^[^/]+//'

Vou avisá-lo agora: é lento.

    
por Oli 29.02.2012 / 15:21
3

Você pode executar o seguinte comando

join -t '' -v1 <(find /usr/lib | sort) \
               <(grep -h /usr/lib /var/lib/dpkg/info/*.list | sort -u)

que comparam a lista de arquivos em /usr/lib com a lista de arquivos presentes em pelo menos um arquivo em /var/lib/dpkg/info/<NAME>.list (os arquivos usados por dpkg -S ). A opção -v1 informaria os arquivos presentes na primeira lista, mas não na segunda.

Na minha máquina, esta lista de diferenças fornece mais de 5000 resultados, por isso duvido que possa ser de alguma ajuda.

    
por enzotib 29.02.2012 / 15:14
1
sudo aptitude install cruft
man cruft
sudo addgroup cruft
sudo chmod g+rwx /var/spool/cruft
sudo chown root:cruft
sudo addgroup $USER cruft
cruft -r cruftreport
sudo chown root:root /var/spool/cruft
less cruftreport
    
por user2697383 24.03.2015 / 11:24

Tags