O que é o formato de ficheiro XZ?
.xz é um formato de arquivo comprimido que utiliza o método de compressão XZ. O formato é nativo do XZ Utils, a ferramenta de software de referência desenvolvida como parte do The Tukaani Project (uma distribuição GNU/Linux baseada no Slackware).
XZ e TAR
Um arquivo .xz pode armazenar apenas um único fluxo comprimido e não possui árvore de diretórios própria. Por causa disso, os arquivos .xz são comumente usados em combinação com arquivos TAR - o TAR reúne arquivos selecionados em um único arquivo e o algoritmo XZ é então aplicado para compressão. O arquivo resultante carrega o sufixo .tar.xz ou .txz.
Algoritmo de compressão LZMA2
A compressão XZ é baseada no algoritmo LZMA2 - uma evolução do padrão LZMA original. Ele permite altas taxas de compressão e resulta em tamanhos de arquivo significativamente reduzidos: arquivos XZ são tipicamente 30% menores que arquivos GZIP e 15% menores que arquivos BZIP2. O XZ oferece compressão lossless (sem perdas) para evitar qualquer perda de informação.
Notas adicionais
- Comparado a outros métodos de compressão, o processo de compressão XZ é um tanto lento, mas a descompressão é significativamente mais rápida.
- Arquivos XZ são amplamente utilizados para distribuir pacotes de software Linux, incluindo o Slackware e a maioria dos tarballs de código-fonte do kernel.
- O formato
.xzidentifica-se com o cabeçalho mágico fixo de 6 bytesFD 37 7A 58 5A 00e verifica a integridade usando somas de verificação CRC64 por bloco e por fluxo por padrão (CRC32 e SHA-256 também são suportados). - No início de 2024, as versões 5.6.0 e 5.6.1 do XZ Utils continham um backdoor injetado deliberadamente (CVE-2024-3094) na biblioteca
liblzma. A especificação do formato de arquivo.xznão foi afetada; apenas aqueles tarballs de compilação específicos foram comprometidos.
Segurança e proteção
RISCO: LOWO formato .xz não carrega código executável e não pode «executar»; o risco vem apenas do que está dentro (extraia antes de confiar). Observe o incidente na cadeia de suprimentos de 2024 (CVE-2024-3094): um backdoor foi inserido na compilação liblzma do xz 5.6.0/5.6.1 distribuída em alguns canais de teste de distros - isso afeta os binários da ferramenta/biblioteca, não os arquivos .xz que você recebe. Cuidado com sites falsos de download de «abridores de xz» que incluem adware; use 7-Zip/PeaZip de suas páginas oficiais.
Detalhes do formato
em resumoProgramas que abrem arquivos XZ
tar -xf file.tar.xz (o bsdtar do macOS lida com xz) ou instale o xz via Homebrew. xz -d file.xz para descomprimir, ou tar -xf file.tar.xz para tarballs. Pré-instalado na maioria das distros. Detalhes técnicos
especificação profunda| Algoritmo de compressão | LZMA2 (evolução do LZMA); cadeia de filtros opcional com filtros delta e BCJ (branch/call/jump) |
| Estrutura do container | Cabeçalho do fluxo → um ou mais blocos comprimidos → índice de blocos → rodapé do fluxo |
| Magic bytes do cabeçalho | FD 37 7A 58 5A 00 - 6 bytes fixos no deslocamento 0 |
| Magic bytes do rodapé | 59 5A («YZ») - sempre os últimos 2 bytes de cada fluxo .xz |
| Ordem dos bytes | Little-endian |
| Tipo MIME | application/x-xz |
| Verificação de integridade | Somas de verificação por bloco e por fluxo; padrão CRC64; CRC32 e SHA-256 também suportados |
| Criptografia | Nenhuma - sem criptografia integrada; criptografe os dados antes da compressão, se necessário |
| Armazenamento de arquivos | Apenas um único fluxo comprimido; sem nomes de arquivos ou árvore de diretórios (combine com .tar para arquivos de múltiplos itens) |
| Codificação | Binário |
| Tamanho comprimido típico | Dezenas de KB a vários GB; tarballs de código-fonte do kernel Linux geralmente têm entre 50-200 MB |
| Taxa de compressão vs. alternativas | Tipicamente ~30% menor que gzip e ~15% menor que bzip2 em código-fonte |
| Nota de segurança | CVE-2024-3094: Tarballs do XZ Utils 5.6.0/5.6.1 continham um backdoor na liblzma; a especificação do formato de arquivo .xz não foi afetada |
| Suporte de plataforma | Linux, BSD, macOS, Windows (via XZ Utils, 7-Zip, PeaZip, NanaZip, The Unarchiver) |
| Lançado | 2009 (XZ Utils 4.999.x / 5.0; format finalized 2009) |
| Versão mais recente | XZ file format 1.0.4 (2009); XZ Utils 5.6.x toolchain |
| Padrão aberto | Sim · livre de royalties |
| Especificação | tukaani.org |
Conversões de XZ
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos XZ.
Perguntas frequentes
Como abro um arquivo .xz no Windows?
Qual é a diferença entre .xz e .tar.xz?
O .xz é melhor que o .gz ou .zip?
O formato de arquivo xz foi afetado pelo backdoor xz (CVE-2024-3094)?
Como descomprimir .xz no Linux?
xz -d file.xz para obter o arquivo original, ou tar -xf file.tar.xz para descompactar um tarball. O xz vem pré-instalado na maioria das distribuições.