Use tar vs bzip2 para criar um arquivo .tar.bz2?

6

Acabei de ler que tar pode criar .tar.bz2 arquivos. Todo esse tempo, eu estava usando tar + bzip2 para fazer isso.

Eu queria saber se havia uma diferença entre usar tar para criar o arquivo versus usar bzip2 ?

Além disso, por que tem duas coisas que fazem a mesma coisa?

Obrigado!

    
por Jeffrey Jose 17.04.2012 / 20:53

3 respostas

7

O GNU tar suporta a opção --bzip2, que permite transmitir o arquivo tar através do bzip2 antes de gravar o arquivo resultante no disco. Toda a compactação de tar suportada por opções de linha de comando opera em partes de dados em fluxo, o que não importa muito no caso médio, mas a compactação externa pode oferecer uma melhor compactação mesmo com o mesmo algoritmo.

Por exemplo, o uso de --bzip2 usa um nível de compactação predefinido, enquanto a execução do bzip2 em um tarball descompactado oferece a oportunidade de ajustar vários parâmetros de compactação e talvez obter uma compactação mais precisa. Além disso, as operações que podem usar o tarball inteiro para entrada podem aproveitar as oportunidades de compactação além dos blocos de tamanho padrão disponíveis por meio de streaming. Um bom exemplo seria lrzip , que pode tirar proveito de redundâncias em todo o arquivo TAR, em vez de apenas redundâncias no bloco de dados atual.

A menos que o espaço seja um prêmio extremo, geralmente é melhor usar as opções de compactação incorporadas para simplificar. As opções integradas fornecem um alto nível de conveniência e uma compensação razoável entre velocidade e compactação. No entanto, sua milhagem pode variar definitivamente.

    
por 17.04.2012 / 22:04
4

I was wondering if there was a difference between using tar to create the archive vs using bzip2?

O Bzip2 é uma ferramenta de compressão ... e muito boa.

tar é uma ferramenta de arquivamento (armazenamento) ... talvez a mais bem-sucedida e robusta.

Also, why have 2 things which does the same thing?

O tar alcatrão o bzip e acho que até o zip original.

Eles só fazem a "mesma coisa" em alguns casos limitados.

Talvez você não esteja entendendo completamente o que é o tar?

O Tar é para arquivar (o Tape Archiver) faz muito mais do que compactar uma série de arquivos.

<quote man page>
DESCRIPTION
     Tar stores and extracts files from a tape or disk archive.
 </quote>

Assim, você pode adicionar, extrair, subtrair, atualizar o conteúdo do arquivo. (sem desempacotá-lo em muitos casos)

É uma ferramenta clássica que evoluiu no passado heróico distante, quando 64K era muita memória e o armazenamento baseado em streaming (caractere por personagem) era uma norma. (como fitas magnéticas).

O tar pode fazer coisas como instruir algum operador (nominalmente humano) a alterar as fitas ou colocar o spool para frente / para trás no intervalo e localização corretos em muitos "fita" de medição.

Toda essa funcionalidade ainda é útil, mesmo que o hardware real tenha desaparecido há muito tempo, os conceitos ainda são usados. Especialmente no mundo de backup.

Geralmente ele conhece a estrutura e o estado de um sistema de arquivos arquivado e pode alterá-lo ou lê-lo mais ou menos como um sistema de arquivos real ao vivo. (o que é claro, mas é comprimido, gravado / registrado e esquivado em algum lugar)

rsync tem algumas (muitas) funcionalidades, mas com algoritmos inteligentes em torno de diffs.

veja também pax.

O Bzip é uma ferramenta brilhante e em a maioria dos casos pode comprimir mais do que o zip / gzip.

É eficiente e bastante robusto, como uma ferramenta de compressão de propósito geral. O foco é a compactação.

Com o passar do tempo, os arquivos compactados passaram a ser chamados de arquivos, como algo que a maioria deles tem em comum.

Ah e finalmente o tar também possui uma compactação básica (não rolável) nativa. Você usa a opção -z ou -j para optar por usar esse algoritmo de compactação específico. (hmm ou talvez também?)

acesse as páginas man no gzip tar bzip2 pax rsync:)

apenas percorrer os documentos tar deve dar-lhe a ideia.

    
por 18.04.2012 / 01:13
-1

tar cf - diretório do arquivo de arquivos dir cat list | comprimir > file.tar.Z compress -d file.tar.Z | tar tvf -

você pode substituir compactar com gzip, bzip2, lzop de sua escolha.

substitua v por x no último comando para extrair arquivos durante a listagem.

    
por 17.04.2012 / 22:36

Tags