Archiving and compression (Español)

From ArchWiki
Esta traducción de Archiving and compression fue revisada el 2021-02-15. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Las herramientas tradicionales de archivado y compresión de Unix se separan de acuerdo con la filosofía de Unix:

  • Un archivador combina varios archivos en uno solo, por ejemplo tar.
  • Una herramienta de compresión comprime y descomprime datos, por ejemplo gzip.

Estas herramientas a menudo se utilizan en secuencia creando primero un archivo de almacenamiento y luego comprimiéndolo.

Por supuesto, también hay herramientas que hacen ambas cosas, que tienden a ofrecer adicionalmente cifrado, detección de errores y recuperación.

Solo archivado

Nombre Paquete Manuales Descripción
GNU tar tar tar(1), info Utilidad principal para manipular los archivos de tar ubicuos (tarballs), que son utilizados por pacman y AUR.
libarchive libarchive bsdtar(1)
bsdcpio(1)
Implementación de tar y cpio que también ofrece una biblioteca. Utilizado por pacman y mkinitcpio.
ar binutils ar(1) Archivador de Unix heredado anterior a tar. Hoy solo se utiliza para crear archivos de biblioteca estáticos.
cpio cpio cpio(1) Archivador a través de stdin/stdout, soporta los formatos cpio y tar.
DAR darAUR dar(1) Archivador para hacer copias de seguridad de grandes sistemas de archivos en vivo, se encarga de los enlaces duros, atributos extendidos, archivos dispersos y tipos de inodo.
Sugerencia: Tanto tar de GNU como de BSD hacen automáticamente la delegación de descompresión para los archivos comprimidos con bzip2, compress, gzip, lzip, lzma y xz. Al crear archivos, ambos admiten la opción -a para filtrar automáticamente el archivo creado a través del programa de compresión adecuado en función de la extensión del archivo. Mientras que tar de BSD reconoce los formatos de compresión basados ​​en el formato, tar de GNU lo adivina según la extensión del archivo.

Véase también #Utilización para solo archivado.

Herramientas de compresión

Solo compresión

Estos programas de compresión implementan su propio formato de archivo de almacenamiento.

Nombre Paquete Manual Ext Ext tar Descripción Implementación multihilo
bzip2 bzip2 bzip2(1) .bz2, .bz .tbz2, .tbz Utiliza el algoritmo Burrows–Wheeler. lbzip2, pbzip2
gzip gzip gzip(1) .gz, .z .tgz, .taz GNU zip, basado en el algoritmo DEFLATE. pigz
lrzip lrzip lrzip(1) .lrz Versión mejorada de rzip, utiliza varios algoritmos. es multihilo
LZ4 lz4 lz4(1) .lz4 Escrito en C, orientado a la velocidad de compresión y descompresión. es multihilo
lzip lzip lzip(1) .lz Utiliza LZMA. plzipAUR
lzop lzop lzop(1) .lzop .tzo Utiliza la biblioteca LZO (lzo).
xz xz xz(1) .xz, .lzma .txz, .tlz Utiliza LZMA, predeterminado para GNU coreutils y el archivo del kernel. is multihilo, pixz, pxz-gitAUR
zstd zstd zstd(1) .zst Utiliza el algoritmo Zstandard. es multihilo
  • Las implementaciones multihilo ofrecen velocidades mejoradas mediante el uso de múltiples núcleos de CPU.
  • Las extensiones de tar se refieren a archivos comprimidos donde se utiliza tar y la herramienta de compresión, por ejemplo. .tzo es .tar.lzo.
  • Véase también #Utilización para solo compresión.

Archivado y compresión

Nombre Paquete(s) Manuale(s) Ext Descripción
7z p7zip 7z(1) .7z Port POSIX de la línea de órdenes 7-zip. Véase p7zip.
RAR rarAUR, unrar rar(1) .rar Tanto el formato como la utilidad rar son ​​propietarios.
ZIP zip, unzip zip(1), unzip(1) .zip Ampliamente utilizado fuera del mundo Linux.
Unarchiver unarchiver unar(1), lsar(1) many Herramienta de línea de órdenes de una aplicación Mac, soporta más de 40 formatos de archivo de almacenamiento.
ZPAQ zpaqAUR zpaq(1) .zpaq Un archivador de alta tasa de compresión escrito en C++, utiliza varios algoritmos.
LHa lhasa, lhaAUR lha(1) .lzh (en Amiga: .lha) archivador LZH/LHA, soporta el método-lh7.

Véase también #Utilización para archivado y compresión.

Tablas de características

Algunas de las herramientas anteriores son capaces de manejar múltiples formatos, lo que permite instalar menos paquetes.

Descompresión

Nombre gzip bzip2 ZIP LHa/LZH RAR compress pack CAB ARJ
gzip No Parcial1 No No No No
p7zip No
unarchiver No Parcial
  1. gunzip de gzip solo puede descomprimir archivos ZIP de miembro simple.

Comparación de utilización

Utilización para solo archivado

