Archiving and compression (Português)

From ArchWiki
Jump to: navigation, search
Status de tradução: Esse artigo é uma tradução de Archiving and compression. Data da última tradução: 2018-08-14. 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

Nome Pacotes Manuais Descrição
ar binutils ar(1) Arquivador legado do Unix antes do tar. Hoje usado apenas para criar arquivos de biblioteca estática.
cpio cpio cpio(1) Arquivador de arquivos via stdin/stdout, oferece suporte a formatos cpio e tar.
DAR darAUR dar(1) Arquivador para fazer backup de sistemas de arquivos live grandes, lida com links absolutos, atributos estendidos, arquivos esparsos e tipos de nó-I.
GNU tar coreutils tar(1) Utilitário do GNU para manipulação de pacotes tar (tarballs) onipresente, veja tar para exemplos de uso.
libarchive libarchive bsdtar(1)
bsdcpio(1)
Implementação de tar e cpio que também oferece uma biblioteca. Usado pelo pacman e mkinitcpio.
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.

Ferramentas de compressão

Compressão apenas

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

Nome Pacotes Manual Ext ext do Tar Descrição Implementações paralelas
bzip2 bzip2 bzip2(1) .bz2, .bz .tbz2, .tbz Usa o algoritmo Burrows–Wheeler. lbzip2, pbzip2
gzip gzip gzip(1) .gz, .z .tgz, .taz GNU zip, baseado no algoritmo DEFLATE. pigz
lrzip lrzip lrzip(1) .lrz Versão melhorada do rzip, usa múltiplos algoritmos. é multithreaded
LZ4 lz4 lz4(1) .lz4 Escrito em C, com foco na velocidade de compressão e descompressão. é multithreaded
lzip lzip lzip(1) .lz Usa LZMA. plzipAUR
lzop lzop lzop(1) .lzop .tzo Usa a biblioteca LZO (lzo).
xz xz xz(1) .xz, .lzma .txz, .tlz Usa LZMA, padrão para arquivos de pacotes de GNU coreutils e de kernel. pixz, pxzAUR
  • 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.

Arquivamento e compressão

Nome Pacotes Manual Ext Descrição
7z p7zip 7z(1) .7z Porte POSIX da linha de comando do 7-zip. Veja p7zip.
RAR rarAUR, unrar rar(1) .rar Ambos formato e utilitário rar são proprietário.
ZIP zip, unzip zip(1), unzip(1) .zip Amplamente usado fora do mundo do Linux.
Unarchiver unarchiver unar(1), lsar(1) many Ferramenta de linha de comando de um aplicativo Mac, suporta mais de 40 formatos de pacote.
ZPAQ zpaqAUR zpaq(1) .zpaq Um arquivador de alta taxa de compactação escrito em C++, usa vários algoritmos.

Comparação de recursos

Descompressão

Nome gzip bzip2 ZIP compress pack CAB ARJ
gzip Sim Não Sim Sim Sim Não Não
p7zip Sim Sim Sim Não Sim Sim Sim
unarchiver Sim Sim Sim Sim Não Sim Parcial

Comparação de uso

Arquivamento apenas

Nome Criação de pacote Extração de pacote Listagem de conteúdo
tar(1) tar cfv pacote.tar arquivo1 arquivo2 tar xfv pacote.tar tar -tvf pacote.tar
cpio(1) ls arquivo1 arquivo2 | cpio -o > pacote.cpio cpio -i -vd < pacote.cpio cpio -t < pacote.cpio

Compressão apenas

Nome Compressão Descompressão Descompressão para stdout
bzip2(1) bzip2 arquivo bzip2 -d arquivo.bz2 bzcat arquivo.bz2
gzip(1) gzip arquivo gzip -d arquivo.gz zcat arquivo.gz
lrzip(1) lrzip arquivo
lrztar pasta
lrzip -d arquivo.lrz
lrztar -d pasta.tar.lrz
lrzcat arquivo.lrz
xz(1) xz arquivo xz -d arquivo.xz xzcat arquivo.xz

Arquivamento e compressão

Nome Compressão Descompressão Descompressão para stdout Listagem de conteúdo
7z(1) 7z a pacote.7z arquivo1 arquivo2 7z x pacote.7z 7z e -so pacote.7z arquivo1 7z l pacote.7z
rar(1) & unrar rar a pacote.rar arquivo1 arquivo2 rar x pacote.rar rar p -inul pacote.rar arquivo1 rar l pacote.rar
zip(1), unzip(1) zip pacote.zip arquivo1 arquivo2 unzip pacote.zip unzip -p pacote.zip arquivo1 unzip -l 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://brettcsmith.org/2007/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

Nome Pacotes Ext Descrição
ARC arcAUR .arc, .ark Foi muito popular durante os primeiros dias do BBS em conexão discada. Substituído pelo ZIP.
ARJ arj .arj Um arquivador usado no DOS/Windows em meados dos anos 90. Este é um clone de código aberto.
compress ncompressAUR .Z O utilitário clássico de compressão unix que pode lidar com o antigo arquivo .Z.
LHA lhaAUR .lzh, .lha Formato popular no Japão, archiver para criar arquivos no formato LH-7. Apenas 32 bits (requer multilib).
PAR2 par2cmdline .par2 Arquivador de paridade para maior integridade de dados. Veja também Parchive.
shar sharutils .shar Cria arquivos de extração automática que são scripts de shell válidos.
Zoo zooAUR .zoo Era mais popular no sistema operacional OpenVMS antes de o PKZIP se tornar popular.

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