O programa de desduplicação jdupes permite criar hardlinks, para que os arquivos não sejam excluídos, mas vinculados entre si para que o espaço em disco seja usado apenas uma vez para múltiplas cópias.
Existe uma maneira de controlar qual arquivo duplicado é mantido? Normalmente isso não importaria, mas ao usar instantâneos de volume ou sistema de arquivos, a substituição de um arquivo em um instantâneo por um link para uma nova cópia somente libera espaço quando o instantâneo é excluído. Vincular o arquivo do instantâneo à nova cópia (que ainda não está em nenhum instantâneo) liberará espaço.
Eu sou o autor de jdupes. Não, você não pode fazer isso no próprio programa, pelo menos ainda não. Estou trabalhando no 2.0, que abrirá o caminho para essas coisas no futuro, mas isso provavelmente não acontecerá tão cedo para você. Em vez disso, dê uma olhada nos scripts de exemplo de código-fonte do jdupes. Você pode alimentar a saída normal para um script de shell personalizado que fará o que quiser, como quiser, e esse diretório tem vários exemplos que você pode modificar conforme necessário.
Você pode exercer algum controle sobre isso usando
-O
which colocará os itens na ordem especificada primeiro; por exemplo,jdupes -rLO dir1 dir2
colocará os itensdir1
antes dos itensdir2
. Façadir1
o instantâneo e pode funcionar para você.Se você tiver alguma dúvida ou problema relacionado ao jdupes, poderá entrar em contato comigo diretamente.