Nombre Crear archivo Extraer archivo Listar contenido
tar(1) tar cfv archivo_almacenamiento.tar archivo1 archivo2 tar xfv archivo_almacenamiento.tar tar -tvf archivo_almacenamiento.tar
cpio(1) ls archivo1 archivo2 | cpio -o > archivo_almacenamiento.cpio cpio -i -vd < archivo_almacenamiento.cpio cpio -t < archivo_almacenamiento.cpio

Utilización para solo compresión

Nombre Comprimir Descomprimir Descomprimir a la salida estándar
bzip2(1) bzip2 archivo bzip2 -d archivo.bz2 bzcat archivo.bz2
gzip(1) gzip archivo gzip -d archivo.gz zcat archivo.gz
lrzip(1) lrzip archivo
lrztar carpeta
lrzip -d archivo.lrz
lrztar -d carpeta.tar.lrz
lrzcat archivo.lrz
xz(1) xz archivo xz -d archivo.xz xzcat archivo.xz

Utilización para archivado y compresión

Nombre Comprimir Descomprimir Descomprimir a la salida estándar Listar contenido
7z(1) 7z a archivo_almacenamiento.7z archivo1 archivo2 7z x archivo_almacenamiento.7z 7z e -so archivo_almacenamiento.7z archivo1 7z l archivo_almacenamiento.7z
rar(1) y unrar rar a archivo_almacenamiento.rar archivo1 archivo2 rar x archivo_almacenamiento.rar rar p -inul archivo_almacenamiento.rar archivo1 rar l archivo_almacenamiento.rar
zip(1), unzip(1) zip archivo_almacenamiento.zip archivo1 archivo2 unzip archivo_almacenamiento.zip unzip -p archivo_almacenamiento.zip archivo1 unzip -l archivo_almacenamiento.zip
lha(1) lha ao7 archivo.lzh archivo1 archivo2 lha x archivo.lzh mínimo: lha l archivo.lzh verboso: lha v archivo.lzh

Herramientas convenientes

  • atool — Script para gestionar archivos de almacenamiento de varios tipos.
https://www.nongnu.org/atool/ || atool
  • dtrx — Una herramienta inteligente de extracción de archivos.
https://github.com/brettcs/dtrx || dtrxAUR
  • unp — Herramienta de línea de órdenes que puede descomprimir archivos fácilmente.
https://github.com/mitsuhiko/unp || python-unpAUR
  • unpack — Script Wrapper para manejar múltiples formatos de archivo.
https://github.com/githaff/unpack || unpack-gitAUR

Determinar el formato de archivo

Para extraer un archivo, se debe determinar su formato. Si el archivo tiene el nombre correcto, puede deducir su formato a partir de su extensión.

De lo contrario, puede utilizar la herramienta file, véase file(1).

Herramientas esotéricas, raras u obsoletas

Nombre Paquete(s) Ext Descripción
ARC arcAUR .arc, .ark Fue muy popular durante los inicios de las BBS. Reemplazado por ZIP.
ARJ arj .arj Un archivador utilizado en DOS/Windows a mediados de la década de 1990. Este es una copia de código abierto.
compress ncompress .Z La utilidad clásica de compresión de Unix que puede manejar el antiguo archivo .Z.
PAR2 par2cmdline .par2 Archivador con paridad para una mayor integridad de los datos. Véase también Parchive.
shar sharutils .shar Crea archivos autoextraíbles que son scripts de shell válidos.
Zoo zooAUR .zoo Era sobre todo popular en el sistema operativo OpenVMS antes de que PKZIP se hiciera popular.

Compresión del asignador de dispositivos

Se está trabajando para integrar (en el proyecto del kernel de Linux) el reciente proyecto VDO de código abierto, que proporciona una capa de deduplicación y compresión del asignador de dispositivos para aumentar la eficiencia del almacenamiento. Los siguientes paquetes están disponibles:

  • vdo — Herramientas del espacio de usuario para gestionar volúmenes VDO
https://github.com/dm-vdo/vdo || vdoAUR
  • kvdo — Un par de módulos del kernel que proporcionan grupos de almacenamiento de bloques deduplicados y/o comprimidos
https://github.com/dm-vdo/kvdo || kvdo-dkmsAUR

Bibliotecas de compresión

  • Brotli — Algoritmo de compresión para flujos de datos utilizando el algoritmo LZ77, la codificación de Huffman y el modelado de contexto de segundo orden.
https://github.com/google/brotli || brotli
  • libzip — Proporciona la creación y extracción de archivos ZIP. Utilizado por KDE y Deepin en lugar de las herramientas de zip/unzip.
https://libzip.org || libzip
  • zlib — Biblioteca de compresión que implementa el método de compresión deflate que se encuentra en gzip y PKZIP.
https://www.zlib.net/ || zlib
  • Zopfli — Compresor de archivos de alta tasa de compresión de Google, utilizando un algoritmo compatible con deflate llamado zopfli.
https://github.com/google/zopfli || zopfli-gitAUR

Véase también