Cookies de statistiques et de publicité
Nous utilisons des cookies de statistiques et de publicité, tous deux destinés à Google. Si vous refusez, rien ne change visiblement pour vous.Aller à la page de confidentialité
Vous pouvez convertir TAR en BZ2 gratuitement et sans compte : déposez le fichier ci-dessus et, une ou deux secondes plus tard, le résultat est prêt à télécharger. Le fichier part chiffré vers notre serveur, y est converti, puis supprimé dès la fin du travail.
Jusqu’à 100 fichiers à la fois. Les formats mélangés ne posent pas de problème.
Ils sont convertis les uns après les autres et reviennent ensemble dans un ZIP.
TAR en BZ2
Presque tous les gens qui arrivent ici s’en sont fait la remarque. Une recette de paquet liste `.tar.bz2` dans ses sources et calcule une empreinte dessus. Le processus de release d’un projet produit cette extension depuis 2006 et la page de téléchargement, les miroirs et les scripts de build tiers pointent tous dessus. Un dépôt universitaire ou gouvernemental spécifie le format dans une checklist de soumission. L’outillage d’upload d’une vieille distribution l’accepte et rien de plus récent.
Aucune de ces situations ne va changer pour une archive, et aucune n’a tort de résister au changement — un nom d’artefact fait partie d’un contrat sur lequel d’autres personnes ont construit. Cela en fait une conversion de conformité, et elle mérite d’être posée comme telle plutôt que déguisée en optimisation. Si vous choisissez librement et que rien en aval n’y tient, la recommandation honnête sur cette page est de la fermer et de prendre gzip pour la vitesse ou XZ pour la taille.
Bzip2, depuis 1996, fait quelque chose de structurellement différent de ses deux voisins. Il découpe l’entrée en blocs d’au plus 900 Ko et applique à chacun une transformée de Burrows-Wheeler, qui réordonne les octets pour que des contextes identiques finissent adjacents. Un passage move-to-front puis un codage de Huffman compressent ensuite les suites obtenues. Ce n’est pas du tout un compresseur à fenêtre glissante.
Le registre enregistre la fenêtre à 900 Ko, et c’est la comparaison honnête avec les 32 Ko de gzip : à l’intérieur d’un bloc, bzip2 voit bien plus de contexte que gzip ne pourra jamais en voir, ce qui explique pourquoi il gagne sur du texte. C’est aussi la comparaison honnête avec le dictionnaire de 64 Mo de XZ, sur lequel bzip2 perd — un bloc de 900 Ko ne peut pas remarquer qu’un fichier au début de l’archive ressemble à un fichier à la fin. Bzip2 se place exactement entre les deux, et être au milieu est la raison pour laquelle il a été mis à l’écart.
La compression est lente parce que le tri est coûteux, et c’est la part que vous payez une fois, sur une machine qui ne vous attend pas. C’est supportable. La décompression est la surprise : défaire un tri de bloc est un vrai travail, contrairement à défaire une correspondance de fenêtre glissante, donc bzip2 est bien plus lent à déballer que gzip et plus lent que xz aussi.
C’est ce qui rend le format un mauvais choix pour quoi que ce soit qui soit récupéré et déballé à répétition. Une dépendance téléchargée à chaque exécution de CI, une couche de conteneur, un artefact tiré par cent machines — chacun paie le coût de décompression à chaque fois, et il se mesure en minutes sur une grande archive plutôt qu’en secondes. Bzip2 est tolérable pour quelque chose qui s’écrit une fois et se lit une fois. C’est véritablement coûteux pour quelque chose qui s’écrit une fois et se lit en continu.
La mémoire à la décompression. Bzip2 travaille en blocs d’au plus 900 Ko, donc le tampon dont il a besoin pour déballer quoi que ce soit est petit et fixe quelle que soit la taille de l’archive. XZ a besoin d’une mémoire à l’échelle du dictionnaire avec lequel le fichier a été écrit, que le registre enregistre jusqu’à 64 Mo — et si la machine ne peut pas le fournir, l’archive ne s’ouvre pas du tout.
Cela compte dans un ensemble plus étroit qu’autrefois, mais les endroits sont réels : routeurs et appliances embarquées, conteneurs à mémoire plafonnée, environnements de récupération, un initramfs, un vieux système que personne n’a le droit de mettre à niveau. Si l’archive doit être déballée dans un endroit comme cela, bzip2 est un choix d’ingénierie défendable plutôt qu’une habitude héritée, et cela vaut la peine d’être écrit dans les notes de release pour que la personne suivante ne le « corrige » pas.
BZ2 compresse exactement un flux. Il n’a pas de champ pour un nom de fichier, pas de notion de répertoire et pas de moyen de marquer où un membre finit et le suivant commence — le registre énumère l’absence de structure de répertoire comme un problème connu pour le format. Tout ce qu’un listing d’un `.tar.bz2` vous montre est lu dans le TAR à l’intérieur.
Donc la conversion déballe ce que vous avez envoyé, écrit un TAR frais à partir du contenu, et le compresse avec bzip2. Le tarball est construit depuis l’intérieur du répertoire extrait, donc vos fichiers se trouvent au niveau racine plutôt qu’à l’intérieur d’un dossier wrapper. Le téléchargement arrive avec une extension `.bz2` et devrait être renommé en `.tar.bz2`, ce qui est à la fois exact et la forme qui permet à `tar xjf` de faire tout le travail en une seule commande.
Les blocs de bzip2 sont compressés indépendamment les uns des autres, ce qui donne au format une propriété que ses voisins n’ont pas : un dommage à un bloc ne détruit pas nécessairement tout ce qui suit. Des outils existent qui parcourent un fichier bzip2 corrompu, trouvent les frontières de bloc intactes et récupèrent ce qui est encore lisible.
Considérez cela comme une consolation plutôt que comme une stratégie. Le TAR à l’intérieur est un flux continu d’en-têtes et de données, donc récupérer certains blocs et pas d’autres vous donne un tarball avec des trous dedans, et savoir si cela donne des fichiers utilisables dépend entièrement de l’endroit où le dommage est tombé. Si survivre à la dégradation des bits est une exigence réelle, la réponse est un format avec sommes de contrôle par membre et parité séparée, pas un compresseur avec un mode de défaillance serviable.
La conversion n’enveloppe pas bzip2 autour du fichier que vous avez téléversé. Elle extrait le TAR et en écrit un nouveau, puis compresse cela. Les fichiers à l’intérieur sont identiques au bit près — c’est un rempaquetage sans perte — mais l’archive autour est neuve, et l’ordre des membres, les horodatages enregistrés et les bits de permission peuvent différer de ce que vous avez envoyé.
Pour le lecteur qui fait de l’empaquetage c’est le détail qui décide si cet outil est le bon. Si la recette vérifie une empreinte de l’artefact, l’artefact doit être produit de manière déterministe sur une machine que vous contrôlez, avec `tar --sort=name --mtime=…` et `bzip2` faisant le travail. Utilisez ce convertisseur quand vous avez besoin qu’un `.tar.bz2` existe — pour un miroir, un collègue, un formulaire d’upload, un test — et non quand les octets exacts font partie du contrat.
Sur notre serveur, pas dans votre navigateur. Beaucoup d’outils sur ce site convertissent sur votre propre appareil et le disent ; le rempaquetage d’archive est l’une des exceptions, parce qu’il demande 7-Zip et bzip2 comme vrais programmes. Le fichier voyage par une connexion chiffrée vers un conteneur qui les exécute et qui n’a pas d’accès internet sortant propre.
Chaque travail obtient un répertoire de travail sur un système de fichiers en mémoire qui est supprimé à la fin du travail, réussi ou non, et tout travail qui tourne encore après soixante secondes est tué. Ce délai est plus susceptible d’être atteint ici que sur la plupart des paires, parce que la compression bzip2 est lente — un grand tarball de texte est exactement l’entrée qui prend son temps. Le quota gratuit accepte 25 Mo par fichier téléversé.
Le seul chiffre de ratio honnête est celui mesuré sur vos données, et l’obtenir prend deux minutes : compressez le même TAR en GZ, en BZ2 et en XZ et placez les trois tailles côte à côte. Sur une arborescence source ou un jeu de journaux l’ordre sera prévisible — XZ le plus petit, BZ2 ensuite, GZ le plus gros — mais les écarts varient énormément avec le contenu, et sur un tarball de fichiers déjà compressés les trois tombent à un arrondi près l’un de l’autre.
Pesez ensuite les chiffres que vous ne pouvez pas voir dans un listing de fichiers. À quelle fréquence ceci sera-t-il déballé, et par quoi ? Gzip si la réponse est « constamment, par des machines ». XZ si la réponse est « presque jamais, par un ordinateur normal ». BZ2 si quelque chose l’a spécifié, ou si la machine à l’autre bout a très peu de mémoire. Choisir bzip2 pour son seul ratio de compression est une décision qui avait du sens il y a vingt ans et a silencieusement cessé d’être vraie.
| TAR | BZ2 | |
|---|---|---|
| Nom complet | Archive TAR | Archive Bzip2 |
| Extension de fichier | .tar | .bz2 |
| Type de média | application/x-tar | application/x-bzip2 |
| Compression | Non compressé | Sans perte — rien n’est écarté |
| Première publication | 1979 | 1996 |
| Spécification | POSIX.1-2001 ustar | — |
| Licence | Standard ouvert | Standard ouvert |
| Situation actuelle | Actuel | Ancien, encore lu partout |
| S’ouvre dans un navigateur | Aucun navigateur | Aucun navigateur |
| Envisagé à la place | ZIP, GZ | GZ, XZ |
Rien n’est écarté. TAR et BZ2 enregistrent leur contenu sans perte : la conversion change l’emballage, pas la qualité, et elle peut être répétée sans que les dégâts s’accumulent.
BZ2 compresse un flux unique et ne peut pas contenir de répertoire. C’est précisément pour cela que BZ2 est d’ordinaire associé à un format d’archive : l’archive rassemble les fichiers, BZ2 compresse le résultat.
7-Zip et Keka lisent aussi bien TAR que BZ2 : vous pouvez comparer le résultat à l’original sans second logiciel.
BZ2 range les mêmes échantillons dans environ la moitié de la place. Rien n’est écarté — en le décompressant vous retrouvez le TAR bit pour bit — et c’est ce qui en fait le meilleur rangement pour ce que vous comptez garder.
TAR a ete publié en 1979. La spécification est POSIX.1-2001 ustar, et elle mérite d’être connue si le fichier doit survivre à l’outil qui l’a écrit.
BZ2 date de 1996. bzip2, 7-Zip et Keka le lisent.
TAR a été publié en 1979 et BZ2 en 1996. Le plus ancien est en général le fichier le plus sûr à remettre ; le plus récent fait le même travail en moins d’octets.
Oui : cette conversion réclame un logiciel qui ne peut pas tourner dans un navigateur. Le fichier part donc chiffré vers notre serveur. Il est supprimé dès la fin du travail, et le résultat au bout de 60 minutes. Le travail est fait par 7-Zip, l’archiveur, dans sa forme en ligne de commande.
Oui, jusqu’à 100 conversions par jour pour des fichiers jusqu’à 25 Mo. Cette unique limite existe parce que cette conversion tourne sur un serveur que nous payons. Pour le reste rien n’est limité ici, et il n’y a de filigrane dans aucun cas. La limite existe parce que 7-Zip a besoin d’une de nos machines pour tourner.
Non. BZ2 enregistre le même contenu sans rien jeter : le résultat est identique en qualité à l’original. Les fichiers ressortent octet pour octet. Ce qui ne survit pas, c’est ce que le conteneur savait *à leur sujet* plutôt que ce qu’il contenait : un mot de passe et, sur certains formats, les permissions et horodatages d’origine.
BZ2 compresse un flux unique et ne peut pas contenir de répertoire. C’est précisément pour cela que BZ2 est d’ordinaire associé à un format d’archive : l’archive rassemble les fichiers, BZ2 compresse le résultat.
BZ2 range les mêmes échantillons dans environ la moitié de la place. Rien n’est écarté — en le décompressant vous retrouvez le TAR bit pour bit — et c’est ce qui en fait le meilleur rangement pour ce que vous comptez garder.
Rien n’est écarté. TAR et BZ2 enregistrent leur contenu sans perte : la conversion change l’emballage, pas la qualité, et elle peut être répétée sans que les dégâts s’accumulent.