Como encontrar todos os arquivos relacionados a um software?

3

Não tenho certeza se é possível, mas se for, como posso encontrar todos os arquivos relacionados a um software? Por exemplo, existe alguma maneira de encontrar todos os arquivos que gedit precisa e usa para trabalhar?

Esse comando / técnica coleta arquivos como /usr/share/gtksourceview-3.0/styles/oblivion.xml , que não é dedicado apenas a um determinado software ou pertencente a um diferente?

    
por Pouya 15.11.2012 / 11:44

2 respostas

6

Para listar arquivos pertencentes a um pacote, execute

$ dpkg -L packagename

Nota: geralmente não inclui arquivos de configuração.

Para encontrar o pacote ao qual um arquivo pertence, execute

$ dpkg -S /path/to/file
    
por gertvdijk 15.11.2012 / 12:11
3

Este é um problema não trivial, receio. Algumas abordagens que podem ajudá-lo:

  • Você pode encontrar todos os arquivos instalados por um pacote específico procurando em /var/lib/dpkg/info/gedit.list .

  • Você pode encontrar todos os outros pacotes dos quais gedit depende executando apt-cache depends gedit . (Por outro lado, você pode encontrar todos os pacotes que dependem de gedit com apt-cache rdepends gedit ). Tenha em mente que estas funções não são recursivas - para gedit executar com sucesso requer muito do seu sistema - por exemplo, a biblioteca C, o sistema gráfico X, o barramento de mensagens do sistema dbus ...

  • Você pode descobrir quais arquivos de biblioteca um executável requer em tempo de execução executando ldd $(which gedit) . ( which gedit retorna o caminho para a execução executável real quando você executa gedit , neste caso /usr/bin/gedit ).

  • Você pode descobrir quais arquivos um determinado processo tem (atualmente) aberto executando lsof -c gedit . (O programa pode carregar arquivos, por exemplo, ícones na memória na inicialização e fechar seus descritores de arquivo, que não serão exibidos em tal lista).

por chronitis 15.11.2012 / 12:03

Tags