Ao navegar em projetos de código aberto desenvolvidos principalmente para sistemas Linux e ao baixar os pacotes mais recentes, o código fonte é sempre armazenado em um arquivo .tar.gz ou .tar.bz2.
Existe alguma razão para usar .tar.gz ou .tar.bz2 em vez de algo como .zip ou .rar ou algum outro algoritmo de compactação (ou até deixá-lo descompactado se o projeto for pequeno o suficiente)?
open-source
history
packages
Joe Z.
fonte
fonte
tar
(isto é, Tape Archiver) já era um padrão de fato.ftp.gnu.org
, por exemplo. É sobre isso que toda a Internet se baseia. E, espero, todo mundo concorda que o ZIP é tecnologicamente inferior de qualquer maneira.Respostas:
Para responder à pergunta no cabeçalho: tar.gz / tar.bz2 tornou-se o padrão para a distribuição de código-fonte Linux há muito, muito, muito tempo atrás, como em mais de duas décadas, e provavelmente mais algumas. Significativamente antes mesmo do Linux existir.
De fato, alcatrão significa (t) macaco (ar) cebolinha. Pense carretel duro, e você terá uma idéia quantos anos ela tem. ba-dum-bump.
Antes que as pessoas tivessem gravadores de CD, distribuições de software eram lançadas em disquetes de 1,44 Mb. O arquivo tar compactado foi cortado em pedaços do tamanho de um disquete pelo
split
comando, e esses pedaços foram chamados tarballs . Você os juntaria novamentecat
e extrairia o arquivo.Para responder à outra pergunta de por que não Zip ou Rar, isso é fácil. O arquivador de alcatrão vem do Unix, enquanto os outros dois vêm do MS-DOS / Windows. O Tar lida com metadados de arquivos unix (permissões, horários, etc.), enquanto zip e rar não eram até muito recentemente (eles armazenavam dados de arquivos do MS-DOS). De fato, o zip demorou um pouco para começar a armazenar os metadados NTFS (fluxos alternativos, descritor de segurança, etc.) corretamente.
Muitos dos algoritmos de compactação no PKZip são de propriedade do fabricante original, eo último adicionado às versões do Dos / Windows foi o Deflate (RFC 1951), que teve um desempenho um pouco melhor que o Implode, o algo proprietário lá que produziu a melhor compactação geral . Gzip usa o algoritmo Deflate.
O algoritmo de compactação RAR é proprietário, mas há uma implementação de código aberto gratuita do descompactador. Os lançamentos oficiais do RAR e WinRAR do RARlab não são gratuitos .
O Gzip usa o algoritmo deflate e, portanto, não é pior que o PKZip. O Bzip2 obtém taxas de compressão um pouco melhores.
Versão TL; DR:
tar.gz e tar.bz2 são do Unix, então as pessoas do Unix os usam. Zip e Rar são do mundo DOS / Windows, então os usuários do DOS / Windows os usam.
tar
tem sido o padrão para agrupar arquivos de material no * nix por várias décadas.fonte
Não sei quando, mas imagino que a razão pela qual é usada seja uma combinação de: tar sendo tradicional (é muito antigo); gerenciamento fácil a partir de uma linha de comando; tar preservando informações do sistema de arquivos que ZIP ou RAR podem não; e o processo de duas passagens significa que a compactação é mais eficiente (um arquivo grande compactando melhor do que muitos arquivos pequenos).
O bzip2 (.bz2) parece estar substituindo o gzip (.gz), pois fornece melhor compactação, da mesma maneira que o próprio gzip substituiu a compactação anterior (.Z).
fonte
Em essência, arquivar e compactar são duas operações diferentes. O tar.gz mostra claramente a intenção: um arquivo compactado, enquanto um arquivo .zip ou .rar mostra apenas algumas coisas compactadas.
fonte
tar
é tradicional no unix, combina arquivos, mas não os compacta necessariamente. A compactação com .g ou .bz ou .b2 é igualmente fácil.Zip
erar
são propriedade e mais comuns no mundo Windowsfonte
É tradicional, onipresente e funciona. Além disso, eu pensei que era um pouco aparente.
Atualizar
Minhas desculpas, esqueço que a maioria das pessoas não sabe o que eu sei ou tenho experiência como administrador em ambientes heterogêneos.
Tradição como em um costume ou prática arraigada ao longo do tempo. Sabemos que ele tem base na história porque o tar deriva do Tape ARchive que faz referência à antiga tecnologia de backup em fita. Ele tem uma longa história nos vários sistemas operacionais Unix que datam de 1979 na 7ª edição do Unix, onde substituiu o tp. Os sistemas Linux geralmente são uma amálgama do software Linux Kernel e GNU do qual o GNU tar faz parte. Todo esse histórico de alcatrão significa que a maioria das pessoas técnicas experientes sabe como usá-lo sem precisar se referir à documentação, porque ela está enraizada. Para usuários mais novos, há muita documentação, porque o software existe há tanto tempo.
Onipresente como em aparecer ou ser encontrado em toda parte. Um uso indevido aceito é onde a aparência não é universal, mas em uma porcentagem grande o suficiente da população para ser aceita como onipresente. 7ª Edição Unix é o ancestral dos maiores versões de Unix, incluindo Sun OS / Solaris, AIX, HPUX, AIX, BSD, etc . Há também um alto grau de compatibilidade cruzada nas diferentes implementações do tar no unix . Desde que o MacOS (desde o OS 10) foi baseado no BSD, ele também possui alcatrão. O Linux usa o software GNU, que inclui o GNU Tar, para que o tar esteja disponível em todos os tipos de Linux. E, embora não esteja disponível como um componente interno, existem muitas implementações de tar disponíveis no Windows, incluindo o GNU Tar através do cygwin e nativamente. O GNU Tar, em particular, está disponível na maioria dos Unices e Windows, tornando-o a melhor opção para migrações de arquivos entre sistemas operacionais.
Funciona como em funcionamento há muito tempo sem grandes modificações. Está disponível nas principais plataformas prontas para uso (exceto no Windows, onde está disponível como software adicional). O formato também é suportado em todas as principais plataformas, o que facilita o intercâmbio entre plataformas. Além de ainda ser usado como uma maneira de criar arquivos facilmente portáteis, o tar-pipe é um idioma padrão do Unix para copiar árvores de diretório, especialmente em ambientes heterogêneos. Em suma, ele existe e ainda é muito usado, porque faz o que faz bem.
fonte