Converter XZ para TAR

Aqui você converte XZ para TAR de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. O arquivo viaja criptografado até o nosso servidor, é convertido lá e é apagado assim que o trabalho termina.

  • Onde roda No nosso servidor, porque um navegador não roda o programa que isto exige.
  • Sem perdas Nada é descartado. O TAR guarda exatamente o que o XZ guardava.
  • Limite de tamanho Até 25 MB por arquivo, de graça e sem conta.
  • Vale saber Os arquivos saem byte a byte iguais. O que não sobrevive é o que o contêiner sabia *sobre* eles e não o que havia *dentro* deles: uma senha e, em alguns formatos, as permissões e as datas originais.

Até 100 arquivos de uma vez. Formatos misturados não são problema.

As ferramentas que só aceitam um tarball e nada mais

Remover compressão parece a direção errada, e há vários lugares onde é a única direção. O `docker load` lê uma imagem de um tarball. Vários importadores de dispositivo, firmware e instrumento pegam um `.tar` porque o carregador foi escrito para percorrer cabeçalhos TAR e nada foi acrescentado depois. Ferramentas de migração que esperam uma forma de exportação específica fazem o mesmo. E alguns armazenamentos endereçados por conteúdo e deduplicadores querem os bytes sem compressão, porque uma mudança de uma linha num arquivo não deveria reescrever o artefato inteiro.

Há um segundo leitor com motivo diferente: alguém que simplesmente quer olhar. Um tarball pode ser inspecionado, comparado, percorrido por um script e alimentado a `tar --to-command` sem um passo de descompressão antes de cada operação.

Por que um .tar.xz tem duas camadas em vez de uma

O XZ chegou em 2009 e comprime um fluxo único com LZMA2. Não tem campo para nome de arquivo, nenhuma noção de pasta, e nenhum jeito de registrar onde um membro termina e outro começa.

O TAR, de 1979 e padronizado como POSIX.1-2001 ustar, é o complemento exato: um cabeçalho de 512 bytes na frente de cada membro registrando o nome, o caminho, o tamanho, o dono, o grupo, a permissão e os horários, e nenhuma compressão. Entre os dois fazem o trabalho inteiro, e é por isso que `.tar.xz` parece uma solução alternativa e é de fato o arranjo pretendido. Esta conversão remove a metade externa e entrega a interna.

O arquivo fica muito maior, e essa é a troca inteira

Toda outra conversão de arquivo compactado deste site tem um argumento de tamanho em algum lugar. Esta tem o oposto, e vale planejar em vez de descobrir. Um XZ de código-fonte, log ou documento pode se expandir várias vezes; o registro dá ao XZ um dicionário de até 64 MB.

As consequências práticas são todas sobre para onde o arquivo tem que ir depois. Não vai mais caber num limite de anexo que o XZ passava com folga. Vai levar proporcionalmente mais tempo para copiar por rede. Nada disso é motivo para não converter; é motivo para saber o número antes de começar.

O tarball é reconstruído, então checksums do upstream param de bater

Essa é a frase mais importante da página para quem converte um lançamento publicado. A conversão não descasca a camada xz do seu arquivo — extrai o arquivo por completo e escreve um TAR novo a partir do conteúdo. Os arquivos dentro são idênticos byte a byte, porque isso é um reempacotamento sem perda. O tarball ao redor deles não é o do upstream.

Então o SHA-256 nas notas de lançamento, o hash numa receita de pacote, a assinatura sobre o tarball: nenhum vai validar contra o que você baixa aqui. Se verificação faz parte do trabalho, descomprima localmente com `xz -d arquivo.tar.xz`, que toca só na camada externa. Use este conversor quando você precisa que um tarball exista e os bytes exatos não são parte de um contrato.

Permissões e horários, que um TAR guarda e pode não receber

Um cabeçalho TAR tem campos para dono, grupo, bits de permissão e horário de modificação, e para muitos tarballs isso é estrutural: um lançamento com um script de instalação depende de o script chegar executável. O TAR é o formato que consegue carregar tudo isso.

O que ele recebe aqui é outra questão. Como o arquivo é desempacotado numa pasta temporária e retarrado, os modos e horários são o que sobreviveu a essa viagem de ida e volta. Se o tarball vai para `docker load` ou para qualquer coisa que executa o que desempacota, confira os campos do cabeçalho com `tar tvf` antes de confiar.

Um .xz que nunca guardou um arquivo compactado

Nem todo `.xz` é um tarball comprimido. Um arquivo único e grande — um dump de banco de dados, uma imagem de disco, uma exportação CSV — é frequentemente comprimido sozinho, e não há tarball nenhum ali dentro. O conversor lida com os dois casos: descomprime o fluxo, tenta desembrulhar um TAR interno, e quando isso falha mantém o arquivo único que encontrou.

O que você recebe nesse caso é um TAR contendo exatamente um membro, um objeto um pouco estranho mas perfeitamente válido e geralmente ainda o que a ferramenta seguinte quer. É também um diagnóstico útil: se você esperava uma pasta de arquivos e o resultado guarda um, o original nunca foi um arquivo compactado.

A memória que um XZ precisa para se desmontar

