Casi todos los archivadores modernos hacen exactamente esto, la única diferencia es que se refieren a esto como un archivo "sólido", ya que en todos los archivos se concatenan en una sola secuencia antes de pasar al algoritmo de compresión. Esto es diferente de la compresión zip estándar que comprime cada archivo uno por uno y agrega cada archivo comprimido al archivo.
7-zip por su propia naturaleza logra efectivamente la desduplicación. 7-Zip, por ejemplo, buscará archivos, los ordenará por tipos de archivo y nombres de archivo similares, por lo que dos archivos del mismo tipo y datos se colocarán uno al lado del otro en la secuencia que va a los algoritmos del compresor. El compresor verá una gran cantidad de datos que ha visto recientemente y esos dos archivos verán un gran aumento en la eficiencia de compresión en comparación con la compresión de los archivos uno por uno.
Linux ha visto un comportamiento similar durante mucho tiempo a través de la prevalencia de su formato ".tgz" (o ".tar.gz" para usar su forma completa) ya que el tar simplemente fusiona todos los archivos en una sola secuencia (aunque sin ordenar y agrupar archivos) y luego comprimirlos con gzip. Lo que se pierde es la clasificación que está haciendo 7-zip, lo que puede disminuir ligeramente la eficiencia, pero sigue siendo mucho mejor que simplemente juntar una gran cantidad de archivos comprimidos individualmente como lo hace zip.
.tar.gz
solo comprime bloques relativamente pequeños (como 900 KB) a la vez de forma completamente independiente el uno del otro y, por lo tanto, no tiene la capacidad de deduplicar dos archivos grandes pero idénticos (por ejemplo, un par de imágenes de 4 MB)?No tiene sentido utilizar la deduplicación con un proceso de compresión. La mayoría de los algoritmos de compresión crean lo que se llama un 'diccionario' que buscará los bits de datos más comunes o reutilizados. a partir de ahí, solo hará referencia a la entrada del diccionario en lugar de escribir la "palabra" completa nuevamente. De esta manera, la mayoría de los procesos de compresión ya eliminan datos redundantes o duplicados de todos los archivos.
Por ejemplo, si toma un archivo de 1 MB y lo copia 100 veces con un nombre diferente cada vez (con un total de 100 MB de espacio en disco), lo comprime en un archivo zip o 7zip, tendrá un archivo zip total de 1 MB. Esto se debe a que todos sus datos se colocaron en una entrada del diccionario y se referenciaron 100 veces, lo que ocupa muy poco espacio.
Esta es una explicación muy simple de lo que sucede, pero el punto aún se transmite bien.
fuente
7-Zip, zip, gzip y todos los demás archivadores no detectan áreas idénticas que están lejos una de otra, como solo unos pocos megabytes o más, dentro del mismo archivo o colocadas en diferentes posiciones dentro de diferentes archivos.
Entonces, no, los archivadores normales no funcionan tan bien como exdupe y otros, en algunas situaciones. Puede ver esto si comprime algunas máquinas virtuales u otras cosas.
fuente