No Linux / Unix, importa .tar.gz versus .zip?

57

Os programas multiplataforma são às vezes distribuídos como .tar.gz para a versão Unix e .zip para a versão Windows. Isso faz sentido quando o conteúdo de cada um deve ser diferente.

Se, no entanto, o conteúdo for o mesmo, seria mais simples ter apenas um download. O Windows prefere .zip, porque esse é o formato que ele pode manipular fora da caixa. Isso importa no Unix? Ou seja, eu tentei hoje descompactar um arquivo no Ubuntu Linux, e funcionou bem; Existe algum problema com isso em qualquer sistema operacional semelhante ao Unix atual, ou não há problema em apenas fornecer um arquivo .zip através da placa?

    
por rwallace 29.05.2010 / 20:59

7 respostas

21

Necromancing.
Sim, isso importa.
Na verdade, isso depende.

tar.gz

  • Armazena os atributos do arquivo unix : uid, gid, permissions (mais notavelmente executável). O padrão pode depender da sua distribuição e pode ser alternado com opções.
  • Consolida todos os arquivos a serem arquivados em um arquivo ("Tape ARchive").
  • A compactação real é feita pelo GZIP, no arquivo .tar

zip

  • Armazena os atributos do MSDOS . (Arquivo, Somente Leitura, Oculto, Sistema)
  • Comprime cada arquivo individualmente e, em seguida, consolida os arquivos compactados individualmente em um arquivo
  • Inclui uma tabela de arquivos no final do arquivo

Como o zip compacta os arquivos individualmente, um arquivo zip provavelmente terá um tamanho maior (especialmente com muitos arquivos menores - pense em arquivos de configuração).

Então, veja, aparte do tamanho do arquivo, se você compactar um monte de arquivos no Linux / Unix, e depois descompactá-los, os atributos de arquivo desaparecerão (no mínimo aqueles não suportados pelo MS-DOS - depende em qual software ZIP você usa). Isso pode ser importante ou não, e nesse caso não importa (porque a diferença de tamanho de arquivo é, na maioria dos casos, desprezível).

    
por 09.10.2017 / 09:40
32

tar gz é melhor para Linux / Unix, pois retém permissões, como "executável" em scripts.

    
por 22.11.2012 / 12:35
30

As distribuições Linux mais populares atualmente são equipadas com compatibilidade zip . Mas, como afirmado pelo nc3b, tar e gzip são mais comuns em sistemas Linux / Unix. Se você precisar de 95% de compatibilidade nesses sistemas, considere usar tar e gzip . Se você precisa apenas de 85%, zip vai fazer bem.

    
por 29.05.2010 / 21:07
18
O

tar / gzip é um formato muito ruim, já que o arquivo não pode ser acessado, atualizado, verificado ou até mesmo anexado aleatoriamente ... sem ter que descompactar todo o arquivo.

zip é muito melhor a esse respeito .... você pode obter rapidamente o conteúdo de um arquivo zip, anexá-lo sem recomprimir a primeira parte, etc.

O

zip tem algumas limitações de tamanho ... dependendo da versão do "zip" que você usa ... e isso pode ser um problema. mas a ferramenta padrão de info-zip que vem com a maioria dos oss do tipo linux não tem limitações de tamanho e preserva muito bem as permissões de arquivo.

veja: link para recursos

    
por 15.11.2011 / 18:28
9

Barebones As instalações do Unix não contêm unzip (por exemplo, instalações do servidor), mas elas sempre contêm tar e gzip . Se o seu público for servidores, eu escolheria gzip .

O gzip tem maior compactação que zip , então o arquivo será menor.

    
por 29.05.2010 / 21:15
3

Sim, é importante. Tar é arquivista. E em tar.gz, compactamos esse arquivo.

O Zip é tanto um compactador quanto um compressor.

Se você comparar a compactação, pela minha experiência, o gzip é muito melhor que o zip.

E a outra diferença significativa é mencionada em outra resposta . Se você tem um arquivo muito grande e deseja extrair um arquivo pequeno, o Zip permite que você faça isso. Mas com tar.gz, você precisa extrair todo o arquivo.

    
por 31.07.2014 / 16:38
1

tar e gzip são muito mais comuns em * nix-es do que unzip . Por exemplo, no momento em meu arco-2009.08 não há unzip .

    
por 29.05.2010 / 21:04

Tags