Descomprimir um fluxo xz exige um buffer proporcional ao dicionário com que o arquivo foi escrito — até 64 MB pelo número do registro. Na máquina que converte o arquivo isso é comum. Aparece do outro lado: se o motivo de remover a compressão é que algum aparelho pequeno não conseguia abrir o XZ, esta conversão é um jeito legítimo de entregar algo que ele consegue ler.

É uma rota diferente de recomprimir para gzip ou bzip2, e é a certa quando o aparelho tem bastante armazenamento e nenhum compressor. Onde o aparelho tem gzip, enviar um tarball gzipado quase sempre é melhor que enviar um puro.

Onde o arquivo xz é descomprimido e o que é mantido

No nosso servidor, não no seu navegador. A maioria das ferramentas deste site mantém o arquivo no seu aparelho e avisa isso; arquivos compactados são uma das exceções, porque o trabalho precisa do 7-Zip e do xz como programas de verdade. O arquivo viaja por uma conexão criptografada até um contêiner sem acesso de saída à internet.

Cada trabalho recebe uma pasta temporária num sistema de arquivos baseado em memória, apagada assim que o trabalho termina, e interrompida em sessenta segundos. Antes de escrever qualquer coisa, o arquivo é questionado sobre o que declara expandir, e um total declarado acima de 2 GB é recusado. O plano gratuito aceita 25 MB por arquivo enviado.

Lendo o tarball antes de entregar à próxima ferramenta

`tar tvf arquivo.tar` lista todo membro com seu modo, dono, tamanho e horário, e não custa nada. Duas coisas valem observar. A primeira é o nível superior: um arquivo empacotado de dentro de uma pasta e um empacotado do seu pai diferem por uma pasta inicial em todo caminho.

A segunda é a coluna de permissão, particularmente se algo no arquivo deveria ser executado. O TAR é um dos poucos formatos que consegue carregar um bit de modo, então se chegar errado você consegue consertar — extrair, `chmod`, retarrar — em vez de descobrir numa máquina que você não controla.

Como converter XZ para TAR

  1. Solte o seu arquivo XZ nesta página, ou clique para escolher um.
  2. Escolha TAR como destino e comece a conversão.
  3. Baixe o arquivo TAR pronto.

XZ ou TAR: o que muda

XZ comparado com TAR
XZTAR
Nome completoArquivo XZArquivo TAR
Extensão do arquivo.xz.tar
Tipo de mídiaapplication/x-xzapplication/x-tar
CompressãoSem perdas — nada é descartadoSem compressão
Publicado pela primeira vez20091979
EspecificaçãoPOSIX.1-2001 ustar
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAtual
Abre no navegadorNenhum navegadorNenhum navegador
Considerado no lugarGZ, BZ2, 7ZZIP, GZ

O que se mantém

Nada é descartado. XZ e TAR guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.

O que o formato de destino acrescenta

TAR é formato de trabalho e XZ é formato pronto. Volta texto editável em vez de uma imagem da página, o que costuma ser o motivo da conversão e também o seu limite.

Abrir o resultado

TAR comporta um diretório inteiro, enquanto XZ é um único fluxo comprimido. Nomes, pastas e datas ficam registrados em vez de sumirem num bloco só.

7-Zip e Keka leem tanto XZ quanto TAR, então dá para comparar o resultado com o original sem um segundo programa.

Tamanho e qualidade

TAR guarda as amostras cruas, então o arquivo cresce bastante sem ganhar nada. Só faz sentido quando um programa do outro lado não aceita XZ, que costuma ser o motivo.

Para que serve cada formato

TAR e de 1979, descrito em POSIX.1-2001 ustar. tar, 7-Zip e Keka leem o formato.

TAR foi publicado em 1979 e XZ em 2009. O mais antigo costuma ser o arquivo mais seguro para entregar; o mais novo faz o mesmo com menos bytes.

De XZ para TAR: perguntas frequentes

Meu arquivo XZ é enviado para algum lugar?

É: esta conversão precisa de um software que não roda num navegador. O arquivo viaja criptografado até o nosso servidor, é apagado assim que o trabalho termina e o resultado, depois de 60 minutos. O trabalho é feito por 7-Zip, o compactador, na sua forma de linha de comando.

Converter XZ para TAR é grátis?

É, até 100 conversões por dia para arquivos de até 25 MB. Esse único limite existe porque esta conversão roda num servidor que nós pagamos. No resto aqui não há nada limitado, e marca d’água não existe em caso nenhum. O limite existe porque 7-Zip precisa de uma máquina nossa para rodar.

Perde qualidade ao converter XZ para TAR?

Não. TAR guarda o mesmo conteúdo sem jogar nada fora: o resultado é idêntico em qualidade ao original. Os arquivos saem byte a byte iguais. O que não sobrevive é o que o contêiner sabia *sobre* eles e não o que havia *dentro* deles: uma senha e, em alguns formatos, as permissões e as datas originais.

Um arquivo TAR pode conter mais de um arquivo?

TAR comporta um diretório inteiro, enquanto XZ é um único fluxo comprimido. Nomes, pastas e datas ficam registrados em vez de sumirem num bloco só.

Por que o arquivo TAR é bem maior que o arquivo XZ?

TAR guarda as amostras cruas, então o arquivo cresce bastante sem ganhar nada. Só faz sentido quando um programa do outro lado não aceita XZ, que costuma ser o motivo.

A conversão de XZ para TAR é sem perda?

Nada é descartado. XZ e TAR guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.

Mais sobre esses formatos