Cookies para estatística e publicidade
Usamos cookies de estatística e de publicidade, ambos enviados ao Google. Recusar não muda nada do que você vê.Ler a página de privacidade
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.
Até 100 arquivos de uma vez. Formatos misturados não são problema.
Eles são convertidos um após o outro e baixados juntos em um ZIP.
XZ para TAR
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.
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.
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.
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.
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.
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.
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.
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.
`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.
| XZ | TAR | |
|---|---|---|
| Nome completo | Arquivo XZ | Arquivo TAR |
| Extensão do arquivo | .xz | .tar |
| Tipo de mídia | application/x-xz | application/x-tar |
| Compressão | Sem perdas — nada é descartado | Sem compressão |
| Publicado pela primeira vez | 2009 | 1979 |
| Especificação | — | POSIX.1-2001 ustar |
| Licença | Padrão aberto | Padrão aberto |
| Situação hoje | Atual | Atual |
| Abre no navegador | Nenhum navegador | Nenhum navegador |
| Considerado no lugar | GZ, BZ2, 7Z | ZIP, GZ |
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.
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.
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.
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.
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.
É: 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.
É, 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.
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.
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ó.
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.
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.