Em geral, observei o seguinte:
- Os arquivos ou ferramentas do Linux-y usam bzip2 ou gzip para distribuir arquivos
- Os arquivos ou ferramentas do Windows-y usam ZIP para distribuir arquivos
- Muitas pessoas usam o 7-Zip para criar e distribuir seus próprios arquivos
Questões:
- Quais são as vantagens e desvantagens desses formatos, que parecem ser formatos abertos? Quando / por que devo escolher um (por exemplo, 7-Zip) em vez de outro (por exemplo, ZIP)?
- Por que a tendência acima parece se manter, apesar de todos serem formatos portáteis? Há vantagens específicas em usar um formato de arquivo específico em uma plataforma específica?
Respostas:
Há uma grande variedade de formatos e métodos de compactação disponíveis, alguns não são compactados e são projetados para armazenar vários arquivos em um arquivo e outros compressores experimentais mais recentes ( baseados no PAQ ) são projetados para compactar o mais agressivamente possível, independentemente do tempo necessário para executar a operação.
Você precisa avaliar os recursos necessários na escolha do método de compactação e também considerar o contexto em que ele será usado.
Diferentes recursos e considerações incluem:
Em geral, o ZIP é o formato mais onipresente, mas tamanhos acima de 4 GB geralmente não são suportados (se houver), o suporte à segurança geralmente é considerado ruim (a senha padrão pode ser comprometida com um ataque de texto sem formatação e criptografia adicional é geralmente implementado como um derivado não oficial do formato pelos fornecedores comerciais de software ZIP).
Além disso, a maioria dos outros formatos populares terá algum tipo de suporte em todos os sistemas operacionais, instalando mais software.
Minha escolha pessoal é o 7-Zip , pois possui compactação excelente e flexível; apesar de ter uma interface de usuário peculiar no Windows. Existem descompressores para Linux e Mac OS X (embora não sejam baseados em GUI como padrão).
fonte
Uma coisa que vem à mente é uma postagem no blog (de dois anos) de Jeff Atwood: Compactação de arquivos na era de vários núcleos . Nesse artigo, ele descobre que o bzip2 supera o 7-zip ao executar mais de dois núcleos.
fonte
Para sua primeira pergunta, o 7-Zip é um arquivador que pode usar muitos algoritmos para compactar e descomprimir dados.
Para sua segunda pergunta, verifique se a plataforma suporta ferramentas compatíveis com o formato fornecido. Por exemplo, eu evitaria usar o RAR em um Mac. Embora seja possível usar e existam utilitários gratuitos que o suportam, eles não possuem a interface muito mais rica que os utilitários do Windows que oferecem suporte ao RAR (na minha experiência).
fonte
Como outros já mencionaram, a escolha de um formato de compactação específico depende muito do uso e do público-alvo.
Os arquivos .tar.gz e tar.bz2 são ideais para uso em sistemas Linux (e por extensão para compartilhar arquivos com usuários do Linux) porque as ferramentas tar, gzip e bzip2 são onipresentes na plataforma e porque o formato .tar está cheio suporte para permissões Unix e outras propriedades específicas da plataforma. A escolha entre gzip e bzip2 para compactar o arquivo tar é principalmente uma decisão sobre velocidade versus taxa de compactação, com o bzip2 entregando arquivos menores, mas com uma velocidade de compactação muito mais lenta. As desvantagens desses formatos incluem menos compatibilidade com o Windows e a (potencial) necessidade de descompactar todo o arquivo morto para extrair um único arquivo.
Os arquivos ZIP podem ser extraídos na maioria das plataformas usando ferramentas nativas; portanto, é a opção ideal para enviar um arquivo para um usuário não técnico que não se sentiria à vontade com a instalação de software de arquivo de terceiros, como o 7-Zip. O nível de compactação não é tão bom quanto os algoritmos mais avançados e não suporta permissões Unix, mas é um excelente formato se você quiser enviar um arquivo de fotos de férias para sua avó, por exemplo. O ZIP também fornece proteção básica por senha e pode extrair rapidamente um arquivo de qualquer lugar do arquivo morto.
O 7-Zip é bom se você deseja as melhores taxas de compactação possíveis. Como o ZIP, ele não suporta permissões ou propriedade de arquivos Unix e também não é instalado por padrão na maioria das plataformas, o que torna um pouco mais trabalhoso de usar, mas pode valer a pena no Windows se os ganhos da taxa de compactação forem importantes. Em um ambiente totalmente Linux, seria melhor usar as ferramentas de compactação 'xz' ou 'lzma' junto com o tar, que operam exatamente da mesma maneira que 'gzip' e 'bzip2', mas usam o algoritmo LZMA mais avançado, como 7 -Fecho eclair.
fonte
Apenas como exemplo, eu uso os formatos mencionados nesses casos:
Evito completamente o RAR e sempre que recebo o arquivo RAR de alguém que conheço, digo para ele parar de usar esse formato, pois é apropriado e que provavelmente ele / ela está usando software não licenciado (a maioria das pessoas baixa a versão de avaliação do WinRAR e continua usando para sempre).
PS: Eu corro o Ubuntu (principalmente) e o Windows (inicialização dupla e VirtualBox).
fonte
Há pelo menos quatro trabalhos separados que geralmente são confundidos porque as ferramentas populares os integram:
A onipresença de .tar.gz e .tar.bz corresponde à filosofia Unix de pequenas ferramentas executando bem um único trabalho, em vez de uma única ferramenta que faz tudo. O formato do arquivo TAR não suporta compactação ou criptografia, mas pode ser compactado ainda mais por qualquer compressor (inclusive como .tar.zip ou .tar.7z). O trabalho do GZip e BZip2 é simplesmente comprimir um fluxo de arquivos para outro fluxo de arquivos; a camada de compressão não precisa se preocupar em preservar os metadados, a criptografia ou a soma de verificação. Com o tempo, porém, vários atalhos foram feitos no
tar
programa para trabalhar com um compressor de forma mais conveniente.Nos formatos zip e 7z, esses trabalhos separados são executados por um único programa em um único formato de super super arquivo.
Como tem sido assim, os códigos-fonte do programa são tradicionalmente distribuídos como .tar.gz ou .tar.bz2, porque preservar permissões de arquivo, tempo de modificação etc. são importantes para várias ferramentas usadas na programação (por exemplo, make).
A etapa separada de arquivamento e compactação funcionou muito bem por anos, possui uma clara vantagem de poder misturar e combinar livremente arquivamento e compactação, e sua desvantagem (um processo de compactação em duas etapas) pode ser facilmente contornada através do desenvolvimento de ferramentas mais inteligentes ( o programa de compactação linux mais moderno será compactado diretamente para .tar.gz ou .tar.bz2, ocultando a etapa intermediária).
Não há motivos fortes para mudar para outros formatos de arquivo, os compressores mais novos não têm uma taxa de compressão significativamente melhor para justificar a quebra da tradição e o alcatrão pode preservar tudo o suficiente.
fonte