En général, j'ai observé ce qui suit:
- Les fichiers ou outils Linux-y utilisent bzip2 ou gzip pour distribuer des archives
- Les fichiers ou outils Windows-y utilisent ZIP pour distribuer des archives
- Beaucoup de gens utilisent 7-Zip pour créer et distribuer leurs propres archives
Des questions:
- Quels sont les avantages et les inconvénients de ces formats, qui semblent tous être des formats ouverts? Quand / pourquoi devrais-je en choisir un (disons, 7-Zip) plutôt qu'un autre (disons, ZIP)?
- Pourquoi la tendance ci-dessus semble-t-elle se maintenir, même si tous ces formats sont portables? Y a-t-il des avantages particuliers à utiliser un format d'archive particulier sur une plate-forme particulière?
Réponses:
Il existe une grande variété de formats et de méthodes de compression disponibles, certains ne compressent pas du tout et sont conçus pour stocker un certain nombre de fichiers dans une archive, et d'autres compresseurs expérimentaux plus récents ( basés sur PAQ ) sont conçus pour compresser aussi agressivement que possible, quel que soit le temps nécessaire pour effectuer ladite opération.
Vous devez évaluer les fonctionnalités dont vous avez besoin à partir de votre choix de méthode de compression et également tenir compte du contexte dans lequel il sera utilisé.
Différentes caractéristiques et considérations incluent:
En règle générale, ZIP est le format le plus omniprésent, mais les tailles supérieures à 4 Go ne sont généralement pas prises en charge (le cas échéant), la prise en charge de la sécurité est généralement considérée comme médiocre (le mot de passe standard peut être compromis avec une attaque en texte brut et un chiffrement supplémentaire est généralement implémenté comme un dérivé non officiel du format par les éditeurs de logiciels ZIP commerciaux).
En dehors de cela, la plupart des autres formats populaires auront une forme de prise en charge sur tous les systèmes d'exploitation en installant plus de logiciels.
Mon choix personnel est 7-Zip , car il a une compression excellente et flexible; bien qu'il ait une interface utilisateur particulière sur Windows. Il existe des décompresseurs pour Linux et Mac OS X (bien qu'ils ne soient pas basés sur une interface graphique standard).
la source
Une chose qui me vient à l'esprit est un article de blog (âgé de deux ans) de Jeff Atwood: File Compression in the Multi-Core Era . Dans cet article, il constate que bzip2 surpasse 7-zip lors de l'exécution de plus de deux cœurs.
la source
Pour votre première question, 7-Zip est un archiveur qui peut utiliser de nombreux algorithmes pour compresser et décompresser des données.
Pour votre deuxième question, assurez-vous simplement que la plate-forme prend en charge les outils qui prennent en charge le format donné. Par exemple, j'éviterais d' utiliser RAR sur un Mac. Bien qu'il soit possible d'utiliser, et qu'il existe des utilitaires gratuits qui le prennent en charge, ils n'ont pas l'interface beaucoup plus riche que les utilitaires Windows qui prennent en charge RAR (selon mon expérience).
la source
Comme d'autres l'ont mentionné, le choix d'un format de compression particulier dépend fortement de l'utilisation et du public visé.
Les archives .tar.gz et tar.bz2 sont idéales pour une utilisation sur les systèmes Linux (et par extension pour partager des fichiers avec des utilisateurs Linux) car les outils tar, gzip et bzip2 sont largement omniprésents sur la plate-forme et parce que le format .tar est complet prise en charge des autorisations Unix et d'autres propriétés spécifiques à la plate-forme. Le choix entre gzip et bzip2 pour compresser l'archive tar est principalement une décision concernant la vitesse par rapport au taux de compression, bzip2 fournissant des fichiers plus petits mais avec une vitesse de compression beaucoup plus lente. Les inconvénients de ces formats incluent une moindre compatibilité avec Windows et le besoin (potentiel) de décompresser l'archive entière pour extraire un seul fichier.
Les archives ZIP peuvent être extraites sur la plupart des plates-formes à l'aide d'outils natifs, c'est donc un choix idéal pour envoyer une archive à un utilisateur non technique qui ne serait pas à l'aise avec l'installation d'un logiciel d'archivage tiers tel que 7-Zip. Le niveau de compression n'est pas aussi bon que des algorithmes plus avancés et il ne prend pas en charge les autorisations Unix, mais c'est un excellent format si vous souhaitez envoyer une archive de photos de vacances à votre grand-mère, par exemple. ZIP fournit également une protection de base par mot de passe et peut rapidement extraire un fichier de n'importe où dans l'archive.
7-Zip est bon si vous voulez les meilleurs taux de compression possibles. Comme ZIP, il ne prend pas en charge les autorisations ou la propriété des fichiers Unix, et n'est pas non plus installé par défaut sur la plupart des plates-formes, ce qui le rend légèrement plus pratique à utiliser, mais cela peut valoir la peine sous Windows si les gains de taux de compression sont importants. Dans un environnement tout Linux, il serait préférable d'utiliser les outils de compression 'xz' ou 'lzma' avec tar, qui fonctionnent exactement de la même manière que 'gzip' et 'bzip2' mais utilisent l'algorithme LZMA plus avancé comme 7 -Zip *: français.
la source
À titre d'exemple, j'utilise les formats mentionnés dans ces cas:
J'évite complètement RAR et chaque fois que je reçois un fichier RAR de quelqu'un que je connais, je lui dis d'arrêter d'utiliser ce format car il est propriétaire, et qu'il utilise probablement un logiciel sans licence (la plupart des gens téléchargent la version d'essai de WinRAR et continuent à utiliser pour toujours).
PS: je lance Ubuntu (principalement) et Windows (à la fois double démarrage et VirtualBox).
la source
Il existe au moins quatre emplois distincts qui sont souvent confondus car les outils populaires les intègrent:
L'omniprésence de .tar.gz et .tar.bz correspond à la philosophie Unix de petits outils qui font bien un seul travail, sur un seul outil qui fait tout. Le format de fichier TAR ne prend pas en charge la compression ou le chiffrement, mais il peut être compressé davantage par n'importe quel compresseur (y compris en tant que .tar.zip ou .tar.7z). Le travail de GZip et BZip2 consiste simplement à compresser un flux de fichiers vers un autre flux de fichiers, la couche de compression n'a pas besoin de savoir comment conserver les métadonnées ou le chiffrement ou la somme de contrôle. Au fil du temps cependant, plusieurs raccourcis ont été créés
tar
pour fonctionner plus facilement avec un compresseur.Au format zip et 7z, ces tâches distinctes sont effectuées par un seul programme dans un seul super format de fichier.
Parce que c'est ainsi que les choses ont été faites, les codes source du programme sont traditionnellement distribués sous la forme .tar.gz ou .tar.bz2, car la préservation des autorisations sur les fichiers, le temps de modification, etc. sont importants pour divers outils utilisés pour la programmation (par exemple, make).
L'étape distincte d'archivage et de compression a très bien fonctionné pendant des années, elle a clairement l'avantage de pouvoir mélanger et assortir librement l'archivage et la compression, et son inconvénient (un processus de compression en 2 étapes) peut être facilement contourné en développant des outils plus intelligents ( le programme de compression linux le plus moderne se compressera directement en .tar.gz ou .tar.bz2, masquant l'étape intermédiaire).
Il n'y a aucune raison valable de passer à d'autres formats de fichiers, les compresseurs plus récents n'ont pas un taux de compression significativement meilleur pour justifier la rupture de la tradition et le tar peut tout bien conserver.
la source