A partir do título da pergunta, estou procurando uma maneira simples de executar uma verificação completa do sistema usando o clamav em uma máquina que também tenha o recurso snapshooting baseado no Timeshift ativado.
Como sugerido por esta resposta no site do Ubuntu, eu estava usando um comando como:clamscan -r --bell -i -exclude-dir="^/sys" /
(nota: o -exclude-dir="^/sys"
param foi sugerido a mim por outro usuário que apontou que / sys é um diretório virtual e provavelmente melhor excluído das varreduras para evitar possíveis erros de acesso de leitura)
O comando funciona como esperado, 'verifique todos os arquivos no computador, mas apenas exiba arquivos infectados e toque uma campainha quando for encontrado'.
Isso tem um problema evidente: "todos os arquivos no computador" inclui o diretório "/ timeshift", que é o diretório que o Timeshift usa para armazenar dados de snapshots.
Agora, tirado da página oficial do Timeshift:
In RSYNC mode, snapshots are taken using rsync and hard-links. Common files are shared between snapshots which saves disk space. Each snapshot is a full system backup that can be browsed with a file manager.
Simplificando: o Timeshift duplica os arquivos alterados e usa hard-links para fazer referência aos inalterados. No que diz respeito à minha compreensão, isso significa que o "primeiro" instantâneo é provavelmente uma cópia completa do sistema de arquivos (obviamente excluindo qualquer arquivo / caminho que Timeshift esteja configurado para ignorar) enquanto qualquer instantâneo seguinte inclui apenas os arquivos alterados e meros links para para inalterados.
O problema: sob as configurações padrão, o clamscan também escaneia TODOS os arquivos na pasta / timeshift. Enquanto eu estou bem com a digitalização dos arquivos alterados que são arquivos reais reais ... escanear os links parece um desperdício, já que basicamente significa escanear o mesmo arquivo várias vezes - um para o instantâneo para o qual o arquivo foi modificado pela primeira vez, e um para cada link para o arquivo inalterado nos seguintes instantâneos.
Por isso, estou procurando uma forma simples de excluir esses links físicos da verificação. man clamscan
mostra a existência de uma opção --follow-file-symlinks
, mas até mesmo fazendo
clamscan -r --bell -i -exclude-dir="^/sys" --follow-file-symlinks=0 /
parece não funcionar. Afinal, até onde eu entendi, essa opção apenas exclui symlinks , enquanto o Timeshift está usando hard-links .
Então, minha pergunta é simples: existe alguma maneira de realizar uma verificação completa do sistema enquanto se ignora os arquivos com link físico no diretório / timeshift e, ao mesmo tempo, escaneia os reais?
(como uma side-question de bônus: o mesmo seria possível usando a interface clamtk também?)
Tags hard-link clamav linux-mint