lzip es una herramienta de línea de comandos gratuita para la compresión de datos; emplea el algoritmo de cadena Lempel–Ziv–Markov (LZMA) con una interfaz de usuario familiar para los usuarios de las herramientas de compresión Unix habituales, como gzip y bzip2 .
Al igual que gzip y bzip2 , se admite la concatenación para comprimir varios archivos, pero la convención es agrupar un archivo que es en sí mismo un archivo comprimido, como los creados por los programas tar o cpio de Unix . Lzip puede dividir la salida para la creación de archivos comprimidos de varios volúmenes.
El archivo producido por lzip generalmente se da .lzcomo su extensión de nombre de archivo y los datos se describen por el tipo de medio application/lzip .
La suite de programas lzip fue escrita en C++ y C por Antonio Díaz Díaz y se distribuye como software libre bajo los términos de la versión 2 o posterior de la Licencia Pública General de GNU (GPL).
Historia
7-Zip fue lanzado en 2000; una herramienta que emplea LZMA estuvo disponible por primera vez en sistemas operativos tipo Unix en 2004 cuando se lanzó un puerto de la versión de línea de comandos de 7-Zip (p7zip). En el mismo año, el LZMA SDK estuvo disponible, que incluía el programa llamado "lzma_alone"; menos de un año después, Lasse Collin lanzó LZMA Utils , que al principio solo consistía en un conjunto de scripts de envoltura que implementaban una interfaz tipo gzip para lzma_alone. En 2008, Antonio Díaz Díaz lanzó lzip, que usa un formato contenedor con sumas de comprobación y números mágicos en lugar del flujo de datos LZMA sin procesar, proporcionando una solución completa de estilo Unix para usar LZMA. Sin embargo, LZMA Utils se amplió para tener características similares y luego se renombró a XZ Utils . [1]
Características
Integridad del archivo
lzip es capaz de crear archivos con secciones de datos descomprimibles independientemente, llamadas "archivos multimiembro" (así como una salida dividida para la creación de archivos multivolumen). [2] Por ejemplo, si el archivo subyacente es un archivo tar, esto puede permitir extraer cualquier archivo que no esté dañado, incluso si otras partes del archivo están dañadas.
En cuanto al formato de archivo, se ha puesto especial énfasis en permitir comprobaciones de integridad mediante una suma de comprobación de 32 bits integrada para cada flujo comprimido; [3] esto se utiliza en combinación con el programa lziprecover para detectar y reconstruir datos dañados. Esta herramienta de recuperación puede fusionar múltiples copias de un archivo donde cada copia puede tener daños en una parte diferente del archivo. [2]
Paralelismo
lzip tiene dos interfaces paralelas proporcionadas en la distribución predeterminada. [4]
plzipComprime cualquier archivo de forma paralela. Su usotares insuficiente, ya que eltarprograma convencional necesita todo el flujo anterior a un archivo para localizarlo y descomprimirlo, lo que da como resultado una extracción no paralela.tarlzCombinatarylzipformatea un archivador paralelo, de forma muy similar a los archivadores modernos como RAR o 7-Zip. Los bloques de compresión sólidostarse alinean con los límites de los archivos, por lo que para extraer un archivo solo es necesario descomprimir ese bloque miembro en particular.
Adopción
Disponibilidad
En las distribuciones de Linux más populares, lzip generalmente se puede instalar desde los repositorios de paquetes oficiales. [5] [6] [7]
Cygwin ofrece lzip como un paquete opcional mantenido (categoría Archivo de su instalador de configuración), y su programa de utilidad GNU tar tiene soporte para archivos .lz (con la opción --lzip para su creación). MinGW-w64 distribuye lzip a través de un paquete mantenido en MSYS2 (pacman -S lzip).
Apoyo
- Las herramientas automáticas de GNU admiten lzip. Si se agregan
dist-lzipa, se crearán archivos tarAM_INIT_AUTOMAKEcomprimidos con lzip . [8] - Las versiones 1.23 y más nuevas de GNU tar admiten el uso de lzip para manejar archivos comprimidos de forma transparente. [9]
- La herramienta de archivado de GNOME, Archive Manager , admite archivos lzip.
Solicitud
- La distribución de Linux Dragora GNU/Linux-Libre emplea lzip para sus paquetes de software.
- Lzip se utiliza para distribuir la base de datos de zonas horarias de IANA, [10] y la versión GNU del kernel de Linux. [11]
- El Parlamento Europeo publica volcados completos de su base de datos en formato JSON comprimido con lzip. [12]
- Lzip se utiliza en el Sistema de Datos Planetarios (PDS) de la NASA. [13]
Véase también
Referencias
- ^ Brian Lindholm (mayo de 2009), "Nuevas opciones en el mundo de la compresión de archivos", Linux Gazette (en alemán), n.º 162 , consultado el 7 de enero de 2011
- ^ ab Antonio Diaz Diaz (2011-12-20). "Manual de Lzip: Introducción".
Lzip puede producir archivos multimiembro y recuperar de forma segura, con lziprecover, los miembros intactos en caso de daño del archivo. Lzip también puede dividir la salida comprimida en volúmenes de un tamaño determinado, incluso cuando se lee desde la entrada estándar. Esto permite la creación directa de archivos comprimidos tar multivolumen.
- ^ Antonio Diaz Diaz (2011-12-20). "Manual de Lzip: Introducción".
Como autocomprobación para su protección, lzip almacena en el trailer de miembros el CRC de 32 bits de los datos originales y el tamaño de los datos originales, para asegurarse de que la versión descomprimida de los datos sea idéntica a la original.
- ^ "El formato lzip". www.nongnu.org .
- ^ "Debian -- Resultados de búsqueda de paquetes -- lzip". packages.debian.org .
- ^ "Base de datos de paquetes de Fedora -- lzip". Archivado desde el original el 17 de julio de 2011. Consultado el 8 de enero de 2011 .
- ^ "Buscar". software.opensuse.org .
- ^ "Lista de opciones de Automake (automake)". www.gnu.org .
- ^ "GNU tar 1.32: 8.1.1 Creación y lectura de archivos comprimidos". www.gnu.org .
- ^ "IANA — Base de datos de zonas horarias". www.iana.org .
- ^ "Índice de /gnu/linux-libre/4.x/4.12-gnu". ftp.gnu.org .
- ^ "Volcados | [ParlTrack]". parltrack.org .
- ^ "PDS de la NASA". pds.nasa.gov .
Enlaces externos
- Sitio web oficial
- Especificación del formato Lzip
- Especificación del formato Lzip en IETF