Archiving and compression (Español) - ArchWiki

Jump to content
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 | Sí | No | Parcial1 | No | No | Sí | Sí | No | No
p7zip | Sí | Sí | Sí | Sí | Sí | No | Sí | Sí | Sí
unarchiver | Sí | Sí | Sí | Sí | Sí | Sí | No | Sí | 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

- Bash/Functions (Español)#Extraer

## 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

- List of applications/Utilities#Archive managers
- List of applications/Multimedia#Image compression
- Wikipedia:Comparison of file archivers
- Wikipedia:es:Anexo:Formatos de archivo
- Wikipedia:Comparison of archive formats

Categories:

- Data compression and archiving (Español)
- Command-line (Español)