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
:
Um
arquivador ou empacotador de arquivo
combina vários arquivos em um arquivo de pacote (p.ex.,
tar
).
Uma ferramenta
compressão
compacta ou descompacta dados (p.ex.,
gzip
).
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
Pacote
Manuais
Descrição
GNU
tar
tar
tar(1)
,
info
Utilitário principal
de manipulação de pacotes tar (tarballs) onipresentes, que são usados pelo
pacman
e pelo
AUR
.
libarchive
libarchive
bsdtar(1)
bsdcpio(1)
Implementação de
tar
e
cpio
que também oferece uma biblioteca. Usado pelo
pacman
e
mkinitcpio
.
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
dar
AUR
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.
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.
Nome
Pacote
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
.
plzip
AUR
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
,
pxz-git
AUR
zstd
zstd
zstd(1)
.zst
Usa 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
Nome
Pacotes
Manuais
Ext
Descrição
7z
7zip
7z(1)
[
link inativo
2024-12-26]
.7z
Porte POSIX da linha de comando do 7-zip. Veja
p7zip
.
RAR
rar
AUR
,
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
zpaq
AUR
zpaq(1)
.zpaq
Um arquivador de alta taxa de compactação escrito em C++, usa vários algoritmos.
LHa
lhasa
,
lha
AUR
lha(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
Nome
gzip
bzip2
ZIP
LHa/LZH
compress
pack
CAB
ARJ
gzip
Sim
Não
Sim
Não
Sim
Sim
Não
Não
7zip
Sim
Sim
Sim
Sim
Não
Sim
Sim
Sim
unarchiver
Sim
Sim
Sim
Sim
Sim
Não
Sim
Parcial
Comparação de uso
Uso para 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
Uso para 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
Uso para arquivamento e compressão
Nome
Compressão
Descompressão
Descompressão para stdout
Listagem de conteúdo
7z(1)
[
link inativo
2024-12-26]
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
lha(1)
lha ao7 pacote.lzh arquivo1 arquivo2
lha x pacote.zip
mí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
||
dtrx
AUR
unp
— Ferramenta de linha de comando que pode extrair pacotes facilmente.
https://github.com/mitsuhiko/unp
||
python-unp
AUR
unpack
— Script wrapper para lidar com diversos formatos de pacotes.
https://github.com/githaff/unpack
||
unpack-git
AUR
Bash/Functions#Extract
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
arc
AUR
.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
ncompress
.Z
O utilitário clássico de compressão unix que pode lidar com o antigo arquivo .Z.
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
zoo
AUR
.zoo
Era 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
||
vdo
AUR
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-dkms
AUR
[
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-git
AUR
Veja também
List of applications/Utilities#Archiving and compression tools
List of applications/Multimedia#Image compression
Wikipedia:Comparison of file archivers
Wikipedia:List of archive formats
Wikipedia:Comparison of archive formats