Archiving and compression (Português)

Status de tradução: Esse artigo é uma tradução de Archiving and compression. Data da última tradução: 2020-07-06. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

As ferramentas tradicionais de arquivamento e compactação (ou compressão) Unix são separadas de acordo com a filosofia Unix:

Essas ferramentas geralmente são usadas em sequência, criando primeiro um arquivo e, em seguida, compactando-o.

Claro que também existem ferramentas que fazem ambos, que tendem a oferecer adicionalmente criptografia, detecção de erro e recuperação.

Arquivamento apenas

NomePacoteManuaisDescrição
GNU tartartar(1), infoUtilitário principal de manipulação de pacotes tar (tarballs) onipresentes, que são usados pelo pacman e pelo AUR.
libarchivelibarchivebsdtar(1)
bsdcpio(1)
Implementação de tar e cpio que também oferece uma biblioteca. Usado pelo pacman e mkinitcpio.
arbinutilsar(1)Arquivador legado do Unix antes do tar. Hoje usado apenas para criar arquivos de biblioteca estática.
cpiocpiocpio(1)Arquivador de arquivos via stdin/stdout, oferece suporte a formatos cpio e tar.
DARdarAURdar(1)Arquivador para fazer backup de sistemas de arquivos live grandes, lida com links absolutos, atributos estendidos, arquivos esparsos e tipos de nó-I.
Dica: O GNU tar e o BSD tar fazem automaticamente a delegação de descompactação para arquivos comprimidos bzip2, compress, gzip, lzip, lzma e xz. Ao criar arquivos, ambos oferecem suporte à opção -a para filtrar automaticamente o arquivo criado através do programa de compactação correto, com base na extensão do arquivo. Enquanto o BSD reconhece os formatos de compressão baseados no formato, o GNU tar adivinha apenas baseado na extensão do arquivo.

Veja #Uso para arquivamento apenas.

Ferramentas de compressão

Compressão apenas

Esses programas de compactação implementam seu próprio formato de arquivo.

NomePacoteManualExtext do TarDescriçãoImplementações paralelas
bzip2bzip2bzip2(1).bz2, .bz.tbz2, .tbzUsa o algoritmo Burrows–Wheeler.lbzip2, pbzip2
gzipgzipgzip(1).gz, .z.tgz, .tazGNU zip, baseado no algoritmo DEFLATE.pigz
lrziplrziplrzip(1).lrzVersão melhorada do rzip, usa múltiplos algoritmos.é multithreaded
LZ4lz4lz4(1).lz4Escrito em C, com foco na velocidade de compressão e descompressão.é multithreaded
lziplziplzip(1).lzUsa LZMA.plzipAUR
lzoplzoplzop(1).lzop.tzoUsa a biblioteca LZO (lzo).
xzxzxz(1).xz, .lzma.txz, .tlzUsa LZMA, padrão para arquivos de pacotes de GNU coreutils e de kernel.pixz, pxz-gitAUR
zstdzstdzstd(1).zstUsa o algoritmo Zstandard.é multithreaded
  • Implementações paralelas oferecem velocidades aprimoradas usando vários núcleos de CPU.
  • Extensões de tar fazem referências a arquivos compactados em que o tar e a ferramenta de compactação são usados (p.ex., {ic|.tzo}} é .tar.lzo.
  • Veja também #Uso para compressão apenas.

Arquivamento e compressão

NomePacotesManuaisExtDescrição
7z7zip7z(1)[link inativo 2024-12-26].7zPorte POSIX da linha de comando do 7-zip. Veja p7zip.
RARrarAUR, unrarrar(1).rarAmbos formato e utilitário rar são proprietário.
ZIPzip, unzipzip(1), unzip(1).zipAmplamente usado fora do mundo do Linux.
Unarchiverunarchiverunar(1), lsar(1)manyFerramenta de linha de comando de um aplicativo Mac, suporta mais de 40 formatos de pacote.
ZPAQzpaqAURzpaq(1).zpaqUm arquivador de alta taxa de compactação escrito em C++, usa vários algoritmos.
LHalhasa, lhaAURlha(1).lzh (no Amiga: .lha)Um arquivador de LZH/LHA, com suporte ao método lh7.

Veja também #Uso para arquivamento e compressão.

Comparação de recursos

Descompressão

Nomegzipbzip2ZIPLHa/LZHcompresspackCABARJ
gzipSimNãoSimNãoSimSimNãoNão
7zipSimSimSimSimNãoSimSimSim
unarchiverSimSimSimSimSimNãoSimParcial

Comparação de uso

Uso para arquivamento apenas

