Convertir TAR en BZ2

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.

  • Où cela s’exécute Sur notre serveur — le logiciel nécessaire ne tourne pas dans un navigateur.
  • Sans perte Rien ne se perd. BZ2 contient exactement ce que contenait TAR.
  • Limite de taille Jusqu’à 25 Mo par fichier, gratuitement et sans compte.
  • Bon à savoir 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.

Jusqu’à 100 fichiers à la fois. Les formats mélangés ne posent pas de problème.

Qui a encore besoin d’un .tar.bz2 en particulier

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.

Le tri de blocs, d’où bzip2 tire son ratio

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.

Ce que la transformée de Burrows-Wheeler coûte aux deux bouts

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.

L’endroit où bzip2 bat encore XZ sans appel

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.

Un TAR apparaît sous le flux bzip2, parce qu’il le faut

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 indépendants, et la récupération partielle d’une archive endommagée

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.

Le tarball est reconstruit, donc une empreinte publiée ne correspondra pas

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.

Où le TAR est compressé et ce qui lui arrive après

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é.

Comparer les trois compresseurs de tarball sur votre propre archive

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.

Comment convertir TAR en BZ2

  1. Déposez votre fichier TAR sur cette page, ou cliquez pour en choisir un.
  2. Choisissez BZ2 comme destination et lancez la conversion.
  3. Téléchargez le fichier BZ2 terminé.

TAR et BZ2 : ce qui change

TAR face à BZ2
TARBZ2
Nom completArchive TARArchive Bzip2
Extension de fichier.tar.bz2
Type de médiaapplication/x-tarapplication/x-bzip2
CompressionNon compresséSans perte — rien n’est écarté
Première publication19791996
SpécificationPOSIX.1-2001 ustar
LicenceStandard ouvertStandard ouvert
Situation actuelleActuelAncien, encore lu partout
S’ouvre dans un navigateurAucun navigateurAucun navigateur
Envisagé à la placeZIP, GZGZ, XZ

Ce qui est conservé

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.

Ouvrir le résultat

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.

Taille et qualité

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.

À quoi sert chaque format

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.

De TAR à BZ2 : questions fréquentes

Mon fichier TAR est-il téléversé quelque part ?

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.

Convertir TAR en BZ2 est-il gratuit ?

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.

Y a-t-il une perte de qualité en convertissant TAR en BZ2 ?

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.

Un fichier BZ2 peut-il contenir plusieurs fichiers ?

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 est-il plus léger sans rien perdre ?

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.

La conversion de TAR à BZ2 est-elle sans perte ?

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.

En savoir plus sur ces formats