Presque tous les archiveurs modernes font exactement cela, la seule différence est qu'ils se réfèrent à cela comme une archive "solide", car dans tous les fichiers sont concaténés en un seul flux avant d'être alimentés par l'algorithme de compression. Ceci est différent de la compression zip standard qui comprime chaque fichier un par un et ajoute chaque fichier compressé à l'archive.
7-zip, par sa nature même, permet efficacement la déduplication. 7-Zip, par exemple, recherchera les fichiers, les triera par types de fichiers et noms de fichiers similaires et donc deux fichiers du même type et des données seront placés côte à côte dans le flux allant aux algorithmes du compresseur. Le compresseur verra alors beaucoup de données qu'il a vues très récemment et ces deux fichiers verront une grande augmentation de l'efficacité de compression par rapport à la compression des fichiers un par un.
Linux a vu un comportement similaire depuis longtemps grâce à la prévalence de leur format ".tgz" (ou ".tar.gz" pour utiliser sa forme complète) car le tar fusionne simplement tous les fichiers en un seul flux (bien que sans tri et regroupement des fichiers), puis compression avec gzip. Ce qui manque, c'est le tri effectué par 7-zip, ce qui peut légèrement diminuer l'efficacité mais est toujours bien meilleur que de simplement blober un grand nombre de fichiers compressés individuellement comme le fait zip.
.tar.gz
qu'avec des blocs relativement petits (comme 900 Ko) à la fois complètement indépendamment les uns des autres et n'a donc pas la possibilité de dédupliquer deux fichiers volumineux mais identiques (par exemple, quelques images de 4 Mo)?Il est inutile d'utiliser la déduplication avec un processus de compression. La plupart des algorithmes de compression créent ce qu'on appelle un «dictionnaire» qui recherchera les bits de données les plus courants ou réutilisés. à partir de là, il fera simplement référence à l'entrée du dictionnaire au lieu de réécrire le «mot» entier. De cette façon, la plupart des processus de compression suppriment déjà les données redondantes ou dupliquées de tous les fichiers.
Par exemple, si vous prenez un fichier de 1 Mo et le copiez 100 fois avec un nom différent à chaque fois (pour un total de 100 Mo d'espace disque), puis vous le compressez dans un fichier 7zip ou zip, vous aurez un fichier zip total de 1 Mo. En effet, toutes vos données ont été placées dans une seule entrée de dictionnaire et référencées 100 fois, ce qui prend très peu de place.
Il s'agit d'une explication très simple de ce qui se passe, mais le point est toujours bien exprimé.
la source
7-Zip, zip, gzip et tous les autres archiveurs ne détectent pas les zones identiques qui sont éloignées les unes des autres, telles que quelques mégaoctets ou plus, dans le même fichier ou placées à différentes positions dans différents fichiers.
Donc non, les archiveurs normaux ne fonctionnent pas aussi bien que exdupe et autres, dans certaines situations. Vous pouvez le voir si vous compressez certaines machines virtuelles ou d'autres choses.
la source