Qu'est-ce que le format de fichier XZ ?
.xz est un format de fichier d'archive compressée qui utilise la méthode de compression XZ. Le format est natif de XZ Utils, l'outil logiciel de référence développé dans le cadre du projet Tukaani (une distribution GNU/Linux basée sur Slackware).
XZ et TAR
Une archive .xz ne peut stocker qu'un seul flux compressé et ne contient pas d'arborescence de répertoires propre. Pour cette raison, les fichiers .xz sont couramment utilisés en combinaison avec les archives TAR - TAR rassemble les fichiers sélectionnés dans une seule archive, et l'algorithme XZ est ensuite appliqué pour la compression. Le fichier résultant porte le suffixe .tar.xz ou .txz.
Algorithme de compression LZMA2
La compression XZ est basée sur l'algorithme LZMA2 - une évolution de la norme LZMA originale. Il permet des taux de compression élevés et entraîne des tailles de fichiers considérablement réduites : les archives XZ sont généralement 30 % plus petites que les archives GZIP et 15 % plus petites que les archives BZIP2. XZ offre une compression sans perte pour éviter toute perte d'information.
Notes additionnelles
- Par rapport à d'autres méthodes de compression, le processus de compression XZ est plutôt lent, mais la décompression est nettement plus rapide.
- Les archives XZ sont largement utilisées pour la distribution de paquets logiciels Linux, y compris Slackware et la plupart des archives tarballs sources du noyau.
- Le format
.xzs'identifie par l'en-tête magique fixe de 6 octetsFD 37 7A 58 5A 00et vérifie l'intégrité à l'aide de sommes de contrôle CRC64 par bloc et par flux par défaut (CRC32 et SHA-256 sont également pris en charge). - Début 2024, il a été découvert que les versions 5.6.0 et 5.6.1 de XZ Utils contenaient une porte dérobée (backdoor) injectée délibérément (CVE-2024-3094) dans la bibliothèque
liblzma. La spécification du format de fichier.xzn'est pas affectée ; seules ces archives de construction spécifiques ont été compromises.
Sécurité et sûreté
RISQUE : LOWLe format .xz ne contient aucun code exécutable et ne peut pas « s'exécuter » ; le risque provient uniquement de ce qui se trouve à l'intérieur (extraire avant de faire confiance). Notez l'incident de la chaîne d'approvisionnement de 2024 (CVE-2024-3094) : une porte dérobée a été insérée dans la version liblzma de xz 5.6.0/5.6.1 distribuée dans certains canaux de test de distributions - cela affecte les binaires de l'outil/bibliothèque, pas les fichiers .xz que vous recevez. Méfiez-vous des faux sites de téléchargement d'« ouvreur xz » regroupant des adwares ; utilisez 7-Zip/PeaZip depuis leurs pages officielles.
Détails du format
en brefProgrammes qui ouvrent les fichiers XZ
tar -xf file.tar.xz (le bsdtar de macOS gère xz) ou installez xz via Homebrew. xz -d file.xz pour décompresser, ou tar -xf file.tar.xz pour les tarballs. Pré-installé sur la plupart des distributions. Détails techniques
spécifications approfondies| Algorithme de compression | LZMA2 (évolution de LZMA) ; chaîne de filtres optionnelle avec filtres delta et BCJ (branch/call/jump) |
| Structure du conteneur | En-tête de flux → un ou plusieurs blocs compressés → index de bloc → pied de page de flux |
| Signature magique d'en-tête | FD 37 7A 58 5A 00 - 6 octets fixes à l'offset 0 |
| Signature magique de pied de page | 59 5A (« YZ ») - toujours les 2 derniers octets de chaque flux .xz |
| Ordre des octets | Little-endian |
| Type MIME | application/x-xz |
| Vérification d'intégrité | Sommes de contrôle par bloc et par flux ; CRC64 par défaut ; CRC32 et SHA-256 également pris en charge |
| Chiffrement | Aucun - pas de chiffrement intégré ; chiffrez les données avant compression si nécessaire |
| Stockage de fichiers | Flux compressé unique uniquement ; pas de noms de fichiers ni d'arborescence de répertoires (combiner avec .tar pour les archives multi-fichiers) |
| Encodage | Binaire |
| Taille compressée typique | De quelques dizaines de Ko à plusieurs Go ; les tarballs sources du noyau Linux font couramment 50 à 200 Mo |
| Taux de compression vs alternatives | Généralement ~30 % plus petit que gzip et ~15 % plus petit que bzip2 sur le code source |
| Note de sécurité | CVE-2024-3094 : les tarballs XZ Utils 5.6.0/5.6.1 contenaient une porte dérobée dans liblzma ; la spécification du format de fichier .xz n'est pas affectée |
| Prise en charge des plateformes | Linux, BSD, macOS, Windows (via XZ Utils, 7-Zip, PeaZip, NanaZip, The Unarchiver) |
| Publié | 2009 (XZ Utils 4.999.x / 5.0; format finalized 2009) |
| Dernière version | XZ file format 1.0.4 (2009); XZ Utils 5.6.x toolchain |
| Standard ouvert | Oui · libre de droits |
| Spécification | tukaani.org |
Conversions XZ
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers XZ.
Foire aux questions
Comment ouvrir un fichier .xz sous Windows ?
Quelle est la différence entre .xz et .tar.xz ?
Le format .xz est-il meilleur que .gz ou .zip ?
Le format de fichier xz est-il affecté par la porte dérobée xz (CVE-2024-3094) ?
Comment décompresser .xz sous Linux ?
xz -d file.xz pour obtenir le fichier original, ou tar -xf file.tar.xz pour déballer un tarball. xz est préinstallé sur la plupart des distributions.