NomeCriação de pacoteExtração de pacoteListagem de conteúdo
tar(1)tar cfv pacote.tar arquivo1 arquivo2tar xfv pacote.tartar -tvf pacote.tar
cpio(1)ls arquivo1 arquivo2 | cpio -o > pacote.cpiocpio -i -vd < pacote.cpiocpio -t < pacote.cpio

Uso para compressão apenas

NomeCompressãoDescompressãoDescompressão para stdout
bzip2(1)bzip2 arquivobzip2 -d arquivo.bz2bzcat arquivo.bz2
gzip(1)gzip arquivogzip -d arquivo.gzzcat arquivo.gz
lrzip(1)lrzip arquivo
lrztar pasta
lrzip -d arquivo.lrz
lrztar -d pasta.tar.lrz
lrzcat arquivo.lrz
xz(1)xz arquivoxz -d arquivo.xzxzcat arquivo.xz

Uso para arquivamento e compressão

NomeCompressãoDescompressãoDescompressão para stdoutListagem de conteúdo
7z(1)[link inativo 2024-12-26]7z a pacote.7z arquivo1 arquivo27z x pacote.7z7z e -so pacote.7z arquivo17z l pacote.7z
rar(1) & unrarrar a pacote.rar arquivo1 arquivo2rar x pacote.rarrar p -inul pacote.rar arquivo1rar l pacote.rar
zip(1), unzip(1)zip pacote.zip arquivo1 arquivo2unzip pacote.zipunzip -p pacote.zip arquivo1unzip -l pacote.zip
lha(1)lha ao7 pacote.lzh arquivo1 arquivo2lha x pacote.zipmínimo: lha l pacote.zip detalhado: lha v pacote.zip

Ferramentas de conveniência

  • atool Script para gerenciar pacotes de vários tipos.
https://www.nongnu.org/atool/ || atool
  • dtrx Uma ferramenta inteligente de extração de pacotes.
https://github.com/brettcs/dtrx || dtrxAUR
  • unp Ferramenta de linha de comando que pode extrair pacotes facilmente.
https://github.com/mitsuhiko/unp || python-unpAUR
  • unpack Script wrapper para lidar com diversos formatos de pacotes.
https://github.com/githaff/unpack || unpack-gitAUR

Determinando o formato do pacote

Para extrair um pacote, seu formato de arquivo precisa ser determinado. Se o arquivo tiver o nome correto, você poderá deduzir seu formato a partir da extensão do arquivo.

Do contrário, você pode usar a ferramenta file, veja file(1).

Ferramentas esotéricas, raras e obsoletas

NomePacotesExtDescrição
ARCarcAUR.arc, .arkFoi muito popular durante os primeiros dias do BBS em conexão discada. Substituído pelo ZIP.
ARJarj.arjUm arquivador usado no DOS/Windows em meados dos anos 90. Este é um clone de código aberto.
compressncompress.ZO utilitário clássico de compressão unix que pode lidar com o antigo arquivo .Z.
PAR2par2cmdline.par2Arquivador de paridade para maior integridade de dados. Veja também Parchive.
sharsharutils.sharCria arquivos de extração automática que são scripts de shell válidos.
ZoozooAUR.zooEra mais popular no sistema operacional OpenVMS antes de o PKZIP se tornar popular.

Compressão de mapeador de dispositivos

Há um trabalho sendo feito para integrar (ao projeto de kernel do Linux) o projeto VDO de código recentemente aberto, que fornece uma camada de mapeamento de dispositivos de deduplicação e compactação no interesse de aumentar a eficiência do armazenamento. Os seguintes pacotes estão disponíveis:

  • vdo Ferramentas de espaço do usuário para gerenciar volumes VDO
https://github.com/dm-vdo/vdo || vdoAUR
  • kvdo Um par de módulos do kernel que fornecem conjuntos de armazenamento de bloco deduplicado e/ou compactado
https://github.com/dm-vdo/kvdo || kvdo-dkmsAUR[link quebrado: package not found]

Bibliotecas de compressão

  • Brotli Algoritmo de compressão para fluxos de dados usando o algoritmo LZ77, codificação de Huffman e modelagem de contexto de segunda ordem.
https://github.com/google/brotli || brotli
  • zlib Biblioteca de compressão implementando o método de compactação deflate encontrado no gzip e no PKZIP.
https://www.zlib.net/ || zlib
  • Zopfli Compressor de arquivos de alta taxa de compressão do Google, usando um algoritmo compatível com deflação chamado zopfli.
https://github.com/google/zopfli || zopfli-gitAUR

Veja também

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.