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).