No Debian e em outros sistemas que usam o dpkg, sort -u /var/lib/dpkg/info fornecerá uma lista de todos os arquivos fornecidos por um pacote. Uma comparação com a lista de arquivos realmente presentes no sistema revela um grande número de arquivos que não são fornecidos por nenhum pacote. Esta lista é de uma rápida olhada em uma máquina squeeze Debian e não é exaustiva.
- Os suspeitos óbvios são:
/etc , /usr/local , /opt , /var , /home , /srv , pontos de montagem de todos os tipos.
- Vários links simbólicos criados por scripts de instalação de pacotes. Geralmente, isso ocorre porque o arquivo costumava estar em um pacote e agora foi substituído por uma alternativa: primeiro o novo pacote é descompactado, o antigo pacote que ele substitui é removido e, finalmente, o script postinst do novo pacote cria o link.
- Alguns usos de
dpkg-divert .
- Em
/boot , initrd-* (regenerado automaticamente a partir do kernel instalado e módulos extras) e arquivos do carregador de inicialização ( /boot/grub/* ).
- Em
/lib/modules/* , arquivos de dependência de módulos e mapas de símbolos, e módulos compilados automaticamente (a partir de dkms) .
- Vários conteúdos não redistribuíveis que são baixados de sua única fonte autorizada quando você instala o pacote. A maior parte é documentação, existem também algumas fontes.
- A fonte X11 incide em
/usr/X11R6/lib/X11/fonts .
- backends do CUPS copiados de
/usr/lib/cups/backend-available/ para /usr/lib/cups/backend/http/ .
- Vários arquivos compilados na instalação:
*.pyc (Python), *.elc (Emacs), *.dll (Mono),…
- Índices de documentação gerados em
/usr/share/doc/HTML (de dhelp ).
Se você quiser contabilizar todos os arquivos, terá que rastrear o histórico deles. Para colocar de outra forma, para passar uma auditoria, você não pode apenas mostrar os arquivos que você tem, também cabe a você como o auditado para mostrar a prova de validade para cada arquivo.
A abordagem clássica é usar uma ferramenta como tripwire , que avisa quando um arquivo é alterado. Se você está atrás de algo mais poderoso, que permite acompanhar as mudanças, isso é exatamente controle de versão . O Debian fornece controle de versão turnkey para /etc via etckeeper . Não faz parte da instalação padrão (infelizmente). Instale o pacote, selecione seu sistema de controle de versão favorito em /etc/etckeeper/etckeeper.conf e execute etckeeper init . Todas as alterações em /etc serão confirmadas automaticamente todas as noites e antes e depois de executar apt-get ou outros front ends do APT; você pode desabilitar esses auto-commits para forçar o administrador a executar etckeeper commit manualmente (e inserir uma mensagem de log).