7zipes más un compactador (como PKZIP) que un compresor. Está disponible para Linux, pero solo puede crear archivos comprimidos en archivos normales, por ejemplo, no puede comprimir una secuencia. No es capaz de almacenar la mayoría de los atributos de archivos Unix como propiedad, ACL, atributos extendidos, enlaces duros ...
En Linux, como compresor , tienes xzque usa el mismo algoritmo de compresión que 7zip(LZMA2). Puede usarlo para comprimir archivos tar.
Al igual que para gzipy bzip2, hay una variante paralelapixz que puede aprovechar varios procesadores para acelerar la compresión ( xztambién puede hacerlo de forma nativa desde la versión 5.2.0 con la -Topción). La pixzvariante también admite la indexación de un tararchivo comprimido, lo que significa que puede extraer un solo archivo sin tener que descomprimirlo desde el principio.
lrzip es lo que realmente estás buscando, ¡ especialmente si estás comprimiendo el código fuente!
Citando el README:
lrzip funciona primero escaneando y eliminando cualquier redundancia de datos de larga distancia con un algoritmo basado en rzip, luego comprimiendo los datos no redundantes.
Con Kolivas proporciona un ejemplo fantástico en la lista de correo del kernel de Linux ; en donde comprime un tarball de 10.3GB de cuarenta versiones de Kernel de Linux hasta 163.9MB (1.6%), y lo hace más rápido que xz. ¡Ni siquiera estaba usando el algoritmo de segundo paso más agresivo!
Estoy seguro de que obtendrás excelentes resultados al comprimir grandes cantidades de código fuente :)
Ejemplo (usando las opciones predeterminadas para otros):
Ultra compresión, perro lento:
Para carpetas, simplemente cambie
lrzipporlrztarfuente
lrziptambién funciona muy bien para las copias de seguridad detar/cpio/paxlos árboles de archivos del sistema ed, porque generalmente contienen muchas redundancias de largo alcance, algo quelrzipes realmente bueno para comprimir.lrzipypixzen un archivo de texto de 19 GB. Ambos tardaron aproximadamente media hora en comprimirlo (en una máquina hexa-core), pero ellrzarchivo tenía la mitad del tamaño delxzarchivo (2.7 frente a 4.4 GB). Entonces, otro voto para esta respuesta en su lugar.Si está buscando la mayor reducción de tamaño independientemente de la velocidad de compresión,
LZMAes probable que sea su mejor opción.Al comparar las diversas compresiones, generalmente la compensación es tiempo versus tamaño.
gziptiende a comprimir y descomprimir relativamente rápido mientras produce una buena relación de compresión.bzip2es algo más lento que elgziptiempo de compresión y descompresión, pero produce relaciones de compresión aún mayores.LZMAtiene el tiempo de compresión más largo, pero produce las mejores relaciones, a la vez que tiene una tasa de descompresión superior a la debzip2.Fuentes: http://bashitout.com/2009/08/30/Linux-Compression-Comparison-GZIP-vs-BZIP2-vs-LZMA-vs-ZIP-vs-Compress.html
http://tukaani.org/lzma/benchmarks.html
fuente
zpaqopaq8l. Sin embargo, son tan lentos que no son prácticos para la mayoría de los usos del mundo real.sudo apt-get install zpaq, hice algunas pruebas, según wiki , esa aplicación sería la más nueva de 2009, pero aún pierde por kgb (que usa PAQ6), pero kgb es MUCHO más lento ...zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tarcomprime más quekgb -9(respuesta actualizada) Si el tiempo no importa, use ZPAQ v1.10 (o más reciente) ej .:
zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tar(la ubicación del archivo max.cfg puede variar, verifique la lista de archivos del paquete instalado)zpaqen realidad comprimido más quekgb -9 newFileName.kgb yourFileName.tar.Eso se basa en el algoritmo antiguo PAQ6 , y es muy lento ... ¡
Lo probé con todos los otros compresores como 7zip, lrzip, bzip2, kgb ... y zpaq más comprimido!
Si
kgbaún le interesa: (ya que fue mi elección inicial en esta respuesta, así que guardo la información aquí)Ubuntu 14.04 tiene kgb 1.0b4 , ejecute
sudo apt-get install kgbpara instalarlo.A continuación se muestra una versión de Windows que puede intentar ejecutar / compilar
kgben Linux, pero no tuve éxito.La versión 2 beta2 se puede encontrar en SourceForge , pero no hay binarios de Linux disponibles. Puede intentar ejecutarlo en la consola con
wine kgb2_console.exe -a7 -m9(el método-a6 -m9parece ser equivalente al mejor método en 1.0b4,-a7es nuevo en 2 beta2). Aunque tuve una mejor estabilidad al instalar .NET 2.0 con winetricks y ejecutarlowine "KGB Archiver 2 .net.exe"(no me gusta un poco hacerlo, así que me quedaré con Linux 1.0b4 nativo que tiene casi el mismo resultado que 2 beta2).De todos modos, la versión 2 beta2 también merece una versión nativa de Linux. Tal vez se pueda lograr algo con MinGW, mira esto , pero este comando aún falla gravemente:
i586-mingw32msvc-g++ kgb2_console.cpp -o kgb. ¿Se puede intentar compilarlo condmcs(Mono)? ver este consejo .fuente
7zip no es una tecnología única, pero admite varios métodos de compresión diferentes (ver wikipedia 7z sobre eso).
Se realizó un conjunto de pruebas con diferentes herramientas especialmente para archivos fuente C. No estoy seguro de cuáles herramientas existen para Linux si aún existen. Sin embargo, puede observar que el mejor algoritmo fue PPM con modificaciones (PPMII, luego PPMZ).
Si está interesado en las herramientas, puede navegar por el sitio, está en ruso, pero el traductor de Google puede ayudar. Hay un gran depósito de archivos binarios , que puede usar (o no podrá) desde Linux con wine, si es realmente necesario.
fuente