Use a rsync
com a opção --dry-run
.
Para monitorar alterações locais, use tripwire .
Existe alguma maneira sensata de diferenciar dois sistemas de arquivos?
Ocasionalmente, você tem uma caixa que está funcionando e, digamos, executa uma atualização e não funciona mais. Você tem dezenas de outras máquinas que são (teoricamente) idênticas, exceto por dados do usuário [e informações ligadas ao hardware específico e, digamos, chaves ssh e assim por diante]. Existe alguma maneira de determinar o que é diferente entre a máquina com falha e uma das boas máquinas?
Eu tentei montar volumes e executar ls -l
ou md5deep
e registrei os resultados e os diferenciei. Heck, eu até tentei montar dois sistemas de arquivos e simplesmente compará-los (com uma ferramenta gráfica, lembre-se). Os resultados não foram tão úteis quanto eu esperava.
Parte de mim se pergunta sobre ter um banco de dados de arquivos em cada máquina e quais são seus md5sums, com um trabalho cron para atualizá-lo de vez em quando, mas não tenho certeza se isso seria tão útil na prática quanto parece teoria.
Então, existe alguma maneira sensata de diferenciar dois sistemas de arquivos (ou mesmo, diferenciar um sistema de arquivos de si mesmo em um tempo diferente)?
Existe uma ferramenta chamada fsdiff [Não encontrei a página inicial] que irá comparar um sistema de arquivos ao seu transcrição. Uma ferramenta gratuita e multiplataforma chamada radmind inclui e afirma,
At its core, radmind operates as a tripwire. It is able to detect changes to any managed filesystem object, e.g. files, directories, links, etc. However, radmind goes further than just integrity checking: once a change is detected, radmind can optionally reverse the change.
E se alguém instalar um módulo de kernel mal-intencionado, como a AIDE, Radmind ou Tripwire detectariam essas alterações? Eu acho que os diffs off-line seriam a única maneira de destacar esses problemas.
Tags hard-drive filesystems