Arquivo compactado TAR.GZ (.tar.gz)
POSIX.1 PadrãoTar Gzip (.tar.gz, também chamado .tgz) é o formato padrão de distribuição de software e empacotamento de arquivos no ecossistema Linux e de código aberto. Ele combina o empacotamento TAR nativo do Unix com a compactação Gzip.
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos TAR.GZ pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos TAR.GZ pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
1F 8B 08REPRESENTAÇÃO ASCII: ..\x08
Padronização: POSIX.1 ustar (encapsulado em gzip da RFC 1952)
Especificações técnicas
| Estrutura do contêiner | Fluxo de arquivo POSIX ustar/GNU tar encapsulado em um contêiner de compactação Gzip da RFC 1952 |
| Compressão | Empacotamento em dois estágios: serialização TAR seguida por compactação DEFLATE |
| Ordem dos bytes (endianness) | Cabeçalho Gzip em little-endian sobre blocos tar POSIX em octal |
| Espaços de cor | Não se aplica (contêiner de arquivos) |
| Canais e Estrutura | Árvores de diretórios Unix com vários arquivos, links simbólicos, propriedade e permissões de arquivos |
| Dimensões Máximas | Tamanho de arquivo ilimitado em fluxo |
| Transparência | Preserva sem perdas as estruturas e os dados do sistema de arquivos, bit a bit |
| Streaming e Progressivo | Processamento em fluxo por pipe de ponta a ponta: descompacta e extrai simultaneamente em uma única passagem |
Matriz de comparação técnica: TAR.GZ e formatos concorrentes
| Atributo técnico | TAR.GZ (Atual) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Permissões Unix | Preservação POSIX nativa | Limitadas ou frequentemente perdidas | Preserva atributos básicos | Preservação POSIX nativa |
| Taxa de compactação | Moderada (DEFLATE do Gzip) | Moderada (ZIP DEFLATE) | Muito alta (LZMA2) | Alta (BWT do Bzip2) |
| Velocidade de descompactação | Rápida (cerca de 300 MB/s) | Rápida (cerca de 300 MB/s) | Moderada (cerca de 100 MB/s) | Lenta (cerca de 40 MB/s) |
| Padrão no ecossistema Linux | Padrão universal de código aberto | Padrão para computadores de uso doméstico | Preferido por entusiastas do Windows | Versões antigas do código-fonte Linux |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
A linha de comando informa "gzip: stdin: invalid compressed data--format violated".
Causa principal: Bytes corrompidos no contêiner Gzip ou download truncado.
Recuperação: Tente recuperar parcialmente o arquivo com o extrator de arquivos do File2File.app ou com tar -izxf broken.tar.gz.
Análise de segurança e vetores de ataque a analisadores
Arquivos TAR.GZ combinam os riscos de bombas de descompactação e ataques de travessia de diretório quando são extraídos sem cuidado.
Vetores de ataque conhecidos
- Amplificação semelhante a uma bomba de descompactação, em que um arquivo .tar.gz minúsculo se expande em terabytes de zeros.
- Travessia de diretório (por exemplo, ../../root/.ssh/authorized_keys) que sobrescreve arquivos privilegiados.
- Criação maliciosa de nós de dispositivos durante uma extração com privilégios de root.
Melhores práticas defensivas: Extraia arquivos como usuário sem privilégios e limpe todos os caminhos de destino para impedir travessia de diretório.
Origens históricas e marcos
Principais vantagens
- É o padrão para lançamentos de código-fonte aberto, pacotes Linux e camadas de contêineres Docker.
- Combina a preservação integral das permissões POSIX e dos links simbólicos com a compactação Gzip rápida e confiável.
- Permite processamento completo em fluxo: baixa, descompacta e extrai dados por pipes de rede sem gravar arquivos temporários no disco.
Limitações técnicas e desvantagens
- Para extrair um único arquivo, é preciso descompactar todo o conteúdo até chegar à posição dele no arquivo.
- Tem taxa de compactação menor que alternativas modernas, como .tar.xz ou .tar.zst.
- Menos intuitivo em sistemas Windows antigos do que o formato ZIP, amplamente compatível.
Curiosidades técnicas
- Nos sistemas MS-DOS com limite de 8.3 caracteres para nomes de arquivo, .tar.gz era abreviado para .tgz.
- Sempre que você executa npm install, o npm baixa e extrai pacotes .tgz (tar.gz) em segundo plano.
- Usuários de Linux costumam memorizar o comando para extrair um tar.gz com a frase "eXtract Ze File": tar -xzf file.tar.gz.
Perguntas técnicas frequentes
Qual é a diferença entre .tar.gz e .zip?
O .zip compacta cada arquivo individualmente e guarda um diretório central no fim. O .tar.gz reúne tudo em um único fluxo e preserva permissões Linux e links simbólicos.
O .tgz é a mesma coisa que o .tar.gz?
Sim. .tgz é apenas uma extensão abreviada de .tar.gz, criada originalmente para sistemas operacionais com nomes de arquivo curtos no formato 8.3, como o DOS.
Como posso extrair um arquivo .tar.gz no Windows?
Você pode extrair arquivos .tar.gz diretamente no navegador com o File2File.app, sem instalar o WinRAR nem o 7-Zip.