Arquivo TAR (.tar)
POSIX.1-1988 PadrãoTape Archive (TAR) é o formato universal para empacotar arquivos em Unix e Linux. Ele reúne vários arquivos, diretórios e metadados do sistema de arquivos em um fluxo sem compactação, projetado para backups em fita magnética e distribuição de software.
Converter ZIP para TAR
Conversor gratuito de ZIP para TAR no navegador. Converta arquivos instantaneamente no seu dispositivo.
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos TAR pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos TAR pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 257):
75 73 74 61 72REPRESENTAÇÃO ASCII: ustar
Padronização: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)
Especificações técnicas
| Estrutura do contêiner | Sequência de blocos de 512 bytes: um cabeçalho de arquivo de 512 bytes, seguido pelos dados arredondados ao próximo múltiplo de 512 bytes e finalizado por dois blocos de zeros |
| Compressão | Contêiner de arquivos sem compactação, projetado para ser combinado por pipe com gzip, bzip2, xz ou zstd |
| Ordem dos bytes (endianness) | Campos numéricos em texto ASCII octal; extensões numéricas em big-endian |
| Espaços de cor | Não se aplica (contêiner de arquivos) |
| Canais e Estrutura | Árvore de diretórios Unix, links simbólicos e físicos, dispositivos de caracteres e blocos e pipes FIFO |
| Dimensões Máximas | Limite de 8 GB no ustar clássico; praticamente ilimitado no formato PAX moderno |
| Transparência | Preservação total de permissões de arquivos POSIX, UID/GID do proprietário, horários de acesso e atributos estendidos |
| Streaming e Progressivo | Design sequencial orientado a fluxo, que pode gravar diretamente em unidades físicas de fita magnética |
Matriz de comparação técnica: TAR e formatos concorrentes
| Atributo técnico | TAR (Atual) | ZIP | 7Z | CPIO |
|---|---|---|---|---|
| Compactação nativa | Nenhuma (contêiner apenas para empacotamento) | Compactação Deflate integrada | Compactação LZMA/LZMA2 integrada | Nenhuma (contêiner de empacotamento puro) |
| Preservação de permissões Unix | Todos os atributos POSIX, links simbólicos e UID/GID | Suporte limitado a permissões Unix | Preserva permissões básicas | Todos os atributos POSIX |
| Extração em fluxo | Extração completa a partir de pipes | Exige ler o diretório central no fim do arquivo (EOF) | Requer leitura do cabeçalho final | Extração completa em fluxo |
| Acesso aleatório a arquivos | Lento (varredura sequencial) | Instantâneo (consulta ao diretório central) | Moderado (consulta ao índice) | Lento (varredura sequencial) |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
Erro de extração: "tar: Skipping to next header" ou "A lone zero block at X".
Causa principal: Alinhamento danificado de blocos de 512 bytes ou término prematuro do fluxo.
Recuperação: Extraia com tar -i para ignorar blocos danificados ou use a ferramenta TAR do File2File.app.
Análise de segurança e vetores de ataque a analisadores
Extratores TAR precisam limpar os caminhos dos arquivos para impedir que ataques de travessia de diretório sobrescrevam arquivos arbitrários.
Vetores de ataque conhecidos
- Travessia de diretório do tipo slip (por exemplo, ../etc/passwd), que sobrescreve arquivos críticos do sistema durante a extração.
- Condições de corrida com links simbólicos que criam links para diretórios do sistema antes da gravação de arquivos.
- Negação de serviço causada por ciclos de links físicos.
Melhores práticas defensivas: Limpe rigorosamente os caminhos dos arquivos do arquivo TAR e rejeite qualquer entrada que contenha referências ao diretório pai (..).
Origens históricas e marcos
Principais vantagens
- Preserva com fidelidade os atributos do sistema de arquivos Unix, incluindo permissões POSIX, links simbólicos e físicos e propriedade dos arquivos.
- O design orientado a fluxo permite extrair dados diretamente de um pipe de rede, sem precisar buscar o fim do arquivo.
- É um padrão universal em servidores Linux, imagens de contêiner (Docker/OCI) e distribuições de software Unix.
Limitações técnicas e desvantagens
- Não tem compactação nativa: um arquivo .tar sem compactação tem aproximadamente o tamanho combinado dos arquivos originais.
- O acesso aleatório é lento: para extrair um arquivo no meio de um TAR enorme, é preciso percorrer o arquivo desde o início.
- Cabeçalhos ustar antigos truncavam nomes com mais de 100 caracteres. Os formatos PAX e GNU tar modernos corrigem essa limitação.
Curiosidades técnicas
- Os bytes mágicos ustar ficam no deslocamento 257 de cada bloco de cabeçalho de 512 bytes.
- O TAR foi criado originalmente para controlar unidades físicas de fita magnética de 9 trilhas.
- Imagens de contêineres Docker e OCI são conjuntos de arquivos .tar padrão em camadas, que contêm diferenças do sistema de arquivos raiz.
Perguntas técnicas frequentes
Por que meu arquivo .tar não está compactado?
TAR apenas reúne arquivos em um só, sem compactá-los. Para compactar o resultado, combine-o com o gzip e crie um arquivo .tar.gz.
Qual é a diferença entre o ustar e o GNU tar?
Ustar é o padrão POSIX de 1988, com limite de 100 caracteres para nomes de arquivos. GNU tar é um formato estendido, compatível com caminhos de qualquer comprimento e arquivos esparsos.
Como posso abrir um arquivo .tar no Windows?
O Windows 10 e 11 são compatíveis com tar nativamente pela linha de comando (tar -xf file.tar). Você também pode extrair o arquivo visualmente no navegador com o File2File.app.
Conversões de TAR relacionadas
A conversão de um arquivo ZIP para TAR transforma um contêiner de arquivos compactados em um formato adequado a ambientes Unix, sem compressão própria.
Converter um arquivo TAR em um arquivo ZIP transforma um contêiner Unix não compactado em um formato de arquivo compactado e universalmente acessível.
A conversão de um arquivo TAR para GZIP reúne uma coleção de arquivos não compactados em um único fluxo compactado, usando o algoritmo sem perdas DEFLATE para reduzir drasticamente o tamanho do arquivo.
Extraia os dados TAR de um arquivo TAR comprimido com GZIP, como .tar.gz ou .tgz.