Eu li em algum lugar (não me lembro onde) que compactar arquivos em um .tar.xz
resultou em melhores taxas de compactação geral do que .7z
arquivos compactados porque formatos de arquivo + compactação como zip, rar e 7z compactam cada arquivo individualmente, enquanto se você criar um arquivo tar e, em seguida, comprimi-lo com um algoritmo de arquivo único como gzip, bzip2 ou xz, você está executando o algoritmo de compactação em todo o conjunto combinado de dados (permitindo assim desduplicar melhor os dados compartilhados entre vários arquivos).
Como tenho um monte de pastas com muitos arquivos duplicados que preciso compactar e armazenar em algum lugar, fiquei me perguntando até que ponto essa anedota é realmente verdadeira e qual é o melhor formato para usar nesse tipo de situação em geral.
Por padrão, desde que você use o
7z
formato, sim, será o que é conhecido como um arquivo "sólido" em vez de simplesmente um grupo de arquivos compactados separadamente.Na verdade, o 7zip (o programa) pode, se configurado, ir além de arquivos como
tar.bz
e outros e pode ser configurado para verificar ativamente os diretórios para compactar e agrupar arquivos com extensões semelhantes, pois é mais provável que tenham dados semelhantes em eles. Como resultado, a compactação pode ser um pouco melhortar.bz
porque isso simplesmente concatena o fluxo de arquivos à medida que os encontra e pode resultar em um grupo de arquivos menos ideal, principalmente se o dicionário de compactação for pequeno.Do Por que os arquivos 7z criados pela nova versão do 7-Zip podem ser maiores do que os arquivos criados pela versão antiga do 7-Zip? seção de suas perguntas frequentes
Conforme mencionado por DanielB em um comentário, você também pode configurar o tamanho do bloco sólido de acordo com seus requisitos, revertendo para um arquivo "não sólido" de estilo antigo contendo arquivos compactados individualmente sem interdependência de dados compactados, ou você pode configurá-lo para ser totalmente sólido ou use vários tamanhos de bloco, dependendo de seus dados: