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
BZ2
Comprime melhor que GZ e demora bem mais para fazer isso.
BZ2
BZ2 é um formato de fluxo, escrito e lido do começo ao fim. Ele é usado para o arquivamento.
A extensão é .bz2 e o nome por extenso é Bzip2 Archive. Os dois importam menos do que aquilo que o arquivo consegue carregar, e é disso que trata o resto desta página.
Ele remonta a 1996.
A um formato que se manteve legível por tanto tempo dá para confiar algo que você quer de volta daqui a dez anos.
Ela está publicada por inteiro, então dá para implementá-la a partir do documento em vez de por observação — é por isso que o formato aparece em tantos programas e por isso que arquivos escritos há vinte anos ainda abrem. Especificação publicada não é o mesmo que livre de royalties: quando o formato embrulha um codec, o licenciamento das patentes é uma questão à parte, que a norma não resolve.
Ele ainda abre em todo lugar e programas antigos ainda o escrevem, mas nada de novo está sendo construído em volta. Converta o que quiser guardar e não o escolha para algo que começa hoje.
BZ2 guarda o conteúdo exatamente. Salvar de novo não muda nada, então dá para abrir, editar e salvar quantas vezes você quiser sem acumular estrago — e é isso que faz dele um formato de trabalho e não de entrega.
BZ2 comprime um único fluxo e não faz ideia do que seja um nome de arquivo ou uma pasta. É por isso que ele aparece tantas vezes ao lado do TAR, que fornece a estrutura que falta.
Ele trabalha com 900 KB de cada vez: é dentro desse intervalo que uma repetição precisa caber para poder ser comprimida.
Esse único número explica a maior parte da diferença entre um formato de arquivamento e outro. Um intervalo maior encontra mais repetição e leva mais tempo e mais memória para isso — a troca é toda essa.
BZ2 traz uma soma de verificação, para que um arquivo danificado seja detectado em vez de lido errado em silêncio.
Consertar, uma soma de verificação não conserta nada. Ela diz que o arquivo está errado — essa é a diferença entre descobrir agora e descobrir por quem recebeu.
bzip2, 7-Zip e Keka leem esse formato, e a maioria dos programas do mesmo tipo também.
Quando um arquivo não abre, o formato raramente é o problema — mais comum é o programa ser mais antigo que ele. Converter para algo mais antigo é o caminho confiável, e é para isso que serve o resto deste site.
Nenhum navegador lê o formato.
Esse é de longe o motivo mais comum para convertê-lo: não que o formato seja ruim, mas que o lugar onde você quer mostrar o arquivo não consegue lê-lo.
BZ2 foi feito para ser entregue, não para se trabalhar dentro dele. Editar um é possível e raramente agradável; o caminho sensato passa pelo original e por uma nova exportação.
As reclamações que se repetem: ele guarda um único fluxo e não sabe descrever uma pasta.
Nada disso é motivo para evitar o formato. São as coisas que vale conhecer antes que uma delas te pegue de surpresa, o que é uma afirmação diferente e mais útil.
O bzip2 chegou em 1996 comprimindo visivelmente melhor que o gzip, e por cerca de uma década `.tar.bz2` era a escolha intermediária sensata para lançamentos de código-fonte. Esse período acabou. O xz comprime mais forte, o zstd é mais rápido em taxas parecidas, e os dois descomprimem mais rápido que o bzip2.
Então um `.bz2` que você encontra hoje quase sempre é antigo — um lançamento arquivado, um banco de dados publicado anos atrás, um backup de um sistema cujos padrões foram definidos em 2008. Não existe argumento vivo para criar novos, e a pergunta útil é como abrir o que você tem.
Todo outro compressor daqui — gzip, xz, 7z, zip — olha para trás em busca de sequências repetidas. O bzip2 faz algo diferente: a transformada de Burrows-Wheeler reorganiza um bloco de dado para que caracteres parecidos fiquem adjacentes, depois um codificador simples explora as sequências que isso cria.
A transformada é reversível, o que é a parte surpreendente — a reorganização pode ser desfeita exatamente. É uma abordagem elegante e explica as características do formato: boas taxas em texto, descompressão lenta porque a transformada precisa ser revertida, e um custo de memória proporcional ao tamanho do bloco, não ao arquivo.
O bzip2 trabalha em blocos independentes, por padrão de 900 KB cada. Todo bloco comprime e descomprime sozinho, sem referência aos vizinhos.
Isso dá a ele uma propriedade que nada aqui tem: se parte de um arquivo se corrompe, os blocos intactos continuam legíveis, e uma ferramenta de recuperação consegue extrair eles. No gzip ou xz, dano no início do fluxo geralmente custa tudo depois dele. Para um arquivo antigo numa mídia falhando, isso é uma vantagem real e ocasionalmente decisiva.
Como os blocos são independentes, podem ser comprimidos e descomprimidos em núcleos de processador separados ao mesmo tempo. Ferramentas exploram isso e produzem arquivos que o bzip2 comum ainda lê.
Numa máquina com oito núcleos, isso transforma o pior aspecto do bzip2 em algo tolerável. É o principal motivo do formato ter sobrevivido tanto tempo em computação científica e pipelines de dados, onde arquivos são grandes e núcleos são abundantes.
O bzip2 comprime exatamente um fluxo. Não tem diretório, nome de arquivo, noção de vários arquivos — a mesma forma do gzip e do xz. É por isso que `.tar.bz2` é a forma normal: o tar empacota a árvore num fluxo, e o bzip2 comprime esse fluxo.
Descomprimir um `.bz2` puro devolve exatamente um arquivo. Se você esperava uma pasta, o arquivo que você queria é o `.tar` dentro, e a maioria das ferramentas apresenta as duas etapas como uma.
Em texto e código-fonte típico, o bzip2 fica aproximadamente um quarto menor que o gzip, e dentro de poucos pontos percentuais do xz nesse tipo de entrada. A compressão é várias vezes mais lenta que o gzip; a descompressão é ainda mais lenta, o que é a característica que o tirou de circulação.
Esse último ponto é o que torna o formato pouco atraente em vez de apenas superado. Um arquivo é comprimido uma vez e descomprimido muitas, então um formato lento para ler paga seu custo repetidamente. O xz é lento para escrever e rápido para ler, o jeito certo de ser.
O bzip2 original passou anos sem lançamento, e em 2019 uma escrita fora dos limites foi encontrada no descompressor, presente havia muito tempo. A manutenção foi retomada desde então e o problema está corrigido em toda versão atual.
Vale saber isso como contexto, não como aviso sobre seus arquivos: um `.bz2` é dado, não código, e abrir um com software atualizado não tem nada de especial. O episódio é parte do motivo das distribuições terem seguido em frente, junto com a velocidade.
Lançamentos de código-fonte Linux mais antigos e pacotes de distribuição arquivados. Bancos de dados científicos e genômicos, onde as ferramentas paralelas por bloco tornaram isso prático. Sistemas de backup configurados há uma década. Despejos de banco de dados da Wikipedia, historicamente.
O padrão é publicação, não troca: arquivos escritos uma vez, baixados por muitos, e nunca revisitados. Ninguém manda um `.bz2` para um colega hoje.
Todo sistema Linux e macOS lida com bzip2 pela linha de comando, e o 7-Zip lê sem dificuldade no Windows. Descomprimir um `.tar.bz2` são duas etapas que a maioria das ferramentas apresenta como uma.
Se o conteúdo vai adiante para uma pessoa, reempacote como ZIP — é o que o computador dela abre sem ajuda. Se vai voltar para um sistema Unix, reempacote como `.tar.gz` ou `.tar.xz`, que preservam permissão e link simbólico que o tar carregava e que o ZIP descarta. Recriar um `.bz2` é a única opção sem nada a recomendar.
| Extensão | .bz2 |
|---|---|
| Tipo de mídia | application/x-bzip2 |
| Primeira publicação | 1996 |