jpayne@68: '\" t jpayne@68: .\" SPDX-License-Identifier: 0BSD jpayne@68: .\" jpayne@68: .\" Authors: Lasse Collin jpayne@68: .\" Jia Tan jpayne@68: .\" jpayne@68: .\" french translation of XZ Utils man jpayne@68: .\" Copyright (C) 2021 Debian French l10n team jpayne@68: .\" Translator jpayne@68: .\" bubu , 2021. jpayne@68: .\" jpayne@68: .\"******************************************************************* jpayne@68: .\" jpayne@68: .\" This file was generated with po4a. Translate the source file. jpayne@68: .\" jpayne@68: .\"******************************************************************* jpayne@68: .TH XZ 1 2024\-12\-30 Tukaani "Utilitaires XZ" jpayne@68: . jpayne@68: .SH NOM jpayne@68: xz, unxz, xzcat, lzma, unlzma, lzcat \- Compresser ou décompresser des jpayne@68: fichiers .xz et .lzma jpayne@68: . jpayne@68: .SH SYNOPSIS jpayne@68: \fBxz\fP [\fIoption...\fP] [\fIfichier...\fP] jpayne@68: . jpayne@68: .SH "ALIAS DES COMMANDES" jpayne@68: \fBunxz\fP est équivalent à \fBxz \-\-decompress\fP. jpayne@68: .br jpayne@68: \fBxzcat\fP est équivalent à \fBxz \-\-decompress \-\-stdout\fP jpayne@68: .br jpayne@68: \fBlzma\fP est équivalent à \fBxz \-\-format=lzma\fP jpayne@68: .br jpayne@68: \fBunlzma\fP est équivalent à \fBxz \-\-format=lzma \-\-decompress\fP jpayne@68: .br jpayne@68: \fBlzcat\fP est équivalent à \fBxz \-\-format=lzma \-\-decompress \-\- stdout\fP jpayne@68: .PP jpayne@68: Lors de l'écriture de scripts qui nécessitent de décompresser des fichiers, jpayne@68: il est recommandé de toujours utiliser la commande \fBxz\fP avec les arguments jpayne@68: appropriés (\fBxz \-d\fP ou \fBxz \-dc\fP) au lieu des commandes \fBunxz\fP et jpayne@68: \fBxzcat\fP. jpayne@68: . jpayne@68: .SH DESCRIPTION jpayne@68: \fBxz\fP is a general\-purpose data compression tool with command line syntax jpayne@68: similar to \fBgzip\fP(1) and \fBbzip2\fP(1). The native file format is the jpayne@68: \&\fB.xz\fP format, but the legacy \fB.lzma\fP format used by LZMA Utils and raw jpayne@68: compressed streams with no container format headers are also supported. In jpayne@68: addition, decompression of the \fB.lz\fP format used by \fBlzip\fP is supported. jpayne@68: .PP jpayne@68: \fBxz\fP compresse ou décompresse chaque \fIfichier\fP en fonction du mode jpayne@68: d'opération choisi. Si aucun \fIfichier\fP n'est donné ou \fIfichier\fP est \fB\-\fP, jpayne@68: \fBxz\fP lit depuis l'entrée standard et écrit les données traitées sur la jpayne@68: sortie standard. \fBxz\fP refusera (affichera une erreur et ignorera le jpayne@68: \fIfichier\fP) d'écrire les données compressées sur la sortie standard si c'est jpayne@68: un terminal. De même, \fBxz\fP refusera de lire des données compressées depuis jpayne@68: l'entrée standard si c'est un terminal. jpayne@68: .PP jpayne@68: A moins que \fB\-\-sdout\fP ne soit indiqué, les \fIfichiers\fP autres que \fB\-\fP sont jpayne@68: écrits dans un nouveau fichier dont le nom est dérivé du nom de \fIfichier\fP jpayne@68: source : jpayne@68: .IP \(bu 3 jpayne@68: Lors de la compression, le suffixe du format de fichier cible (\fB.xz\fP ou jpayne@68: \&\fB.lzma\fP) est ajouté au nom de fichier source pour obtenir le nom de fichier jpayne@68: cible. jpayne@68: .IP \(bu 3 jpayne@68: When decompressing, the \fB.xz\fP, \fB.lzma\fP, or \fB.lz\fP suffix is removed from jpayne@68: the filename to get the target filename. \fBxz\fP also recognizes the suffixes jpayne@68: \&\fB.txz\fP and \fB.tlz\fP, and replaces them with the \fB.tar\fP suffix. jpayne@68: .PP jpayne@68: Si le fichier cible existe déjà, une erreur est affichée et le \fIfichier\fP jpayne@68: est ignoré. jpayne@68: .PP jpayne@68: Sauf s'il écrit dans la sortie standard, \fBxz\fP affichera un avertissement et jpayne@68: ignorera le \fIfichier\fP dans les cas suivants : jpayne@68: .IP \(bu 3 jpayne@68: \fIfichier\fP n'est pas un fichier normal. Les liens symboliques ne sont pas jpayne@68: suivis et donc ne sont pas considérés comme des fichiers normaux. jpayne@68: .IP \(bu 3 jpayne@68: \fIfichier\fP a plusieurs liens physiques. jpayne@68: .IP \(bu 3 jpayne@68: \fIfichier\fP a un setuid, setgid ou sticky bit positionné. jpayne@68: .IP \(bu 3 jpayne@68: Le mode d'opération est défini pour compresser et le \fIfichier\fP a déjà un jpayne@68: suffixe du format de fichier cible (\fB.xz\fP ou \fB.txz\fP lors d'une compression jpayne@68: en format \fB.xz\fP, et \fB.lzma\fP ou \fB.tlz\fP lors d'une compression en format jpayne@68: \&\fB.lzma\fP). jpayne@68: .IP \(bu 3 jpayne@68: The operation mode is set to decompress and the \fIfile\fP doesn't have a jpayne@68: suffix of any of the supported file formats (\fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, jpayne@68: \&\fB.tlz\fP, or \fB.lz\fP). jpayne@68: .PP jpayne@68: Après la compression ou la décompression réussie du \fIfichier\fP, \fBxz\fP copie jpayne@68: les permissions du propriétaire, du groupe, la date d'accès, et les jpayne@68: modifications d'heure depuis le \fIfichier\fP source du fichier cible. Si la jpayne@68: copie du groupe échoue, les permissions sont modifiées pour que le fichier jpayne@68: cible ne soit pas accessible aux utilisateurs qui n'ont pas les droits jpayne@68: d'accès au \fIfichier\fP source. \fBxz\fP ne prend actuellement pas en charge la jpayne@68: copie d'autres métadonnées telles que les listes de contrôle d'accès ou les jpayne@68: attributs étendus. jpayne@68: .PP jpayne@68: Once the target file has been successfully closed, the source \fIfile\fP is jpayne@68: removed unless \fB\-\-keep\fP was specified. The source \fIfile\fP is never removed jpayne@68: if the output is written to standard output or if an error occurs. jpayne@68: .PP jpayne@68: Envoyer \fBSIGINFO\fP ou \fBSIGURSR1\fP au processus \fBxz\fP, lui fait afficher jpayne@68: l'information de progression sur l'erreur standard. Cela a un intérêt limité jpayne@68: car lorsque l'erreur standard est un terminal, utiliser \fB\-\-verbose\fP jpayne@68: affichera automatiquement un indicateur de progression du processus. jpayne@68: . jpayne@68: .SS "Utilisation de la mémoire" jpayne@68: L'utilisation de la mémoire par \fBxz\fP varie de quelques centaines de jpayne@68: kilo\-octets à plusieurs gigaoctects en fonction des paramètres de jpayne@68: compression. Les réglages utilisés lors de la compression d'un fichier jpayne@68: déterminent les besoins en mémoire pour la décompression. Habituellement la jpayne@68: décompression nécessite 5\% à 20\% de la quantité de mémoire utilisée pour jpayne@68: la compression du fichier. Par exemple, décompresser un fichier créé avec jpayne@68: \fBxz\-9\fP recquiert habituellement 65\ Mio de mémoire. Bien qu'il soit jpayne@68: possible d'avoir des fichiers \fB.xz\fP nécessitant plusieurs gigaoctets de jpayne@68: mémoire pour être décompressés. jpayne@68: .PP jpayne@68: Especially users of older systems may find the possibility of very large jpayne@68: memory usage annoying. To prevent uncomfortable surprises, \fBxz\fP has a jpayne@68: built\-in memory usage limiter, which is disabled by default. While some jpayne@68: operating systems provide ways to limit the memory usage of processes, jpayne@68: relying on it wasn't deemed to be flexible enough (for example, using jpayne@68: \fBulimit\fP(1) to limit virtual memory tends to cripple \fBmmap\fP(2)). jpayne@68: .PP jpayne@68: The memory usage limiter can be enabled with the command line option jpayne@68: \fB\-\-memlimit=\fP\fIlimit\fP. Often it is more convenient to enable the limiter jpayne@68: by default by setting the environment variable \fBXZ_DEFAULTS\fP, for example, jpayne@68: \fBXZ_DEFAULTS=\-\-memlimit=150MiB\fP. It is possible to set the limits jpayne@68: separately for compression and decompression by using jpayne@68: \fB\-\-memlimit\-compress=\fP\fIlimit\fP and \fB\-\-memlimit\-decompress=\fP\fIlimit\fP. jpayne@68: Using these two options outside \fBXZ_DEFAULTS\fP is rarely useful because a jpayne@68: single run of \fBxz\fP cannot do both compression and decompression and jpayne@68: \fB\-\-memlimit=\fP\fIlimit\fP (or \fB\-M\fP \fIlimit\fP) is shorter to type on the jpayne@68: command line. jpayne@68: .PP jpayne@68: If the specified memory usage limit is exceeded when decompressing, \fBxz\fP jpayne@68: will display an error and decompressing the file will fail. If the limit is jpayne@68: exceeded when compressing, \fBxz\fP will try to scale the settings down so that jpayne@68: the limit is no longer exceeded (except when using \fB\-\-format=raw\fP or jpayne@68: \fB\-\-no\-adjust\fP). This way the operation won't fail unless the limit is very jpayne@68: small. The scaling of the settings is done in steps that don't match the jpayne@68: compression level presets, for example, if the limit is only slightly less jpayne@68: than the amount required for \fBxz \-9\fP, the settings will be scaled down only jpayne@68: a little, not all the way down to \fBxz \-8\fP. jpayne@68: . jpayne@68: .SS "Concaténation et remplissage avec des fichiers .xz" jpayne@68: Il est possible de concaténer les fichiers \fB.xz\fP tels quel. \fBxz\fP jpayne@68: décompressera de tels fichiers comme s'ils étaient un unique fichier \fB.xz\fP. jpayne@68: .PP jpayne@68: It is possible to insert padding between the concatenated parts or after the jpayne@68: last part. The padding must consist of null bytes and the size of the jpayne@68: padding must be a multiple of four bytes. This can be useful, for example, jpayne@68: if the \fB.xz\fP file is stored on a medium that measures file sizes in jpayne@68: 512\-byte blocks. jpayne@68: .PP jpayne@68: La concaténation et le remplissage ne sont pas autorisés avec les fichiers jpayne@68: \&\fB.lzma\fP ou les flux bruts. jpayne@68: . jpayne@68: .SH OPTIONS jpayne@68: . jpayne@68: .SS "Suffixes entiers et valeurs spéciales." jpayne@68: Dans la plupart des endroits où un argument entier est attendu, un suffixe jpayne@68: optionel permet d'indiquer facilement les grands entiers. Il ne doit pas y jpayne@68: avoir d'espace entre l'entier et le suffixe. jpayne@68: .TP jpayne@68: \fBKiB\fP jpayne@68: Multiplier l'entier par 1024 (2^10). \fBKi\fP, \fBk\fP, \fBkB\fP, \fBK\fP et \fBKB\fP sont jpayne@68: acceptés comme synonymes de \fBKiB\fP. jpayne@68: .TP jpayne@68: \fBMiB\fP jpayne@68: Multiplier l'entier par 1 048 576 (2^20). \fBMi\fP, \fBm\fP, \fBM\fP et \fBMB\fP sont jpayne@68: acceptés comme synonymes de \fBMiB\fP. jpayne@68: .TP jpayne@68: \fBGiB\fP jpayne@68: Multiplier l'entier par 1 073 741 824 (2^30). \fBGi\fP, \fBg\fP, \fBG\fP et \fBGB\fP jpayne@68: sont acceptés comme synonymes de \fBGiB\fP. jpayne@68: .PP jpayne@68: La valeur spéciale \fBmax\fP peut être utilisée pour indiquer la valeur jpayne@68: maximale de l'entier prise en charge par l'option. jpayne@68: . jpayne@68: .SS "Mode d'opération" jpayne@68: Si plusieurs options de mode d'opération sont données, la dernière prend jpayne@68: effet. jpayne@68: .TP jpayne@68: \fB\-z\fP, \fB\-\-compress\fP jpayne@68: Compresser. C'est le mode d'opération par défaut lorsque aucune option de jpayne@68: mode opératoire n'est spécifiée ou qu'aucun autre mode d'opération n'est jpayne@68: sous\-entendu par le nom de la commande (par exemple \fBunxz\fP sous\-entend jpayne@68: \fB\-\-decompress\fP). jpayne@68: .IP "" jpayne@68: .\" The DESCRIPTION section already says this but it's good to repeat it jpayne@68: .\" here because the default behavior is a bit dangerous and new users jpayne@68: .\" in a hurry may skip reading the DESCRIPTION section. jpayne@68: After successful compression, the source file is removed unless writing to jpayne@68: standard output or \fB\-\-keep\fP was specified. jpayne@68: .TP jpayne@68: \fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP jpayne@68: .\" The DESCRIPTION section already says this but it's good to repeat it jpayne@68: .\" here because the default behavior is a bit dangerous and new users jpayne@68: .\" in a hurry may skip reading the DESCRIPTION section. jpayne@68: Decompress. After successful decompression, the source file is removed jpayne@68: unless writing to standard output or \fB\-\-keep\fP was specified. jpayne@68: .TP jpayne@68: \fB\-t\fP, \fB\-\-test\fP jpayne@68: Tester l'intégrité des \fIfichiers\fP compressés. Cette option est équivalente jpayne@68: à \fB\-\-decompress \-\-stdout\fP sauf que les données décompressées sont rejetées jpayne@68: au lieu d'être écrites sur la sortie standard. Aucun fichier n'est créé ou jpayne@68: supprimé. jpayne@68: .TP jpayne@68: \fB\-l\fP, \fB\-\-list\fP jpayne@68: Afficher l'information sur les \fIfichiers\fP compressés. Aucune sortie jpayne@68: non\-compressée n'est produite et aucun fichier n'est créé ou supprimé. En jpayne@68: mode liste, le programme ne peut pas lire les données compressées depuis jpayne@68: l'entrée standard ou depuis d'autres sources non adressables. jpayne@68: .IP "" jpayne@68: The default listing shows basic information about \fIfiles\fP, one file per jpayne@68: line. To get more detailed information, use also the \fB\-\-verbose\fP option. jpayne@68: For even more information, use \fB\-\-verbose\fP twice, but note that this may be jpayne@68: slow, because getting all the extra information requires many seeks. The jpayne@68: width of verbose output exceeds 80 characters, so piping the output to, for jpayne@68: example, \fBless\ \-S\fP may be convenient if the terminal isn't wide enough. jpayne@68: .IP "" jpayne@68: La sortie exacte peut varier suivant les versions de \fBxz\fP et les différents jpayne@68: paramètres régionaux. Pour une sortie lisible par la machine, utiliser jpayne@68: \fB\-\-robot \-\-list\fP. jpayne@68: . jpayne@68: .SS "Modificateurs d'opération" jpayne@68: .TP jpayne@68: \fB\-k\fP, \fB\-\-keep\fP jpayne@68: Ne pas effacer les fichiers d'entrée. jpayne@68: .IP "" jpayne@68: Since \fBxz\fP 5.2.6, this option also makes \fBxz\fP compress or decompress even jpayne@68: if the input is a symbolic link to a regular file, has more than one hard jpayne@68: link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and jpayne@68: sticky bits are not copied to the target file. In earlier versions this was jpayne@68: only done with \fB\-\-force\fP. jpayne@68: .TP jpayne@68: \fB\-f\fP, \fB\-\-force\fP jpayne@68: Cette option a plusieurs effets : jpayne@68: .RS jpayne@68: .IP \(bu 3 jpayne@68: Si le fichier cible existe déjà, l'effacer avant de compresser ou jpayne@68: décompresser. jpayne@68: .IP \(bu 3 jpayne@68: Compresser ou décompresser même si l'entrée est un lien symbolique vers un jpayne@68: fichier normal, a plus qu'un lien physique, ou a le bit setuid, setgid ou jpayne@68: sticky défini. Les bits setuid, setgid et sticky bits ne sont pas copiés jpayne@68: dans le fichier cible. jpayne@68: .IP \(bu 3 jpayne@68: Lorsque \fBxz\fP est utilisé avec \fB\-\-decompress\fP \fB\-\-stdout\fP et qu'il ne peut jpayne@68: pas reconnaitre le type du fichier source, copier le fichier source tel quel jpayne@68: dans la sortie standard. Celà permet à \fBxzcat\fP \fB\-\-force\fP d'être utilisé jpayne@68: comme \fBcat\fP(1) pour les fichiers qui n'ont pas été compressé avec jpayne@68: \fBxz\fP. Remarquez que dans le futur, \fBxz\fP devrait prendre en charge de jpayne@68: nouveaux formats de fichiers compressés, ce qui permettra à \fBxz\fP de jpayne@68: décompresser plus de types de fichiers au lieu de les copier tels quels dans jpayne@68: la sortie standard. \fB\-\-format=\fP\fIformat\fP peut être utilisé pour contraindre jpayne@68: \fBxz\fP à décompresser seulement un format de fichier. jpayne@68: .RE jpayne@68: .TP jpayne@68: \fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP jpayne@68: Écrire les données compressées ou décompressées sur la sortie standard jpayne@68: plutôt que dans un fichier. Cela necessite \fB\-\-keep\fP. jpayne@68: .TP jpayne@68: \fB\-\-single\-stream\fP jpayne@68: Décompresser seulement le premier flux \fB.xz\fP et ignorer silencieusement les jpayne@68: possibles données d'entrée résiduelles qui suivent le flux. Normalement ces jpayne@68: déchets excédentaires provoquent l'affichage d'une erreur par \fBxz\fP. jpayne@68: .IP "" jpayne@68: \fBxz\fP ne décompresse jamais plus d'un flux à partir de fichiers \fB.lzma\fP ou jpayne@68: de flux bruts, mais cette option fait aussi que \fBxz\fP ignorera les données jpayne@68: résiduelles après le fichier \fB.lzma\fP ou le flux brut. jpayne@68: .IP "" jpayne@68: Cette option n'a aucun effet si le mode d'opération n'est pas jpayne@68: \fB\-\-decompress\fP ou \fB\-\-test\fP. jpayne@68: .TP jpayne@68: \fB\-\-no\-sparse\fP jpayne@68: Désactiver la création de fichiers peu denses. Par défaut, lors de la jpayne@68: décompression en un fichier normal, \fBxz\fP essaie d'en faire un fichier creux jpayne@68: si les données décompressées contiennent de longues séquences de zéros jpayne@68: binaires. Cela fonctionne aussi lors de l'écriture sur la sortie standard jpayne@68: aussi longtemps que la sortie standard est connectée à un fichier normal et jpayne@68: que certaines conditions supplémentaires sont satisfaites pour le faire de jpayne@68: manière sécurisée. Créer des fichiers creux peut épargner de l'espace disque jpayne@68: et accélérer la décompression en réduisant la quantité d'entrées/sorties sur jpayne@68: le disque. jpayne@68: .TP jpayne@68: \fB\-S\fP \fI.suf\fP, \fB\-\-suffix=\fP\fI.suf\fP jpayne@68: Lors de la compression, utiliser \fB.suf\fP comme suffixe du fichier cible au jpayne@68: lieu de \fB.xz\fP ou \fB.lzma\fP. Si \fBxz\fP n'écrit pas sur la sortie standard et jpayne@68: si le fichier source a déja le suffixe \fB.suf\fP, un avertissement est affiché jpayne@68: et le fichier est ignoré. jpayne@68: .IP "" jpayne@68: When decompressing, recognize files with the suffix \fI.suf\fP in addition to jpayne@68: files with the \fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP, or \fB.lz\fP suffix. If the jpayne@68: source file has the suffix \fI.suf\fP, the suffix is removed to get the target jpayne@68: filename. jpayne@68: .IP "" jpayne@68: Lors de la compression ou décompression de flux bruts (\fB\-\-fomat=raw\fP), le jpayne@68: suffixe doit toujours être spécifié à moins d'écrire sur la sortie standard, jpayne@68: car il n'y a pas de suffixe par défaut pour les flux bruts. jpayne@68: .TP jpayne@68: \fB\-\-files\fP[\fB=\fP\fIfichier\fP] jpayne@68: Lire les noms de fichier à traiter depuis \fIfichier\fP ; si \fIfichier\fP est jpayne@68: omis , les noms de fichier sont lus sur l'entrée standard. Les noms de jpayne@68: fichier doivent se terminer avec le caractère de nouvelle ligne. Un tiret jpayne@68: (\fB\-\fP) est considéré comme un nom de fichier normal ; ce qui ne signifie pas jpayne@68: entrée standard. Si les noms de fichier sont aussi donnés comme arguments de jpayne@68: ligne de commande, ils sont traités avant les noms de fichier lus depuis jpayne@68: \fIfichier\fP. jpayne@68: .TP jpayne@68: \fB\-\-files0\fP[\fB=\fP\fIfichier\fP] jpayne@68: Cela est identique à \fB\-\-files\fP[\fB=\fP\fIfichier\fP] sauf que chaque nom de jpayne@68: fichier doit se terminer par le caractère null. jpayne@68: . jpayne@68: .SS "Format de fichier basique et options de compression" jpayne@68: .TP jpayne@68: \fB\-F\fP \fIformat\fP, \fB\-\-format=\fP\fIformat\fP jpayne@68: Indiquer le \fIformat\fP de fichier à compresser ou décompresser : jpayne@68: .RS jpayne@68: .TP jpayne@68: \fBauto\fP jpayne@68: C'est celui par défaut. Lors de la compression, \fBauto\fP est équivalent à jpayne@68: \fBxz\fP. Lors de la décompression, le format du fichier en entrée est détecté jpayne@68: automatiquement. Notez que les flux bruts (créés avec \fB\-\-format=raw\fP) ne jpayne@68: peuvent pas être détectés automatiquement. jpayne@68: .TP jpayne@68: \fBxz\fP jpayne@68: Compresser dans le format de fichier \fB.xz\fP ou n'accepter que les fichiers jpayne@68: \&\fB.xz\fP à décompresser. jpayne@68: .TP jpayne@68: \fBlzma\fP, \fBalone\fP jpayne@68: Compresser au format de fichier \fB.lzma\fP historique, ou n'accepter que les jpayne@68: fichiers \fB.lzma\fP lors de la décompression. Le nom alternatif \fBalone\fP est jpayne@68: fourni pour la rétrocompatibilité avec les utilitaires LZMA. jpayne@68: .TP jpayne@68: \fBlzip\fP jpayne@68: Accept only \fB.lz\fP files when decompressing. Compression is not supported. jpayne@68: .IP "" jpayne@68: The \fB.lz\fP format version 0 and the unextended version 1 are supported. jpayne@68: Version 0 files were produced by \fBlzip\fP 1.3 and older. Such files aren't jpayne@68: common but may be found from file archives as a few source packages were jpayne@68: released in this format. People might have old personal files in this jpayne@68: format too. Decompression support for the format version 0 was removed in jpayne@68: \fBlzip\fP 1.18. jpayne@68: .IP "" jpayne@68: \fBlzip\fP 1.4 and later create files in the format version 1. The sync flush jpayne@68: marker extension to the format version 1 was added in \fBlzip\fP 1.6. This jpayne@68: extension is rarely used and isn't supported by \fBxz\fP (diagnosed as corrupt jpayne@68: input). jpayne@68: .TP jpayne@68: \fBraw\fP jpayne@68: Compresser ou décompresser un flux brut (sans en\-têtes). Cela est réservé jpayne@68: seulement aux utilisateurs aguerris. Pour décoder des flux bruts, vous devez jpayne@68: utiliser \fB\-\-format=raw\fP et spécifier explicitement la chaîne de filtre, qui jpayne@68: normalement aurait du être stockée dans les en\-têtes du conteneur. jpayne@68: .RE jpayne@68: .TP jpayne@68: \fB\-C\fP \fIvérif.\fP, \fB\-\-check=\fP\fIvérif.\fP jpayne@68: Spécifier le type d'intégrité à vérifier. La vérification est calculée à jpayne@68: partir des données non\-compressées et stockées dans le fichier \fB.xz\fP. Cette jpayne@68: option n'a effet que si la compression a été faite dans le format \fB.xz\fP ; jpayne@68: le format \fB.lzma\fP ne gère pas les vérifications d'intégrité. Le contrôle jpayne@68: d'intégrité (s'il y en a) est vérifié lorsque le fichier \fB.xz\fP est jpayne@68: décompressé. jpayne@68: .IP "" jpayne@68: Types de \fIvérification\fP pris en charge : jpayne@68: .RS jpayne@68: .TP jpayne@68: \fBnone\fP jpayne@68: Ne pas calculer de vérification d'intégrité du tout. C'est généralement une jpayne@68: mauvaise idée. Cela peut être utile lorsque l'intégrité des données est jpayne@68: vérifiée de toute façon par d'autres manières. jpayne@68: .TP jpayne@68: \fBcrc32\fP jpayne@68: Calculer CRC32 en utilisant le polynôme de IEEE\-802.3 (Ethernet). jpayne@68: .TP jpayne@68: \fBcrc64\fP jpayne@68: Calculer CRC64 en utilisant le polynôme de ECMA\-182. C'est la manière jpayne@68: utilisée par défaut, car c'est légèrement mieux que CRC32 pour détecter les jpayne@68: fichiers endommagés et la différence de vitesse est négligeable. jpayne@68: .TP jpayne@68: \fBsha256\fP jpayne@68: Calculer SHA\-256. C'est quelque peu plus lent que CRC32 et CRC64. jpayne@68: .RE jpayne@68: .IP "" jpayne@68: L'intégrité des en\-têtes \fB.xz\fP est toujours vérifiée avec CRC32. Il n'est jpayne@68: pas possible de le changer ou de le désactiver. jpayne@68: .TP jpayne@68: \fB\-\-ignore\-check\fP jpayne@68: Ne pas contrôler la vérification d'intégrité des données lors de la jpayne@68: décompression. Les valeurs CRC32 dans les en\-têtes \fB.xz\fP seront normalement jpayne@68: toujours vérifiées. jpayne@68: .IP "" jpayne@68: \fBN'utilisez pas cette option à moins de savoir ce que vous faites.\fP Les jpayne@68: raisons possibles pour utiliser cette option : jpayne@68: .RS jpayne@68: .IP \(bu 3 jpayne@68: Essayer de récupérer des données d'un fichier .xz corrompu. jpayne@68: .IP \(bu 3 jpayne@68: Accélérer la décompression. Cela importe surtout avec SHA\-256 ou avec les jpayne@68: fichiers qui ont été compressés extrêmement bien. Il est recommandé de ne jpayne@68: pas utiliser cette option dans ce but à moins que l'intégrité du fichier ne jpayne@68: soit vérifiée extérieurement d'une autre manière. jpayne@68: .RE jpayne@68: .TP jpayne@68: \fB\-0\fP ... \fB\-9\fP jpayne@68: Choisir un niveau de compression prédéfini. La valeur par défaut est jpayne@68: \fB6\fP. Si plusieurs niveaux de préréglage sont spécifiés, c'est le dernier jpayne@68: qui sera pris en compte. Si une chaîne de filtres personnalisée a déjà été jpayne@68: choisie, définir un niveau de compression préréglé efface la chaîne de jpayne@68: filtres personnalisée. jpayne@68: .IP "" jpayne@68: Les différences entre les préréglages sont plus significatives qu'avec jpayne@68: \fBgzip\fP(1) et \fBbzip2\fP(1). les réglages de compression sélectionnés jpayne@68: déterminent les exigences en mémoire pour la décompression, ainsi, utiliser jpayne@68: un niveau de préréglage trop élevé peut rendre difficile à décompresser un jpayne@68: fichier sur un vieux système avec peu de RAM. Clairement, \fBce n'est pas une bonne idée d'utiliser \-9 aveuglément pour tout\fP comme ça l'est souvent avec jpayne@68: \fBgzip\fP(1) et \fBbzip2\fP(1). jpayne@68: .RS jpayne@68: .TP jpayne@68: \fB\-0\fP ... \fB\-3\fP jpayne@68: Ce sont des préréglages relativement rapides. \fB0\fP est parfois plus rapide jpayne@68: que \fBgzip \-9\fP tout en compressant bien mieux. Les réglages plus élevés ont jpayne@68: souvent une rapidité comparable à celle de \fBbzip2\fP(1) avec un taux de jpayne@68: compression comparable ou meilleur, même si les résultats dépendent beaucoup jpayne@68: du genre de données compressées. jpayne@68: .TP jpayne@68: \fB\-4\fP ... \fB\-6\fP jpayne@68: Good to very good compression while keeping decompressor memory usage jpayne@68: reasonable even for old systems. \fB\-6\fP is the default, which is usually a jpayne@68: good choice for distributing files that need to be decompressible even on jpayne@68: systems with only 16\ MiB RAM. (\fB\-5e\fP or \fB\-6e\fP may be worth considering jpayne@68: too. See \fB\-\-extreme\fP.) jpayne@68: .TP jpayne@68: \fB\-7 ... \-9\fP jpayne@68: C'est comme \fB\-6\fP mais avec des besoins en mémoire plus élevés pour la jpayne@68: compression et la décompression. Ce n'est utile que lorsque les fichiers jpayne@68: sont plus gros que 8\ Mio, 16\ Mio et 32\ Mio respectivement. jpayne@68: .RE jpayne@68: .IP "" jpayne@68: Sur le même matériel, la vitesse de décompression est sensiblement un nombre jpayne@68: constant d'octets de données compressées par seconde. En d'autres termes, jpayne@68: meilleure est la compression, plus rapide sera en général la jpayne@68: décompression. Cela signifie aussi que la quantité de sortie non compressée jpayne@68: produite par seconde peut varier beaucoup. jpayne@68: .IP "" jpayne@68: Le tableau suivant résume les caractéristiques des préréglages : jpayne@68: .RS jpayne@68: .RS jpayne@68: .PP jpayne@68: .TS jpayne@68: tab(;); jpayne@68: c c c c c jpayne@68: n n n n n. jpayne@68: Préréglage;DictSize;CompCPU;CompMem;DecMem jpayne@68: \-0;256 KiB;0;3 MiB;1 MiB jpayne@68: \-1;1 MiB;1;9 MiB;2 MiB jpayne@68: \-2;2 MiB;2;17 MiB;3 MiB jpayne@68: \-3;4 MiB;3;32 MiB;5 MiB jpayne@68: \-4;4 MiB;4;48 MiB;5 MiB jpayne@68: \-5;8 MiB;5;94 MiB;9 MiB jpayne@68: \-6;8 MiB;6;94 MiB;9 MiB jpayne@68: \-7;16 MiB;6;186 MiB;17 MiB jpayne@68: \-8;32 MiB;6;370 MiB;33 MiB jpayne@68: \-9;64 MiB;6;674 MiB;65 MiB jpayne@68: .TE jpayne@68: .RE jpayne@68: .RE jpayne@68: .IP "" jpayne@68: Descriptions des colonnes : jpayne@68: .RS jpayne@68: .IP \(bu 3 jpayne@68: DictSize est la taille du dictionnaire de LZMA2. Utiliser un dictionnaire jpayne@68: plus gros que la taille du fichier non compressé est un gaspillage de jpayne@68: mémoire. C'est pourquoi il est bon d'éviter d'utiliser les préréglages de jpayne@68: \fB\-7\fP à \fB\-9\fP lorsqu'il n'y en a pas vraiment besoin. A \fB\-6\fP et plus bas, jpayne@68: la quantité de mémoire gaspillée est généralement assez basse pour ne pas jpayne@68: être un problème. jpayne@68: .IP \(bu 3 jpayne@68: CompCPU est une représentation des préréglages de LZMA2 qui affectent la jpayne@68: vitesse de compression. La taille du dictionnaire aussi affecte la vitesse, jpayne@68: alors comme CompCPU est le même pour les niveaux de \fB\-6\fP à \fB\-9\fP, les plus jpayne@68: haut niveaux tendent à être un peu moins rapides. Pour être encore moins jpayne@68: rapide et du coup obtenir peut être une meilleure compression, consultez jpayne@68: \fB\-\-extreme\fP. jpayne@68: .IP \(bu 3 jpayne@68: CompMem contains the compressor memory requirements in the single\-threaded jpayne@68: mode. It may vary slightly between \fBxz\fP versions. jpayne@68: .IP \(bu 3 jpayne@68: DecMem contient les besoins en mémoire du décompresseur. Ce sont les jpayne@68: réglages de la compression qui déterminent les besoins en mémoire de la jpayne@68: décompression. L'exacte utilisation de la mémoire est légèrement supérieure jpayne@68: à la taille du dictionnaire LZMA2, mais les valeurs dans la table ont été jpayne@68: arrondies au prochain Mio supérieur. jpayne@68: .RE jpayne@68: .IP "" jpayne@68: Memory requirements of the multi\-threaded mode are significantly higher than jpayne@68: that of the single\-threaded mode. With the default value of jpayne@68: \fB\-\-block\-size\fP, each thread needs 3*3*DictSize plus CompMem or DecMem. For jpayne@68: example, four threads with preset \fB\-6\fP needs 660\(en670\ MiB of memory. jpayne@68: .TP jpayne@68: \fB\-e\fP, \fB\-\-extreme\fP jpayne@68: Utilisez un variant plus lent que les préréglages (\fB\-0\fP à \fB\-9\fP) pour jpayne@68: espérer avoir un taux de compression légèrement meilleur, mais en cas de jpayne@68: malchance cela peut être pire. L'utilisation mémoire du décompresseur n'est jpayne@68: pas affectée, mais l'utilisation mémoire du compresseur augmente un peu aux jpayne@68: niveaux de préréglages de \fB\-0\fP à \fB\-3\fP. jpayne@68: .IP "" jpayne@68: Depuis qu'il y a deux préréglages avec des tailles de dictionnaire de 4\ Mio jpayne@68: et 8 \Mio, les préréglages \fB\-3e\fP et \fB\-5e\fP utilisent des réglages jpayne@68: légèrement plus rapides que \fB\-4e\fP et \fB\-6e\fP, respectivement. De cette jpayne@68: manière, il n'y a pas deux préréglages identiques. jpayne@68: .RS jpayne@68: .RS jpayne@68: .PP jpayne@68: .TS jpayne@68: tab(;); jpayne@68: c c c c c jpayne@68: n n n n n. jpayne@68: Préréglage;DictSize;CompCPU;CompMem;DecMem jpayne@68: \-0e;256 KiB;8;4 MiB;1 MiB jpayne@68: \-1e;1 MiB;8;13 MiB;2 MiB jpayne@68: \-2e;2 MiB;8;25 MiB;3 MiB jpayne@68: \-3e;4 MiB;7;48 MiB;5 MiB jpayne@68: \-4e;4 MiB;8;48 MiB;5 MiB jpayne@68: \-5e;8 MiB;7;94 MiB;9 MiB jpayne@68: \-6e;8 MiB;8;94 MiB;9 MiB jpayne@68: \-7e;16 MiB;8;186 MiB;17 MiB jpayne@68: \-8e;32 MiB;8;370 MiB;33 MiB jpayne@68: \-9e;64 MiB;8;674 MiB;65 MiB jpayne@68: .TE jpayne@68: .RE jpayne@68: .RE jpayne@68: .IP "" jpayne@68: Par exemple, il y a un total de quatre préréglages qui utilisent un jpayne@68: dictionnaire de 8 Mio et qui sont dans l'ordre du plus rapide au plus lent : jpayne@68: \fB\-5\fP, \fB\-6\fP, \fB\-5e\fP et \fB\-6e\fP. jpayne@68: .TP jpayne@68: \fB\-\-fast\fP jpayne@68: .PD 0 jpayne@68: .TP jpayne@68: \fB\-\-best\fP jpayne@68: .PD jpayne@68: Il y a néanmoins des alias trompeurs pour \fB\-0\fP et \fB\-9\fP, jpayne@68: respectivement. Ils ne sont fournis que pour des besoins de jpayne@68: rétro\-compatibilité avec les utilitaires LZMA. Evitez d'utiliser ces jpayne@68: options. jpayne@68: .TP jpayne@68: \fB\-\-block\-size=\fP\fItaille\fP jpayne@68: Lors de la compression dans le format \fB.xz\fP, les données de l'entrée sont jpayne@68: réparties en blocs de \fItaille\fP octets. Les blocs sont compressés jpayne@68: indépendamment les un des autres, ce qui aide avec le mode multithread jpayne@68: (multi\-threading) et rend possible la décompression à accès aléatoire jpayne@68: limité. Cette option est typiquement utilisée pour outrepasser la taille de jpayne@68: bloc en mode multithread, mais cette option peut aussi être utilisée en mode jpayne@68: single\-thread. jpayne@68: .IP "" jpayne@68: In multi\-threaded mode about three times \fIsize\fP bytes will be allocated in jpayne@68: each thread for buffering input and output. The default \fIsize\fP is three jpayne@68: times the LZMA2 dictionary size or 1 MiB, whichever is more. Typically a jpayne@68: good value is 2\(en4 times the size of the LZMA2 dictionary or at least 1 jpayne@68: MiB. Using \fIsize\fP less than the LZMA2 dictionary size is waste of RAM jpayne@68: because then the LZMA2 dictionary buffer will never get fully used. In jpayne@68: multi\-threaded mode, the sizes of the blocks are stored in the block jpayne@68: headers. This size information is required for multi\-threaded jpayne@68: decompression. jpayne@68: .IP "" jpayne@68: In single\-threaded mode no block splitting is done by default. Setting this jpayne@68: option doesn't affect memory usage. No size information is stored in block jpayne@68: headers, thus files created in single\-threaded mode won't be identical to jpayne@68: files created in multi\-threaded mode. The lack of size information also jpayne@68: means that \fBxz\fP won't be able decompress the files in multi\-threaded mode. jpayne@68: .TP jpayne@68: \fB\-\-block\-list=\fP\fIitems\fP jpayne@68: When compressing to the \fB.xz\fP format, start a new block with an optional jpayne@68: custom filter chain after the given intervals of uncompressed data. jpayne@68: .IP "" jpayne@68: The \fIitems\fP are a comma\-separated list. Each item consists of an optional jpayne@68: filter chain number between 0 and 9 followed by a colon (\fB:\fP) and a jpayne@68: required size of uncompressed data. Omitting an item (two or more jpayne@68: consecutive commas) is a shorthand to use the size and filters of the jpayne@68: previous item. jpayne@68: .IP "" jpayne@68: If the input file is bigger than the sum of the sizes in \fIitems\fP, the last jpayne@68: item is repeated until the end of the file. A special value of \fB0\fP may be jpayne@68: used as the last size to indicate that the rest of the file should be jpayne@68: encoded as a single block. jpayne@68: .IP "" jpayne@68: An alternative filter chain for each block can be specified in combination jpayne@68: with the \fB\-\-filters1=\fP\fIfilters\fP \&...\& \fB\-\-filters9=\fP\fIfilters\fP options. jpayne@68: These options define filter chains with an identifier between 1\(en9. jpayne@68: Filter chain 0 can be used to refer to the default filter chain, which is jpayne@68: the same as not specifying a filter chain. The filter chain identifier can jpayne@68: be used before the uncompressed size, followed by a colon (\fB:\fP). For jpayne@68: example, if one specifies \fB\-\-block\-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB\fP jpayne@68: then blocks will be created using: jpayne@68: .RS jpayne@68: .IP \(bu 3 jpayne@68: The filter chain specified by \fB\-\-filters1\fP and 2 MiB input jpayne@68: .IP \(bu 3 jpayne@68: The filter chain specified by \fB\-\-filters3\fP and 2 MiB input jpayne@68: .IP \(bu 3 jpayne@68: The filter chain specified by \fB\-\-filters2\fP and 4 MiB input jpayne@68: .IP \(bu 3 jpayne@68: The filter chain specified by \fB\-\-filters2\fP and 4 MiB input jpayne@68: .IP \(bu 3 jpayne@68: The default filter chain and 2 MiB input jpayne@68: .IP \(bu 3 jpayne@68: The default filter chain and 4 MiB input for every block until end of input. jpayne@68: .RE jpayne@68: .IP "" jpayne@68: If one specifies a size that exceeds the encoder's block size (either the jpayne@68: default value in threaded mode or the value specified with jpayne@68: \fB\-\-block\-size=\fP\fIsize\fP), the encoder will create additional blocks while jpayne@68: keeping the boundaries specified in \fIitems\fP. For example, if one specifies jpayne@68: \fB\-\-block\-size=10MiB\fP \fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP and the jpayne@68: input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, jpayne@68: 10, 10, and 1 MiB. jpayne@68: .IP "" jpayne@68: En mode multi\-threadé les tailles de blocs sont stockées dans les en\-têtes jpayne@68: du bloc. Cela ne se fait pas en mode mono\-threadé, la sortie encodée ne sera jpayne@68: donc pas identique à celle faite en mode multi\-threadé. jpayne@68: .TP jpayne@68: \fB\-\-flush\-timeout=\fP\fItemps_d'attente\fP jpayne@68: Lors de la compression, si plus que \fItemps_d'attente\fP millisecondes (un jpayne@68: entier positif) se sont écoulées depuis le précédent vidage et que lire plus jpayne@68: de données bloquerait, toutes les données d'entrée en attente sont vidées de jpayne@68: l'encodeur et mises à disposition dans le flux de sortie. Cela peut être jpayne@68: utile si \fBxz\fP est utilisé pour compresser les données qui sont diffusées jpayne@68: sur un réseau. Des petites valeurs de \fItemps_d'attente\fP rendent les données jpayne@68: disponibles à l'extrémité réceptrice avec un léger retard, mais les grandes jpayne@68: valeurs de \fItemps_d'attente\fP donnent un meilleur taux de compression. jpayne@68: .IP "" jpayne@68: Cette option est désactivée par défaut. Si cette option est indiquée plus jpayne@68: d'une fois, la dernière prend effet. La valeur spéciale de jpayne@68: \fItemps_d'attente\fP de \fB0\fP peut être utilisée pour explicitement désactiver jpayne@68: cette option. jpayne@68: .IP "" jpayne@68: Cette option n'est pas disponible sur les systèmes qui ne sont pas POSIX. jpayne@68: .IP "" jpayne@68: .\" FIXME jpayne@68: \fBCette option est encore expérimentale.\fP Actuellement, \fBxz\fP ne convient jpayne@68: pas pour décompresser le flux en temps réel en raison de la façon dont \fBxz\fP jpayne@68: effectue la mise en mémoire tampon. jpayne@68: .TP jpayne@68: \fB\-\-memlimit\-compress=\fP\fIlimite\fP jpayne@68: Indiquer une limite d'utilisation de la mémoire pour la compression. Si jpayne@68: cette option est indiquée plusieurs fois, c'est la dernière qui est prise en jpayne@68: compte. jpayne@68: .IP "" jpayne@68: If the compression settings exceed the \fIlimit\fP, \fBxz\fP will attempt to jpayne@68: adjust the settings downwards so that the limit is no longer exceeded and jpayne@68: display a notice that automatic adjustment was done. The adjustments are jpayne@68: done in this order: reducing the number of threads, switching to jpayne@68: single\-threaded mode if even one thread in multi\-threaded mode exceeds the jpayne@68: \fIlimit\fP, and finally reducing the LZMA2 dictionary size. jpayne@68: .IP "" jpayne@68: When compressing with \fB\-\-format=raw\fP or if \fB\-\-no\-adjust\fP has been jpayne@68: specified, only the number of threads may be reduced since it can be done jpayne@68: without affecting the compressed output. jpayne@68: .IP "" jpayne@68: If the \fIlimit\fP cannot be met even with the adjustments described above, an jpayne@68: error is displayed and \fBxz\fP will exit with exit status 1. jpayne@68: .IP "" jpayne@68: La \fIlimite\fP peut être indiquée de plusieurs façons : jpayne@68: .RS jpayne@68: .IP \(bu 3 jpayne@68: La \fIlimite\fP peut être une valeur absolue en octets. Utiliser un suffixe jpayne@68: d'entier comme \fBMiB\fP peut être utile. Exemple : jpayne@68: \fB\-\-memlimit\-compress=80MiB\fP jpayne@68: .IP \(bu 3 jpayne@68: La \fIlimite\fP peut être indiquée sous forme d'un pourcentage de la mémoire jpayne@68: physique totale (RAM). Cela peut être particulièrement utile quand la jpayne@68: variable d'environnement \fBXZ_DEFAULTS\fP est indiquée dans un script jpayne@68: d'initialisation de l'interpréteur partagé entre différents ordinateurs. De jpayne@68: cette façon la limite est automatiquement plus grande sur les systèmes avec jpayne@68: plus de mémoire. Exemple : \fB\-\-memlimit=70%\fP jpayne@68: .IP \(bu 3 jpayne@68: The \fIlimit\fP can be reset back to its default value by setting it to \fB0\fP. jpayne@68: This is currently equivalent to setting the \fIlimit\fP to \fBmax\fP (no memory jpayne@68: usage limit). jpayne@68: .RE jpayne@68: .IP "" jpayne@68: For 32\-bit \fBxz\fP there is a special case: if the \fIlimit\fP would be over jpayne@68: \fB4020\ MiB\fP, the \fIlimit\fP is set to \fB4020\ MiB\fP. On MIPS32 \fB2000\ MiB\fP jpayne@68: is used instead. (The values \fB0\fP and \fBmax\fP aren't affected by this. A jpayne@68: similar feature doesn't exist for decompression.) This can be helpful when jpayne@68: a 32\-bit executable has access to 4\ GiB address space (2 GiB on MIPS32) jpayne@68: while hopefully doing no harm in other situations. jpayne@68: .IP "" jpayne@68: Voir aussi la section \fButilisation de la mémoire\fP. jpayne@68: .TP jpayne@68: \fB\-\-memlimit\-decompress=\fP\fIlimite\fP jpayne@68: Régler une limite d'utilisation de la mémoire pour la décompression. Cela a jpayne@68: un effet sur le mode \fB\-\-list\fP. Si l'opération n'est pas possible sans jpayne@68: dépasser la \fIlimite\fP, \fBxz\fP affichera une erreur et la décompression jpayne@68: échouera. Voir \fB\-\-memlimit\-compress=\fP\fIlimite\fP pour les manières possibles jpayne@68: d'indiquer la \fIlimite\fP. jpayne@68: .TP jpayne@68: \fB\-\-memlimit\-mt\-decompress=\fP\fIlimit\fP jpayne@68: Set a memory usage limit for multi\-threaded decompression. This can only jpayne@68: affect the number of threads; this will never make \fBxz\fP refuse to jpayne@68: decompress a file. If \fIlimit\fP is too low to allow any multi\-threading, the jpayne@68: \fIlimit\fP is ignored and \fBxz\fP will continue in single\-threaded mode. Note jpayne@68: that if also \fB\-\-memlimit\-decompress\fP is used, it will always apply to both jpayne@68: single\-threaded and multi\-threaded modes, and so the effective \fIlimit\fP for jpayne@68: multi\-threading will never be higher than the limit set with jpayne@68: \fB\-\-memlimit\-decompress\fP. jpayne@68: .IP "" jpayne@68: In contrast to the other memory usage limit options, jpayne@68: \fB\-\-memlimit\-mt\-decompress=\fP\fIlimit\fP has a system\-specific default jpayne@68: \fIlimit\fP. \fBxz \-\-info\-memory\fP can be used to see the current value. jpayne@68: .IP "" jpayne@68: This option and its default value exist because without any limit the jpayne@68: threaded decompressor could end up allocating an insane amount of memory jpayne@68: with some input files. If the default \fIlimit\fP is too low on your system, jpayne@68: feel free to increase the \fIlimit\fP but never set it to a value larger than jpayne@68: the amount of usable RAM as with appropriate input files \fBxz\fP will attempt jpayne@68: to use that amount of memory even with a low number of threads. Running out jpayne@68: of memory or swapping will not improve decompression performance. jpayne@68: .IP "" jpayne@68: See \fB\-\-memlimit\-compress=\fP\fIlimit\fP for possible ways to specify the jpayne@68: \fIlimit\fP. Setting \fIlimit\fP to \fB0\fP resets the \fIlimit\fP to the default jpayne@68: system\-specific value. jpayne@68: .TP jpayne@68: \fB\-M\fP \fIlimite\fP, \fB\-\-memlimit=\fP\fIlimite\fP, \fB\-\-memory=\fP\fIlimite\fP jpayne@68: This is equivalent to specifying \fB\-\-memlimit\-compress=\fP\fIlimit\fP jpayne@68: \fB\-\-memlimit\-decompress=\fP\fIlimit\fP \fB\-\-memlimit\-mt\-decompress=\fP\fIlimit\fP. jpayne@68: .TP jpayne@68: \fB\-\-no\-adjust\fP jpayne@68: Display an error and exit if the memory usage limit cannot be met without jpayne@68: adjusting settings that affect the compressed output. That is, this jpayne@68: prevents \fBxz\fP from switching the encoder from multi\-threaded mode to jpayne@68: single\-threaded mode and from reducing the LZMA2 dictionary size. Even when jpayne@68: this option is used the number of threads may be reduced to meet the memory jpayne@68: usage limit as that won't affect the compressed output. jpayne@68: .IP "" jpayne@68: Automatic adjusting is always disabled when creating raw streams jpayne@68: (\fB\-\-format=raw\fP). jpayne@68: .TP jpayne@68: \fB\-T\fP \fIthreads\fP, \fB\-\-threads=\fP\fIthreads\fP jpayne@68: Specify the number of worker threads to use. Setting \fIthreads\fP to a jpayne@68: special value \fB0\fP makes \fBxz\fP use up to as many threads as the processor(s) jpayne@68: on the system support. The actual number of threads can be fewer than jpayne@68: \fIthreads\fP if the input file is not big enough for threading with the given jpayne@68: settings or if using more threads would exceed the memory usage limit. jpayne@68: .IP "" jpayne@68: The single\-threaded and multi\-threaded compressors produce different jpayne@68: output. Single\-threaded compressor will give the smallest file size but jpayne@68: only the output from the multi\-threaded compressor can be decompressed using jpayne@68: multiple threads. Setting \fIthreads\fP to \fB1\fP will use the single\-threaded jpayne@68: mode. Setting \fIthreads\fP to any other value, including \fB0\fP, will use the jpayne@68: multi\-threaded compressor even if the system supports only one hardware jpayne@68: thread. (\fBxz\fP 5.2.x used single\-threaded mode in this situation.) jpayne@68: .IP "" jpayne@68: To use multi\-threaded mode with only one thread, set \fIthreads\fP to \fB+1\fP. jpayne@68: The \fB+\fP prefix has no effect with values other than \fB1\fP. A memory usage jpayne@68: limit can still make \fBxz\fP switch to single\-threaded mode unless jpayne@68: \fB\-\-no\-adjust\fP is used. Support for the \fB+\fP prefix was added in \fBxz\fP jpayne@68: 5.4.0. jpayne@68: .IP "" jpayne@68: If an automatic number of threads has been requested and no memory usage jpayne@68: limit has been specified, then a system\-specific default soft limit will be jpayne@68: used to possibly limit the number of threads. It is a soft limit in sense jpayne@68: that it is ignored if the number of threads becomes one, thus a soft limit jpayne@68: will never stop \fBxz\fP from compressing or decompressing. This default soft jpayne@68: limit will not make \fBxz\fP switch from multi\-threaded mode to single\-threaded jpayne@68: mode. The active limits can be seen with \fBxz \-\-info\-memory\fP. jpayne@68: .IP "" jpayne@68: Actuellement, la seule méthode de gestion avec des threads consiste à jpayne@68: séparer l'entrée en blocs et de les compresser indépendamment les uns des jpayne@68: autres. La taille par défaut des blocs dépend du niveau de compression et jpayne@68: peut\-être remplacée avec l'option \fB\-\-block\-size=\fP\fItaille\fP. jpayne@68: .IP "" jpayne@68: Threaded decompression only works on files that contain multiple blocks with jpayne@68: size information in block headers. All large enough files compressed in jpayne@68: multi\-threaded mode meet this condition, but files compressed in jpayne@68: single\-threaded mode don't even if \fB\-\-block\-size=\fP\fIsize\fP has been used. jpayne@68: .IP "" jpayne@68: The default value for \fIthreads\fP is \fB0\fP. In \fBxz\fP 5.4.x and older the jpayne@68: default is \fB1\fP. jpayne@68: . jpayne@68: .SS "Chaînes de filtres de compresseur personnalisées" jpayne@68: A custom filter chain allows specifying the compression settings in detail jpayne@68: instead of relying on the settings associated to the presets. When a custom jpayne@68: filter chain is specified, preset options (\fB\-0\fP \&...\& \fB\-9\fP and jpayne@68: \fB\-\-extreme\fP) earlier on the command line are forgotten. If a preset jpayne@68: option is specified after one or more custom filter chain options, the new jpayne@68: preset takes effect and the custom filter chain options specified earlier jpayne@68: are forgotten. jpayne@68: .PP jpayne@68: Une chaîne de filtre est comparable à une redirection (pipe) sur la ligne de jpayne@68: commande. Lors de la compression, les entrées non compressées vont au jpayne@68: premier filtre, dont la sortie va au prochain filtre (s'il y en a). La jpayne@68: sortie du dernier filtre est écrite sur le fichier compressé. Le nombre jpayne@68: maximal de filtres dans la chaîne est quatre, mais habituellement, un chaîne jpayne@68: de filtre n'a qu'un ou deux filtres. jpayne@68: .PP jpayne@68: Beaucoup de filtres ont des limitations sur l'endroit où ils peuvent se jpayne@68: placer dans la chaîne de filtre : quelques filtres ne peuvent fonctionner jpayne@68: qu'en tant que dernier filtre dans la chaîne, quelques uns en tant que non jpayne@68: dernier filtre, et d'autres à n'importe quelle position dans la jpayne@68: chaîne. Suivant le filtre, cette limitation est soit inhérente au profil du jpayne@68: filtre, soit existe pour des raisons de sécurité. jpayne@68: .PP jpayne@68: A custom filter chain can be specified in two different ways. The options jpayne@68: \fB\-\-filters=\fP\fIfilters\fP and \fB\-\-filters1=\fP\fIfilters\fP \&...\& jpayne@68: \fB\-\-filters9=\fP\fIfilters\fP allow specifying an entire filter chain in one jpayne@68: option using the liblzma filter string syntax. Alternatively, a filter jpayne@68: chain can be specified by using one or more individual filter options in the jpayne@68: order they are wanted in the filter chain. That is, the order of the jpayne@68: individual filter options is significant! When decoding raw streams jpayne@68: (\fB\-\-format=raw\fP), the filter chain must be specified in the same order as jpayne@68: it was specified when compressing. Any individual filter or preset options jpayne@68: specified before the full chain option (\fB\-\-filters=\fP\fIfilters\fP) will be jpayne@68: forgotten. Individual filters specified after the full chain option will jpayne@68: reset the filter chain. jpayne@68: .PP jpayne@68: Both the full and individual filter options take filter\-specific \fIoptions\fP jpayne@68: as a comma\-separated list. Extra commas in \fIoptions\fP are ignored. Every jpayne@68: option has a default value, so specify those you want to change. jpayne@68: .PP jpayne@68: Pour voir l'entièreté de la chaîne de filtres et ses \fIoptions\fP, utilisez jpayne@68: \fBxz \-vv\fP (ce qui est comme utiliser \fB\-\-verbose\fP deux fois). Cela jpayne@68: fonctionne aussi pour voir les options de chaîne de filtres utilisées par jpayne@68: les préréglages. jpayne@68: .TP jpayne@68: \fB\-\-filters=\fP\fIfilters\fP jpayne@68: Specify the full filter chain or a preset in a single option. Each filter jpayne@68: can be separated by spaces or two dashes (\fB\-\-\fP). \fIfilters\fP may need to be jpayne@68: quoted on the shell command line so it is parsed as a single option. To jpayne@68: denote \fIoptions\fP, use \fB:\fP or \fB=\fP. A preset can be prefixed with a \fB\-\fP jpayne@68: and followed with zero or more flags. The only supported flag is \fBe\fP to jpayne@68: apply the same options as \fB\-\-extreme\fP. jpayne@68: .TP jpayne@68: \fB\-\-filters1\fP=\fIfilters\fP ... \fB\-\-filters9\fP=\fIfilters\fP jpayne@68: Specify up to nine additional filter chains that can be used with jpayne@68: \fB\-\-block\-list\fP. jpayne@68: .IP "" jpayne@68: For example, when compressing an archive with executable files followed by jpayne@68: text files, the executable part could use a filter chain with a BCJ filter jpayne@68: and the text part only the LZMA2 filter. jpayne@68: .TP jpayne@68: \fB\-\-filters\-help\fP jpayne@68: Display a help message describing how to specify presets and custom filter jpayne@68: chains in the \fB\-\-filters\fP and \fB\-\-filters1=\fP\fIfilters\fP \&...\& jpayne@68: \fB\-\-filters9=\fP\fIfilters\fP options, and exit successfully. jpayne@68: .TP jpayne@68: \fB\-\-lzma1\fP[\fB=\fP\fIoptions\fP] jpayne@68: .PD 0 jpayne@68: .TP jpayne@68: \fB\-\-lzma2\fP[\fB=\fP\fIoptions\fP] jpayne@68: .PD jpayne@68: Ajouter le filtre LZMA1 ou LZMA2 à la chaîne de filtres. Ces filtres ne jpayne@68: peuvent être utilisés que comme dernier filtre dans la chaîne. jpayne@68: .IP "" jpayne@68: LZMA1 est un filtre historique, qui n'est pris en charge presque uniquement jpayne@68: à cause de l'ancien format de fichier \fB.lzma\fP, qui ne prend en charge que jpayne@68: LZMA1. LZMA2 est une version mise à jour de LZMA1 pour régler certains jpayne@68: problèmes pratiques de LZMA1. Le format \fBxz\fP utilise LZMA2 et ne prend pas jpayne@68: du tout en charge LZMA1. Les taux et vitesses de compression de LZMA1 et jpayne@68: LZMA2 sont pratiquement identiques. jpayne@68: .IP "" jpayne@68: LZMA1 et LZMA2 partagent le même ensemble d'\fIoptions\fP : jpayne@68: .RS jpayne@68: .TP jpayne@68: \fBpreset=\fP\fIpréréglage\fP jpayne@68: Reset all LZMA1 or LZMA2 \fIoptions\fP to \fIpreset\fP. \fIPreset\fP consist of an jpayne@68: integer, which may be followed by single\-letter preset modifiers. The jpayne@68: integer can be from \fB0\fP to \fB9\fP, matching the command line options \fB\-0\fP jpayne@68: \&...\& \fB\-9\fP. The only supported modifier is currently \fBe\fP, which matches jpayne@68: \fB\-\-extreme\fP. If no \fBpreset\fP is specified, the default values of LZMA1 or jpayne@68: LZMA2 \fIoptions\fP are taken from the preset \fB6\fP. jpayne@68: .TP jpayne@68: \fBdict=\fP\fItaille\fP jpayne@68: La \fItaille\fP du dictionnaire (historique du tampon) indique combien d'octets jpayne@68: des données récement décompressées sont gardés en mémoire. L'algorithme jpayne@68: essaie de trouver les séquences d'octets répétées (identiques) dans les jpayne@68: données décompressées et les remplace par les données actuellement dans le jpayne@68: dictionnaire. Plus gros est le dictionnaire, plus grande est la chance de jpayne@68: trouver une correspondance. Ainsi, l'augmentation de la \fItaille\fP du jpayne@68: dictionnaire augmente habituellement le taux de compression, mais un jpayne@68: dictionnaire plus gros que le fichier non compressé est un gachis de jpayne@68: mémoire. jpayne@68: .IP "" jpayne@68: Généralement la \fItaille\fP du dictionnaire est entre 64\ Kio et 64\ Mio. Le jpayne@68: minimum étant 4\ Kio. La \fItaille\fP maximale pour la compression est jpayne@68: habituellement 1,5\ Gio (1536\ Mio). Le décompresseur prend en charge les jpayne@68: dictionnaires jusqu'à un octet de moins que 4\ Gio, ce qui est le maximum jpayne@68: pour les formats de flux LZMA1 et LZMA2. jpayne@68: .IP "" jpayne@68: La \fItaille\fP du dictionnaire et le chercheur de correspondance (match jpayne@68: finder) (\fImf\fP) déterminent ensemble l'utilisation de la mémoire de jpayne@68: l'encodeur LZMA1 ou LZMA2. La même (ou une plus grosse) \fItaille\fP de jpayne@68: dictionnaire est requise pour décompresser que ce qui a été utilisé pour la jpayne@68: compression, ainsi l'utilisation de la mémoire du décodeur est déterminée jpayne@68: par la taille du dictionnaire utilisée lors de la compression. Les en\-têtes jpayne@68: de \fB.xz\fP stockent la \fItaille\fP de dictionnaire sous la forme 2^\fIn\fP ou jpayne@68: 2^\fIn\fP + 2^(\fIn\fP\-1), de sorte que ces \fItailles\fP sont quelque peu préférées jpayne@68: pour la compression. Les autres \fItailles\fP seront arrondies à la hausse jpayne@68: lorsque stockées dans les en\-têtes de \fB.xz\fP. jpayne@68: .TP jpayne@68: \fBlc=\fP\fIlc\fP jpayne@68: Spécifiez le nombre d'octets de contexte littéraux. Le minimum est \fB0\fP et jpayne@68: le maximum est \fB4\fP. La valeur par défaut est \fB3\fP. En plus, la somme de jpayne@68: \fIlc\fP et \fIlp\fP ne doit pas excéder \fB4\fP. jpayne@68: .IP "" jpayne@68: Tous les octets qui ne peuvent pas être codés comme des correspondances sont jpayne@68: codés comme des littéraux. C'est à dire que les littéraux sont simplement jpayne@68: des octets 8 bits encodés un à la fois. jpayne@68: .IP "" jpayne@68: The literal coding makes an assumption that the highest \fIlc\fP bits of the jpayne@68: previous uncompressed byte correlate with the next byte. For example, in jpayne@68: typical English text, an upper\-case letter is often followed by a lower\-case jpayne@68: letter, and a lower\-case letter is usually followed by another lower\-case jpayne@68: letter. In the US\-ASCII character set, the highest three bits are 010 for jpayne@68: upper\-case letters and 011 for lower\-case letters. When \fIlc\fP is at least jpayne@68: 3, the literal coding can take advantage of this property in the jpayne@68: uncompressed data. jpayne@68: .IP "" jpayne@68: The default value (3) is usually good. If you want maximum compression, jpayne@68: test \fBlc=4\fP. Sometimes it helps a little, and sometimes it makes jpayne@68: compression worse. If it makes it worse, test \fBlc=2\fP too. jpayne@68: .TP jpayne@68: \fBlp=\fP\fIlp\fP jpayne@68: Indiquer le nombre de bits de position littérale. Le minimum est \fB0\fP et le jpayne@68: maximum \fB4\fP; par défaut c'est \fB0\fP. jpayne@68: .IP "" jpayne@68: \fILp\fP affecte le type d'alignement dans les données décompressées qui est jpayne@68: présumé lors de l'encodage des littéraux. Voir \fIpb\fP ci dessous pour plus jpayne@68: d'information sur l'alignement. jpayne@68: .TP jpayne@68: \fBpb=\fP\fIpb\fP jpayne@68: Indiquer le nombre de bits de position. Le minimum est \fB0\fP et le maximum jpayne@68: \fB4\fP; par défaut \fB2\fP. jpayne@68: .IP "" jpayne@68: \fIPb\fP affecte quel genre d'alignement est présumé en général dans les jpayne@68: données non compressées. Par défaut c'est un alignement de quatre octets jpayne@68: (2^\fIpb\fP=2^2=4), ce qui est généralement un bon choix lorsqu'il n'y a pas de jpayne@68: meilleure estimation. jpayne@68: .IP "" jpayne@68: When the alignment is known, setting \fIpb\fP accordingly may reduce the file jpayne@68: size a little. For example, with text files having one\-byte alignment jpayne@68: (US\-ASCII, ISO\-8859\-*, UTF\-8), setting \fBpb=0\fP can improve compression jpayne@68: slightly. For UTF\-16 text, \fBpb=1\fP is a good choice. If the alignment is jpayne@68: an odd number like 3 bytes, \fBpb=0\fP might be the best choice. jpayne@68: .IP "" jpayne@68: Même si l'alignement présumé peut être ajusté avec \fIpb\fP et \fIlp\fP, LZMA1 et jpayne@68: LZMA2 favorisent toujours légèrement l'alignement sur 16 octets. Il peut jpayne@68: être utile d'en tenir compte lors de la conception de formats de fichiers jpayne@68: susceptibles d'être souvent compressés avec LZMA1 ou LZMA2. jpayne@68: .TP jpayne@68: \fBmf=\fP\fImf\fP jpayne@68: Match finder has a major effect on encoder speed, memory usage, and jpayne@68: compression ratio. Usually Hash Chain match finders are faster than Binary jpayne@68: Tree match finders. The default depends on the \fIpreset\fP: 0 uses \fBhc3\fP, jpayne@68: 1\(en3 use \fBhc4\fP, and the rest use \fBbt4\fP. jpayne@68: .IP "" jpayne@68: Les chercheurs de correspondance suivants sont pris en charge. Les formules jpayne@68: d'utilisation de la mémoire ci\-dessous sont des approximations grossières jpayne@68: qui sont les plus proches de la réalité lorsque \fIdict\fP est une puissance de jpayne@68: deux. jpayne@68: .RS jpayne@68: .TP jpayne@68: \fBhc3\fP jpayne@68: Chaîne de hachage avec hachage de 2 et 3 octets jpayne@68: .br jpayne@68: Valeur minimale pour \fInice\fP : \fB3\fP jpayne@68: .br jpayne@68: Utilisation de la mémoire : jpayne@68: .br jpayne@68: \fIdict\fP * 7.5 (if \fIdict\fP <= 16 Mio); jpayne@68: .br jpayne@68: \fIdict\fP * 5.5 + 64 MiB (si \fIdict\fP > 16 Mio) jpayne@68: .TP jpayne@68: \fBhc4\fP jpayne@68: Chaîne de hachage avec hachage de 2, 3 et 4 octets jpayne@68: .br jpayne@68: Valeur minimale pour \fInice\fP : \fB4\fP jpayne@68: .br jpayne@68: Utilisation de la mémoire : jpayne@68: .br jpayne@68: \fIdict\fP * 7.5 (si \fIdict\fP <= 32 Mio); jpayne@68: .br jpayne@68: \fIdict\fP * 6.5 (si \fIdict\fP > 32 Mio) jpayne@68: .TP jpayne@68: \fBbt2\fP jpayne@68: Arbre binaire avec hachage de 2 octets jpayne@68: .br jpayne@68: Valeur minimale pour \fInice\fP : \fB2\fP jpayne@68: .br jpayne@68: Utilisation de la mémoire : \fIdict\fP * 9.5 jpayne@68: .TP jpayne@68: \fBbt3\fP jpayne@68: Arbre binaire avec hachage de 2 et 3 octets jpayne@68: .br jpayne@68: Valeur minimale pour \fInice\fP : \fB3\fP jpayne@68: .br jpayne@68: Utilisation de la mémoire : jpayne@68: .br jpayne@68: \fIdict\fP * 11.5 (si \fIdict\fP <= 16 Mio); jpayne@68: .br jpayne@68: \fIdict\fP * 9.5 + 64 MiB (si \fIdict\fP > 16 Mio) jpayne@68: .TP jpayne@68: \fBbt4\fP jpayne@68: Arbre binaire avec hachage 2, 3 et 4 octets jpayne@68: .br jpayne@68: Valeur minimale pour \fInice\fP : \fB4\fP jpayne@68: .br jpayne@68: Utilisation de la mémoire : jpayne@68: .br jpayne@68: \fIdict\fP * 11.5 (si \fIdict\fP <= 32 Mio); jpayne@68: .br jpayne@68: \fIdict\fP * 10.5 (si \fIdict\fP > 32 Mio) jpayne@68: .RE jpayne@68: .TP jpayne@68: \fBmode=\fP\fImode\fP jpayne@68: Compression \fImode\fP specifies the method to analyze the data produced by the jpayne@68: match finder. Supported \fImodes\fP are \fBfast\fP and \fBnormal\fP. The default is jpayne@68: \fBfast\fP for \fIpresets\fP 0\(en3 and \fBnormal\fP for \fIpresets\fP 4\(en9. jpayne@68: .IP "" jpayne@68: Habituellement, \fBfast\fP est utilisé avec les chercheurs de correspondance de jpayne@68: chaîne de hachage et \fBnormal\fP avec les chercheurs de correspondance d'arbre jpayne@68: binaire. C'est aussi ce que font les \fIpréréglages\fP. jpayne@68: .TP jpayne@68: \fBnice=\fP\fInice\fP jpayne@68: Spécifier ce qui est considéré comme une bonne longueur pour une jpayne@68: correspondance. Une fois que la correspondance d'au moins \fInice\fP octets est jpayne@68: trouvée, l'algorithme arrête de chercher de meilleures correspondances jpayne@68: possibles. jpayne@68: .IP "" jpayne@68: \fINice\fP can be 2\(en273 bytes. Higher values tend to give better jpayne@68: compression ratio at the expense of speed. The default depends on the jpayne@68: \fIpreset\fP. jpayne@68: .TP jpayne@68: \fBdepth=\fP\fIprofondeur\fP jpayne@68: Spécifier la profondeur de recherche maximale dans l'outil de recherche de jpayne@68: correspondances. La valeur par défaut est \fB0\fP, ce qui fait que le jpayne@68: compresseur détermine une \fIprofondeur\fP raisonnable en fonction de \fImf\fP et jpayne@68: \fInice\fP. jpayne@68: .IP "" jpayne@68: Reasonable \fIdepth\fP for Hash Chains is 4\(en100 and 16\(en1000 for Binary jpayne@68: Trees. Using very high values for \fIdepth\fP can make the encoder extremely jpayne@68: slow with some files. Avoid setting the \fIdepth\fP over 1000 unless you are jpayne@68: prepared to interrupt the compression in case it is taking far too long. jpayne@68: .RE jpayne@68: .IP "" jpayne@68: Lors du décodage des flux bruts (\fB\-\-format=raw\fP), LZMA2 nécessite seulement jpayne@68: la \fItaille\fP du dictionnaire. LZMA1 nécessite aussi \fIlc\fP, \fIlp\fP et \fIpb\fP. jpayne@68: .TP jpayne@68: \fB\-\-x86\fP[\fB=\fP\fIoptions\fP] jpayne@68: .PD 0 jpayne@68: .TP jpayne@68: \fB\-\-arm\fP[\fB=\fP\fIoptions\fP] jpayne@68: .TP jpayne@68: \fB\-\-armthumb\fP[\fB=\fP\fIoptions\fP] jpayne@68: .TP jpayne@68: \fB\-\-arm64\fP[\fB=\fP\fIoptions\fP] jpayne@68: .TP jpayne@68: \fB\-\-powerpc\fP[\fB=\fP\fIoptions\fP] jpayne@68: .TP jpayne@68: \fB\-\-ia64\fP[\fB=\fP\fIoptions\fP] jpayne@68: .TP jpayne@68: \fB\-\-sparc\fP[\fB=\fP\fIoptions\fP] jpayne@68: .TP jpayne@68: \fB\-\-riscv\fP[\fB=\fP\fIoptions\fP] jpayne@68: .PD jpayne@68: Ajouter un filtre branch/call/jump (BCJ) à la chaîne de filtres. Ces filtres jpayne@68: ne peuvent être utilisés que s'ils ne sont pas le dernier filtre de la jpayne@68: chaîne de filtrage. jpayne@68: .IP "" jpayne@68: A BCJ filter converts relative addresses in the machine code to their jpayne@68: absolute counterparts. This doesn't change the size of the data but it jpayne@68: increases redundancy, which can help LZMA2 to produce 0\(en15\ % smaller jpayne@68: \&\fB.xz\fP file. The BCJ filters are always reversible, so using a BCJ filter jpayne@68: for wrong type of data doesn't cause any data loss, although it may make the jpayne@68: compression ratio slightly worse. The BCJ filters are very fast and use an jpayne@68: insignificant amount of memory. jpayne@68: .IP "" jpayne@68: Ces filtres BCJ présentent des problèmes connus liés au taux de jpayne@68: compression : jpayne@68: .RS jpayne@68: .IP \(bu 3 jpayne@68: Some types of files containing executable code (for example, object files, jpayne@68: static libraries, and Linux kernel modules) have the addresses in the jpayne@68: instructions filled with filler values. These BCJ filters will still do the jpayne@68: address conversion, which will make the compression worse with these files. jpayne@68: .IP \(bu 3 jpayne@68: If a BCJ filter is applied on an archive, it is possible that it makes the jpayne@68: compression ratio worse than not using a BCJ filter. For example, if there jpayne@68: are similar or even identical executables then filtering will likely make jpayne@68: the files less similar and thus compression is worse. The contents of jpayne@68: non\-executable files in the same archive can matter too. In practice one jpayne@68: has to try with and without a BCJ filter to see which is better in each jpayne@68: situation. jpayne@68: .RE jpayne@68: .IP "" jpayne@68: Different instruction sets have different alignment: the executable file jpayne@68: must be aligned to a multiple of this value in the input data to make the jpayne@68: filter work. jpayne@68: .RS jpayne@68: .RS jpayne@68: .PP jpayne@68: .TS jpayne@68: tab(;); jpayne@68: l n l jpayne@68: l n l. jpayne@68: Filtre;Alignement;Notes jpayne@68: x86;1;32 bits ou 64 bits x86 jpayne@68: ARM;4; jpayne@68: ARM\-Thumb;2; jpayne@68: ARM64;4;4096\-byte alignment is best jpayne@68: PowerPC;4;Grand boutiste seulement jpayne@68: IA\-64;16;Itanium jpayne@68: SPARC;4; jpayne@68: RISC\-V;2; jpayne@68: .TE jpayne@68: .RE jpayne@68: .RE jpayne@68: .IP "" jpayne@68: Since the BCJ\-filtered data is usually compressed with LZMA2, the jpayne@68: compression ratio may be improved slightly if the LZMA2 options are set to jpayne@68: match the alignment of the selected BCJ filter. Examples: jpayne@68: .RS jpayne@68: .IP \(bu 3 jpayne@68: IA\-64 filter has 16\-byte alignment so \fBpb=4,lp=4,lc=0\fP is good with LZMA2 jpayne@68: (2^4=16). jpayne@68: .IP \(bu 3 jpayne@68: RISC\-V code has 2\-byte or 4\-byte alignment depending on whether the file jpayne@68: contains 16\-bit compressed instructions (the C extension). When 16\-bit jpayne@68: instructions are used, \fBpb=2,lp=1,lc=3\fP or \fBpb=1,lp=1,lc=3\fP is good. When jpayne@68: 16\-bit instructions aren't present, \fBpb=2,lp=2,lc=2\fP is the best. jpayne@68: \fBreadelf \-h\fP can be used to check if "RVC" appears on the "Flags" line. jpayne@68: .IP \(bu 3 jpayne@68: ARM64 is always 4\-byte aligned so \fBpb=2,lp=2,lc=2\fP is the best. jpayne@68: .IP \(bu 3 jpayne@68: The x86 filter is an exception. It's usually good to stick to LZMA2's jpayne@68: defaults (\fBpb=2,lp=0,lc=3\fP) when compressing x86 executables. jpayne@68: .RE jpayne@68: .IP "" jpayne@68: Tous les filtres BCJ prennent en charge les mêmes \fIoptions\fP : jpayne@68: .RS jpayne@68: .TP jpayne@68: \fBstart=\fP\fIdécalage\fP jpayne@68: Spécifier le \fIdécalage\fP de départ qui est utilisé lors de la conversion jpayne@68: entre les adresses relatives et absolues. Le \fIdécalage\fP doit être un jpayne@68: multiple de l'alignement du filtre (voir la table ci\-dessus). Sa valeur par jpayne@68: défaut est zéro. En pratique, cette dernière convient ; indiquer un jpayne@68: \fIdécalage\fP personnalisé est la plupart du temps inutile. jpayne@68: .RE jpayne@68: .TP jpayne@68: \fB\-\-delta\fP[\fB=\fP\fIoptions\fP] jpayne@68: Ajouter le filtre Delta à la chaîne de filtres. Le filtre Delta ne peut être jpayne@68: utilisé que s'il n'est pas le dernier filtre dans la chaîne. jpayne@68: .IP "" jpayne@68: Currently only simple byte\-wise delta calculation is supported. It can be jpayne@68: useful when compressing, for example, uncompressed bitmap images or jpayne@68: uncompressed PCM audio. However, special purpose algorithms may give jpayne@68: significantly better results than Delta + LZMA2. This is true especially jpayne@68: with audio, which compresses faster and better, for example, with jpayne@68: \fBflac\fP(1). jpayne@68: .IP "" jpayne@68: \fIoptions\fP prises en charge : jpayne@68: .RS jpayne@68: .TP jpayne@68: \fBdist=\fP\fIdistance\fP jpayne@68: Specify the \fIdistance\fP of the delta calculation in bytes. \fIdistance\fP must jpayne@68: be 1\(en256. The default is 1. jpayne@68: .IP "" jpayne@68: Par exemple, avec \fBdist=2\fP et une entrée huit octets A1 B1 A2 B3 A3 B5 A4 jpayne@68: B7, la sortie sera A1 B1 01 02 01 02 01 02. jpayne@68: .RE jpayne@68: . jpayne@68: .SS "Autres options" jpayne@68: .TP jpayne@68: \fB\-q\fP, \fB\-\-quiet\fP jpayne@68: Supprimer les avertissements et les notifications. Indiquer cela deux fois jpayne@68: supprimera aussi les erreurs. Cette option n'a aucun effet sur le statut de jpayne@68: sortie. Cela dit, même si un avertissement était supprimé, le statut de jpayne@68: sortie indiquant un avertissement sera encore utilisé. jpayne@68: .TP jpayne@68: \fB\-v\fP, \fB\-\-verbose\fP jpayne@68: Être bavard. Si l'erreur standard est connectée à un terminal, \fBxz\fP jpayne@68: affichera une barre de progression. Indiquer \fB\-\-verbose\fP deux fois donnera jpayne@68: une sortie encore plus bavarde. jpayne@68: .IP "" jpayne@68: La barre de progression montre l'information suivante : jpayne@68: .RS jpayne@68: .IP \(bu 3 jpayne@68: Le pourcentage de complétion est montré si la taille du fichier en entrée jpayne@68: est connue. Néanmoins, le pourcentage ne peut pas être montré en cas de jpayne@68: redirection. jpayne@68: .IP \(bu 3 jpayne@68: Quantité de données compressées produites (compression) ou consommées jpayne@68: (décompression). jpayne@68: .IP \(bu 3 jpayne@68: Quantité de données non compressées consommées (compression) ou produites jpayne@68: (décompression). jpayne@68: .IP \(bu 3 jpayne@68: Le taux de compression, calculé en divisant la quantité de données jpayne@68: compréssées déjà traitées par la quantité de données décompressées déjà jpayne@68: traitées. jpayne@68: .IP \(bu 3 jpayne@68: Vitesse de compression ou de décompression. Elle correspond à la quantité de jpayne@68: données non compressées consommées (compression) ou produites jpayne@68: (décompression) par seconde. Elle apparait quelques secondes après le début jpayne@68: du traitement du fichier par \fBxz\fP. jpayne@68: .IP \(bu 3 jpayne@68: Temps écoulé dans le format M:SS ou H:MM:SS. jpayne@68: .IP \(bu 3 jpayne@68: Estimated remaining time is shown only when the size of the input file is jpayne@68: known and a couple of seconds have already passed since \fBxz\fP started jpayne@68: processing the file. The time is shown in a less precise format which never jpayne@68: has any colons, for example, 2 min 30 s. jpayne@68: .RE jpayne@68: .IP "" jpayne@68: When standard error is not a terminal, \fB\-\-verbose\fP will make \fBxz\fP print jpayne@68: the filename, compressed size, uncompressed size, compression ratio, and jpayne@68: possibly also the speed and elapsed time on a single line to standard error jpayne@68: after compressing or decompressing the file. The speed and elapsed time are jpayne@68: included only when the operation took at least a few seconds. If the jpayne@68: operation didn't finish, for example, due to user interruption, also the jpayne@68: completion percentage is printed if the size of the input file is known. jpayne@68: .TP jpayne@68: \fB\-Q\fP, \fB\-\-no\-warn\fP jpayne@68: Ne pas mettre l'état de sortie à \fB2\fP même si une condition méritant un jpayne@68: avertissement a été détectée. Cette option n'affecte pas le niveau de jpayne@68: verbosité, néanmoins, les deux options \fB\-\-quiet\fP et \fB\-\-no\-warn\fP doivent jpayne@68: être utilisées pour ne pas afficher d'avertissements, ni altérer le statut jpayne@68: de sortie. jpayne@68: .TP jpayne@68: \fB\-\-robot\fP jpayne@68: Afficher les messages dans un format analysable par une machine. Ceci est jpayne@68: destiné à faciliter l'écriture des frontaux qui voudraient utiliser \fBxz\fP jpayne@68: plutôt que liblzma, ce qui pourrait être le cas pour différents scripts. La jpayne@68: sortie avec cette option activée est destinée à rester stable sur les jpayne@68: différentes versions de \fBxz\fP. Consulter le paragraphe \fBROBOT MODE\fP pour jpayne@68: les détails. jpayne@68: .TP jpayne@68: \fB\-\-info\-memory\fP jpayne@68: Display, in human\-readable format, how much physical memory (RAM) and how jpayne@68: many processor threads \fBxz\fP thinks the system has and the memory usage jpayne@68: limits for compression and decompression, and exit successfully. jpayne@68: .TP jpayne@68: \fB\-h\fP, \fB\-\-help\fP jpayne@68: Afficher un message d'aide décrivant les options les plus couramment jpayne@68: utilisées et quitter. jpayne@68: .TP jpayne@68: \fB\-H\fP, \fB\-\-long\-help\fP jpayne@68: Afficher un message d'aide décrivant toutes les options de \fBxz\fP et quitter. jpayne@68: .TP jpayne@68: \fB\-V\fP, \fB\-\-version\fP jpayne@68: Afficher le numéro de version de \fBxz\fP et de liblzma dans un format lisible jpayne@68: par un humain. Pour obtenir une sortie analysable par la machine, spécifiez jpayne@68: \fB\-\-robot\fP avant \fB\-\-version\fP. jpayne@68: . jpayne@68: .SH "MODE ROBOT" jpayne@68: The robot mode is activated with the \fB\-\-robot\fP option. It makes the output jpayne@68: of \fBxz\fP easier to parse by other programs. Currently \fB\-\-robot\fP is jpayne@68: supported only together with \fB\-\-list\fP, \fB\-\-filters\-help\fP, \fB\-\-info\-memory\fP, jpayne@68: and \fB\-\-version\fP. It will be supported for compression and decompression in jpayne@68: the future. jpayne@68: . jpayne@68: .SS "Mode liste" jpayne@68: \fBxz \-\-robot \-\-list\fP utilise une sortie séparée par des tabulations. La jpayne@68: première colonne de toutes les lignes possède une chaîne qui indique le type jpayne@68: d'information trouvée sur cette ligne : jpayne@68: .TP jpayne@68: \fBname\fP jpayne@68: C'est toujours la première ligne au début de la liste d'un fichier. La jpayne@68: seconde colonne de la ligne est le nom de fichier. jpayne@68: .TP jpayne@68: \fBfile\fP jpayne@68: Cette ligne contient l'information globale sur le fichier \fB.xz\fP. Cette jpayne@68: ligne est toujours écrite après la ligne \fBname\fP. jpayne@68: .TP jpayne@68: \fBstream\fP jpayne@68: Ce type de ligne n'est utilisée que lorsque \fB \-\-verbose\fP a été indiquée. Il jpayne@68: y a autant de lignes \fBstream\fP qu'il y a de flux dans le fichier \fB.xz\fP. jpayne@68: .TP jpayne@68: \fBblock\fP jpayne@68: Ce type de ligne n'est utilisé seulement lorsque \fB\-\-verbose\fP a été jpayne@68: indiquée. Il y a autant de lignes \fBblock\fP qu'il y a de blocs dans le jpayne@68: fichier \fB.xz\fP. Les lignes \fBblock\fP sont affichées après toutes les lignes jpayne@68: \fBstream\fP ; les différents types de lignes ne sont pas imbriqués. jpayne@68: .TP jpayne@68: \fBsummary\fP jpayne@68: Ce type de ligne n'est utilisé que lorsque \fB\-\-verbose\fP a été indiqué deux jpayne@68: fois. Cette ligne est affichée après toutes les lignes \fBblock\fP. Comme la jpayne@68: ligne \fBfile\fP, la ligne \fBsummary\fP contient l'information globale sur le jpayne@68: fichier \fB.xz\fP. jpayne@68: .TP jpayne@68: \fBtotals\fP jpayne@68: Cette ligne est toujours la toute dernière ligne de la sortie. Elle affiche jpayne@68: les comptes et les tailles totaux. jpayne@68: .PP jpayne@68: Les colonnes des lignes \fBfile\fP : jpayne@68: .PD 0 jpayne@68: .RS jpayne@68: .IP 2. 4 jpayne@68: Nombre de flux dans le fichier jpayne@68: .IP 3. 4 jpayne@68: Nombre total de blocs dans le ou les flux. jpayne@68: .IP 4. 4 jpayne@68: Taille compressée du fichier jpayne@68: .IP 5. 4 jpayne@68: Taille décompressée du fichier jpayne@68: .IP 6. 4 jpayne@68: Compression ratio, for example, \fB0.123\fP. If ratio is over 9.999, three jpayne@68: dashes (\fB\-\-\-\fP) are displayed instead of the ratio. jpayne@68: .IP 7. 4 jpayne@68: Liste de noms de contrôles d'intégrité séparés par des virgules. Les chaînes jpayne@68: suivantes sont utilisées pour les types de vérification connus : \fBNone\fP, jpayne@68: \fBCRC32\fP, \fBCRC64\fP et \fBSHA256\fP. Pour le types de vérification inconnus, jpayne@68: \fBUnknown\-\fP\fIN\fP est utilisé, où \fIN\fP est un identifiant de vérification sous jpayne@68: la forme d'un nombre décimal (un ou deux chiffres). jpayne@68: .IP 8. 4 jpayne@68: Taille totale du remplissage du flux dans le fichier jpayne@68: .RE jpayne@68: .PD jpayne@68: .PP jpayne@68: Les colonnes des lignes \fBstream\fP : jpayne@68: .PD 0 jpayne@68: .RS jpayne@68: .IP 2. 4 jpayne@68: Numéro de flux (le premier flux a le numéro 1) jpayne@68: .IP 3. 4 jpayne@68: Nombre de blocs dans le flux jpayne@68: .IP 4. 4 jpayne@68: Décalage de départ compressé jpayne@68: .IP 5. 4 jpayne@68: Décalage de départ décompressé jpayne@68: .IP 6. 4 jpayne@68: Taille compressée (ne comprend pas le remplissage du flux) jpayne@68: .IP 7. 4 jpayne@68: Taille décompressée jpayne@68: .IP 8. 4 jpayne@68: Taux de compression jpayne@68: .IP 9. 4 jpayne@68: Nom de la vérification d'intégrité jpayne@68: .IP 10. 4 jpayne@68: Taille du remplissage de flux jpayne@68: .RE jpayne@68: .PD jpayne@68: .PP jpayne@68: Les colonnes des lignes \fBblock\fP : jpayne@68: .PD 0 jpayne@68: .RS jpayne@68: .IP 2. 4 jpayne@68: Numéro du flux qui contient ce bloc jpayne@68: .IP 3. 4 jpayne@68: Numéro du bloc relatif au commencement du flux (le premier bloc a pour jpayne@68: numéro 1) jpayne@68: .IP 4. 4 jpayne@68: Numéro du bloc relatif au début du fichier jpayne@68: .IP 5. 4 jpayne@68: Décalage de départ compressé relatif au début du fichier jpayne@68: .IP 6. 4 jpayne@68: Décalage de départ décompressé relatif au début du fichier jpayne@68: .IP 7. 4 jpayne@68: Taille compressée totale du bloc (en\-têtes inclus) jpayne@68: .IP 8. 4 jpayne@68: Taille décompressée jpayne@68: .IP 9. 4 jpayne@68: Taux de compression jpayne@68: .IP 10. 4 jpayne@68: Nom de la vérification d'intégrité jpayne@68: .RE jpayne@68: .PD jpayne@68: .PP jpayne@68: Si \fB\-\-verbose\fP a été indiqué deux fois, les colonnes additionnelles sont jpayne@68: inclues sur les lignes \fBblock\fP. Elles ne sont pas affichées avec un seul jpayne@68: \fB\-\-verbose\fP, car l'obtention de ces informations nécessite de nombreuses jpayne@68: recherches et peut donc être lente : jpayne@68: .PD 0 jpayne@68: .RS jpayne@68: .IP 11. 4 jpayne@68: Valeur de la vérification d'intégrité en hexadécimal jpayne@68: .IP 12. 4 jpayne@68: Taille d'en\-tête de bloc jpayne@68: .IP 13. 4 jpayne@68: Drapeaux du bloc : \fBc\fP indique que la taille compressée est présente, et jpayne@68: \fBu\fP indique que la taille décompréssée est présente. Si le drapeau n'est jpayne@68: pas indiqué, un tiret (\fB\-\fP) est affiché à la place pour que la longueur de jpayne@68: la chaîne reste fixe. De nouveaux drapeaux pourraient être ajoutés à la fin jpayne@68: de la chaîne dans le futur. jpayne@68: .IP 14. 4 jpayne@68: Taille des données effectivement compressées dans le bloc (en excluant jpayne@68: l'en\-tête de bloc, le remplissage de bloc et les champs de vérification). jpayne@68: .IP 15. 4 jpayne@68: Quantité de mémoire (en octets) nécessaire pour décompresser ce bloc avec jpayne@68: cette version de \fBxz\fP. jpayne@68: .IP 16. 4 jpayne@68: Chaîne de filtrage. Remarquez que la plupart des options utilisées au moment jpayne@68: de la compression ne peuvent pas être connues, car seules les options jpayne@68: nécessaires pour la décompression sont stockées dans les en\-têtes \fB.xz\fP. jpayne@68: .RE jpayne@68: .PD jpayne@68: .PP jpayne@68: Les colonnes des lignes \fBsummary\fP : jpayne@68: .PD 0 jpayne@68: .RS jpayne@68: .IP 2. 4 jpayne@68: Quantité de mémoire (en octets) nécessaire pour décompresser ce fichier avec jpayne@68: cette version de \fBxz\fP. jpayne@68: .IP 3. 4 jpayne@68: \fByes\fP ou \fBno\fP indique si tous les en\-têtes de bloc stockent à la fois la jpayne@68: taille compressée et la taille décompressée. jpayne@68: .PP jpayne@68: \fIDepuis\fP \fBxz\fP \fI5.1.2alpha:\fP jpayne@68: .IP 4. 4 jpayne@68: Version minimale de \fBxz\fP nécessaire pour décompresser le fichier. jpayne@68: .RE jpayne@68: .PD jpayne@68: .PP jpayne@68: Les colonnes de la ligne \fBtotals\fP : jpayne@68: .PD 0 jpayne@68: .RS jpayne@68: .IP 2. 4 jpayne@68: Nombre de flux jpayne@68: .IP 3. 4 jpayne@68: Nombre de blocs jpayne@68: .IP 4. 4 jpayne@68: Taille compressée jpayne@68: .IP 5. 4 jpayne@68: Taille décompressée jpayne@68: .IP 6. 4 jpayne@68: Taux de compression moyen jpayne@68: .IP 7. 4 jpayne@68: Liste séparée par des virgules des noms de vérification d'intégrité qui jpayne@68: étaient présents dans les fichiers jpayne@68: .IP 8. 4 jpayne@68: Taille de remplissage de flux jpayne@68: .IP 9. 4 jpayne@68: Nombre de fichiers. Permet de garder l'ordre des colonnes précédentes comme jpayne@68: sur les lignes \fBfile\fP. jpayne@68: .PD jpayne@68: .RE jpayne@68: .PP jpayne@68: Si \fB\-\-verbose\fP a été indiqué deux fois, des colonnes supplémentaires sont jpayne@68: incluses sur la ligne \fBtotals\fP : jpayne@68: .PD 0 jpayne@68: .RS jpayne@68: .IP 10. 4 jpayne@68: Quantité maximale de mémoire (en octets) nécessaire pour décompresser les jpayne@68: fichiers avec cette version de \fBxz\fP. jpayne@68: .IP 11. 4 jpayne@68: \fByes\fP ou \fBno\fP indique si tous les en\-têtes de bloc stockent à la fois la jpayne@68: taille compressée et la taille décompressée. jpayne@68: .PP jpayne@68: \fIDepuis\fP \fBxz\fP \fI5.1.2alpha:\fP jpayne@68: .IP 12. 4 jpayne@68: Version minimale de \fBxz\fP nécessaire pour décompresser le fichier. jpayne@68: .RE jpayne@68: .PD jpayne@68: .PP jpayne@68: Les versions futures pourront ajouter de nouveaux types de lignes et de jpayne@68: nouvelles colonnes pourront être ajoutées aux types de lignes existants, jpayne@68: mais les colonnes existantes ne seront pas modifiées. jpayne@68: . jpayne@68: .SS "Filters help" jpayne@68: \fBxz \-\-robot \-\-filters\-help\fP prints the supported filters in the following jpayne@68: format: jpayne@68: .PP jpayne@68: \fIfilter\fP\fB:\fP\fIoption\fP\fB=<\fP\fIvalue\fP\fB>,\fP\fIoption\fP\fB=<\fP\fIvalue\fP\fB>\fP... jpayne@68: .TP jpayne@68: \fIfilter\fP jpayne@68: Name of the filter jpayne@68: .TP jpayne@68: \fIoption\fP jpayne@68: Name of a filter specific option jpayne@68: .TP jpayne@68: \fIvalue\fP jpayne@68: Numeric \fIvalue\fP ranges appear as \fB<\fP\fImin\fP\fB\-\fP\fImax\fP\fB>\fP. String jpayne@68: \fIvalue\fP choices are shown within \fB< >\fP and separated by a \fB|\fP jpayne@68: character. jpayne@68: .PP jpayne@68: Each filter is printed on its own line. jpayne@68: . jpayne@68: .SS "Information de limite de mémoire" jpayne@68: \fBxz \-\-robot \-\-info\-memory\fP prints a single line with multiple tab\-separated jpayne@68: columns: jpayne@68: .IP 1. 4 jpayne@68: Total amount of physical memory (RAM) in bytes. jpayne@68: .IP 2. 4 jpayne@68: Memory usage limit for compression in bytes (\fB\-\-memlimit\-compress\fP). A jpayne@68: special value of \fB0\fP indicates the default setting which for jpayne@68: single\-threaded mode is the same as no limit. jpayne@68: .IP 3. 4 jpayne@68: Memory usage limit for decompression in bytes (\fB\-\-memlimit\-decompress\fP). A jpayne@68: special value of \fB0\fP indicates the default setting which for jpayne@68: single\-threaded mode is the same as no limit. jpayne@68: .IP 4. 4 jpayne@68: Since \fBxz\fP 5.3.4alpha: Memory usage for multi\-threaded decompression in jpayne@68: bytes (\fB\-\-memlimit\-mt\-decompress\fP). This is never zero because a jpayne@68: system\-specific default value shown in the column 5 is used if no limit has jpayne@68: been specified explicitly. This is also never greater than the value in the jpayne@68: column 3 even if a larger value has been specified with jpayne@68: \fB\-\-memlimit\-mt\-decompress\fP. jpayne@68: .IP 5. 4 jpayne@68: Since \fBxz\fP 5.3.4alpha: A system\-specific default memory usage limit that is jpayne@68: used to limit the number of threads when compressing with an automatic jpayne@68: number of threads (\fB\-\-threads=0\fP) and no memory usage limit has been jpayne@68: specified (\fB\-\-memlimit\-compress\fP). This is also used as the default value jpayne@68: for \fB\-\-memlimit\-mt\-decompress\fP. jpayne@68: .IP 6. 4 jpayne@68: Since \fBxz\fP 5.3.4alpha: Number of available processor threads. jpayne@68: .PP jpayne@68: Dans le futur, la sortie de \fBxz \-\-robot \-\-info\-memory\fP pourrait avoir plus jpayne@68: de colonnes, mais jamais plus qu'une ligne unique. jpayne@68: . jpayne@68: .SS Version jpayne@68: \fBxz \-\-robot \-\-version\fP prints the version number of \fBxz\fP and liblzma in jpayne@68: the following format: jpayne@68: .PP jpayne@68: \fBXZ_VERSION=\fP\fIXYYYZZZS\fP jpayne@68: .br jpayne@68: \fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP jpayne@68: .TP jpayne@68: \fIX\fP jpayne@68: Version majeure. jpayne@68: .TP jpayne@68: \fIYYY\fP jpayne@68: Version mineure. Les numéros pairs sont stables. Les numéros impairs sont jpayne@68: des versions alpha ou beta. jpayne@68: .TP jpayne@68: \fIZZZ\fP jpayne@68: Niveau de correctif pour les options stables ou juste un compteur pour les jpayne@68: options de développement. jpayne@68: .TP jpayne@68: \fIS\fP jpayne@68: Stabilité. 0 est alpha, 1 est bêta et 2 est stable. \fIS\fP devrait toujours jpayne@68: être 2 quand \fIYYY\fP est pair. jpayne@68: .PP jpayne@68: \fIXYYYZZZS\fP sont identiques sur les deux lignes si \fBxz\fP et liblzma sont jpayne@68: issus de la même version d'utilitaires XZ. jpayne@68: .PP jpayne@68: Exemples : 4.999.9beta est \fB49990091\fP et 5.0.0 est \fB50000002\fP. jpayne@68: . jpayne@68: .SH "STATUT DE SORTIE" jpayne@68: .TP jpayne@68: \fB0\fP jpayne@68: Tout est bon. jpayne@68: .TP jpayne@68: \fB1\fP jpayne@68: Une erreur est survenue. jpayne@68: .TP jpayne@68: \fB2\fP jpayne@68: Quelquechose méritant un avertissement s'est produit, mais aucune erreur jpayne@68: véritable n'est survenue. jpayne@68: .PP jpayne@68: Les notifications (pas les avertissements ou les erreurs) affichées sur jpayne@68: l'erreur standard n'affectent pas le statut de sortie. jpayne@68: . jpayne@68: .SH ENVIRONNEMENT jpayne@68: \fBxz\fP analyse les listes d'options séparées par des espaces à partir des jpayne@68: variables d'environnement \fBXZ_DEFAULTS\fP et \fBXZ_OPT\fP, dans cet ordre, avant jpayne@68: d'analyser les options de la ligne de commandes. Remarquez que seules les jpayne@68: options sont analysées depuis l'environnement des variables ; toutes les jpayne@68: non\-options sont ignorées silencieusement. L'analyse est faite avec jpayne@68: \fBgetopt_long\fP(3) qui est aussi utilisé pour les arguments de la ligne de jpayne@68: commandes. jpayne@68: .TP jpayne@68: \fBXZ_DEFAULTS\fP jpayne@68: Options par défaut propres à l'utilisateur ou pour tout le système. Elles jpayne@68: sont le plus souvent définies dans un script d'initialisation de jpayne@68: l'interpréteur pour activer le limiteur d'utilisation de la mémoire de \fBxz\fP jpayne@68: par défaut. A part pour les scripts d'initialisation de l'interpréteur ou jpayne@68: des cas similaires, les sripts ne doivent jamais définir ou désactiver jpayne@68: \fBXZ_DEFAULTS\fP. jpayne@68: .TP jpayne@68: \fBXZ_OPT\fP jpayne@68: This is for passing options to \fBxz\fP when it is not possible to set the jpayne@68: options directly on the \fBxz\fP command line. This is the case when \fBxz\fP is jpayne@68: run by a script or tool, for example, GNU \fBtar\fP(1): jpayne@68: .RS jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRXZ_OPT=\-2v tar caf foo.tar.xz foo\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .RE jpayne@68: .IP "" jpayne@68: Scripts may use \fBXZ_OPT\fP, for example, to set script\-specific default jpayne@68: compression options. It is still recommended to allow users to override jpayne@68: \fBXZ_OPT\fP if that is reasonable. For example, in \fBsh\fP(1) scripts one may jpayne@68: use something like this: jpayne@68: .RS jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRXZ_OPT=${XZ_OPT\-"\-7e"} jpayne@68: export XZ_OPT\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .RE jpayne@68: . jpayne@68: .SH "Compatibilité des utilitaires LZMA" jpayne@68: La syntaxe de la ligne de commande de \fBxz\fP est quasimment un sur\-ensemble jpayne@68: de \fBlzma\fP, \fBunlzma\fP et \fBlzcat\fP comme ils sont trouvés dans les jpayne@68: utilitaires LZMA 4.32.x . Dans la pluspart des cas, il est possible de jpayne@68: remplacer les outils LZMA par les outils XZ sans casser les scripts jpayne@68: existants. Il existe cependant certaines incompatibilités qui peuvent jpayne@68: parfois poser des problèmes. jpayne@68: . jpayne@68: .SS "Niveaux de préréglage de la compression" jpayne@68: La numérotation des préréglages de niveau de compression est différente jpayne@68: entre les outils \fBxz\fP et LZMA. La différence la plus importante est la jpayne@68: manière dont les tailles de dictionnaire sont affectées aux différents jpayne@68: préréglages. La taille de dictionnaire est à peu près égale à celle jpayne@68: d'utilisation de la mémoire de la décompression. jpayne@68: .RS jpayne@68: .PP jpayne@68: .TS jpayne@68: tab(;); jpayne@68: c c c jpayne@68: c n n. jpayne@68: Niveau;xz;Utilitaires LZMA jpayne@68: \-0;256 KiB;N/A jpayne@68: \-1;1 MiB;64 KiB jpayne@68: \-2;2 MiB;1 MiB jpayne@68: \-3;4 MiB;512 KiB jpayne@68: \-4;4 MiB;1 MiB jpayne@68: \-5;8 MiB;2 MiB jpayne@68: \-6;8 MiB;4 MiB jpayne@68: \-7;16 MiB;8 MiB jpayne@68: \-8;32 MiB;16 MiB jpayne@68: \-9;64 MiB;32 MiB jpayne@68: .TE jpayne@68: .RE jpayne@68: .PP jpayne@68: Les différences de tailles des dictionnaires affectent aussi l'utilisation jpayne@68: de la mémoire du compresseur, mais il y a quelques autres différences entre jpayne@68: les outils LZMA et les outils XZ, qui rendent la différence encore plus jpayne@68: grande : jpayne@68: .RS jpayne@68: .PP jpayne@68: .TS jpayne@68: tab(;); jpayne@68: c c c jpayne@68: c n n. jpayne@68: Niveau;xz;Utilitaires LZMA 4.32.x jpayne@68: \-0;3 MiB;N/A jpayne@68: \-1;9 MiB;2 MiB jpayne@68: \-2;17 MiB;12 MiB jpayne@68: \-3;32 MiB;12 MiB jpayne@68: \-4;48 MiB;16 MiB jpayne@68: \-5;94 MiB;26 MiB jpayne@68: \-6;94 MiB;45 MiB jpayne@68: \-7;186 MiB;83 MiB jpayne@68: \-8;370 MiB;159 MiB jpayne@68: \-9;674 MiB;311 MiB jpayne@68: .TE jpayne@68: .RE jpayne@68: .PP jpayne@68: Le niveau de préréglage par défaut dans les outils LZMA est \fB\-7\fP alors que jpayne@68: pour les outils XZ c'est \fB\-6\fP, les deux utilisent ainsi un dictionnaire de jpayne@68: 8 Mio par défaut. jpayne@68: . jpayne@68: .SS "Fichiers .lzma en flux ou non" jpayne@68: The uncompressed size of the file can be stored in the \fB.lzma\fP header. jpayne@68: LZMA Utils does that when compressing regular files. The alternative is to jpayne@68: mark that uncompressed size is unknown and use end\-of\-payload marker to jpayne@68: indicate where the decompressor should stop. LZMA Utils uses this method jpayne@68: when uncompressed size isn't known, which is the case, for example, in jpayne@68: pipes. jpayne@68: .PP jpayne@68: \fBxz\fP prend en charge la décompression des fichiers \fB.lzma\fP avec ou sans jpayne@68: marqueur de fin de charge utile, mais tous les fichiers \fB.lzma\fP créés par jpayne@68: \fBxz\fP utiliseront un marqueur de fin de charge utile et ont la taille non jpayne@68: compréssée marquée comme inconnue dans l'en\-tête \fB.lzma\fP. Cela peut être un jpayne@68: problème dans quelques situations inhabituelles. Par exemple, un jpayne@68: décompresseur \fB.lzma\fP dans un périphérique embarqué pourrait ne fonctionner jpayne@68: qu'avec des fichiers dont la taille non comprimée est connue. Si vous vous jpayne@68: heurtez à ce problème, vous devez utiliser les utilitaires LZMA ou LZMA SDK jpayne@68: pour créer des fichiers \fB.lzma\fP avec une taille non compressée connue. jpayne@68: . jpayne@68: .SS "Fichiers .lzma non pris en charge" jpayne@68: Le format \fB.lzma\fP autorise des valeurs \fIlc\fP jusqu'à 8, et des valeurs jpayne@68: \fIlp\fP jusqu'à 4. Les outils LZMA peuvent décompresser des fichiers avec tous jpayne@68: les \fIlc\fP et \fIlp\fP, mais créez toujours les fichiers avec \fBlc=3\fP et jpayne@68: \fBlp=0\fP. Créer des fichiers avec d'autres valeurs \fIlc\fP et \fIlp\fP est jpayne@68: possible avec \fBxz\fP et avec LZMA SDK. jpayne@68: .PP jpayne@68: L'implémentation du filtre LZMA1 dans liblzma nécessite que la somme de jpayne@68: \fIlc\fP et \fIlp\fP soit inférieure ou égale à 4. Ainsi, les fichiers \fB.lzma\fP jpayne@68: qui excèdent cette limitation ne peuvent pas être décompressés avec \fBxz\fP. jpayne@68: .PP jpayne@68: Les outils LZMA créent seulement des fichiers \fB.lzma\fP qui ont une taille de jpayne@68: dictionnaire de 2^\fIn\fP (une puissance de 2) mais acceptent les fichiers avec jpayne@68: toutes les tailles de dictionnaire. Libzlma n'accepte que les fichiers jpayne@68: \&\fB.lzma\fP qui ont une taille dictionnaire de 2^\fIn\fP ou jpayne@68: 2^\fIn\fP + 2^(\fIn\fP\-1). Cela afin de diminuer les faux positifs lors de la jpayne@68: détection des fichiers \fB.lzma\fP. jpayne@68: .PP jpayne@68: Ces limitations ne devraient pas poser problème en pratique, car jpayne@68: pratiquement tous les fichiers \fB.lzma\fP ont été compressés avec des réglages jpayne@68: que liblzma accepte. jpayne@68: . jpayne@68: .SS "Déchets excédentaires" jpayne@68: Lors de la décompession, l'utilitaire LZMA ignore silencieusement tout ce jpayne@68: qui est après le premier flux \fB.lzma\fP. Dans la majorité des situations, jpayne@68: c'est un bogue. Cela veut dire aussi que les outils LZMA ne gèrent pas la jpayne@68: décompression de fichiers \fB.lzma\fP concaténés. jpayne@68: .PP jpayne@68: S'il reste des données après le premier flux \fB.lzma\fP, \fBxz\fP considère que jpayne@68: le fichier est corrompu sauf si \fB\-\-single\-stream\fP a été utilisé. Cela peut jpayne@68: casser des scripts obscurs qui ont supposé que les déchets de fin de ligne jpayne@68: sont ignorés. jpayne@68: . jpayne@68: .SH NOTES jpayne@68: . jpayne@68: .SS "La sortie compressée peut varier" jpayne@68: La sortie compressée exacte produite par les même fichiers non compressés en jpayne@68: entrée peut varier en fonction des différentes versions de l'utilitaire XZ, jpayne@68: même si les options de compression sont identiques. En effet, il est jpayne@68: possible d'améliorer l'encodeur (compression plus rapide ou meilleure) sans jpayne@68: affecter le format du fichier. La sortie peut même varier entre différentes jpayne@68: compilations de la même version d'utilitaire XZ, si des options de jpayne@68: construction différentes sont utilisées. jpayne@68: .PP jpayne@68: Cela signifie qu'une fois que \fB\-\-rsyncable\fP a été implémenté, les fichiers jpayne@68: résultants ne seront pas nécessairement synchronisables avec rsync à moins jpayne@68: que les nouveaux et anciens fichiers n'aient été compressés avec la même jpayne@68: version de xz. Ce problème peut être résolu si une partie de jpayne@68: l'implémentation est gelée pour garantir la stabilité de la sortie rsyncable jpayne@68: à travers les versions de xz. jpayne@68: . jpayne@68: .SS "Décompresseurs .xz embarqués" jpayne@68: Les implémentations de décompresseur embarqué comme XZ Embedded ne gèrent jpayne@68: pas nécessairement les fichiers créés avec d'autres types de \fIvérification\fP jpayne@68: d'intégrité que \fBnone\fP et \fBCRC32\fP. Comme la valeur par défaut est jpayne@68: \fB\-\-check=crc64\fP, vous devez utiliser \fB\-\-check=none\fP ou \fB\-\-check=crc32\fP jpayne@68: lors de la création de fichiers pour les systèmes embarqués. jpayne@68: .PP jpayne@68: En dehors des systèmes embarqués, tous les décompresseurs de format \fB.xz\fP jpayne@68: gèrent tous les types de \fIvérification\fP ou sont au moins capables de jpayne@68: décompresser le fichier sans effectuer la vérification d'intégrité si ce jpayne@68: type de \fIvérification\fP particulière n'est pas pris en charge. jpayne@68: .PP jpayne@68: XZ Embedded prend en charge les filtres BCJ, mais seulement avec le décalage jpayne@68: de départ par défaut. jpayne@68: . jpayne@68: .SH EXEMPLES jpayne@68: . jpayne@68: .SS Bases jpayne@68: Compresser le fichier \fItoto\fP en \fItoto.xz\fP en utilisant le niveau de jpayne@68: compression par défaut (\fB\-6\fP) et supprimer \fItoto\fP si la compression jpayne@68: réussit : jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRxz foo\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: Décompresser \fIbidule.xz\fP en \fIbidule\fP et ne pas supprimer \fIbidule.xz\fP même jpayne@68: si la compression réussit : jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRxz \-dk bar.xz\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: Create \fIbaz.tar.xz\fP with the preset \fB\-4e\fP (\fB\-4 \-\-extreme\fP), which is jpayne@68: slower than the default \fB\-6\fP, but needs less memory for compression and jpayne@68: decompression (48\ MiB and 5\ MiB, respectively): jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRtar cf \- baz | xz \-4e > baz.tar.xz\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: Un mélange de fichiers compressés et non compressés peuvent être jpayne@68: décompressés vers la sortie standard avec une simple commande : jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: . jpayne@68: .SS "Compression en parallèle de plusieurs fichiers" jpayne@68: Sur GNU et *BSD, \fBfind\fP(1) et \fBxargs\fP(1) peuvent être utilisés pour mettre jpayne@68: en parallèle la compression de plusieurs fichiers : jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRfind . \-type f \e! \-name '*.xz' \-print0 \e jpayne@68: | xargs \-0r \-P4 \-n16 xz \-T1\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: L'option \fBP\fP passée à \fBxargs\fP(1) fixe le nombre de processus \fBxz\fP en jpayne@68: parallèles. La meilleure valeur pour l'option \fBn\fP dépend du nombre de jpayne@68: fichiers à compresser. S\-il n'y a que quelques fichiers, la valeur sera jpayne@68: probablement 1 ; avec des dizaines de milliers de fichiers, 100 ou même plus jpayne@68: serait approprié pour réduire le nombre de processus \fBxz\fP que \fBxargs\fP(1) jpayne@68: créera éventuellement. jpayne@68: .PP jpayne@68: L'option \fB\-T1\fP de \fBxz\fP est là pour le forcer en mode mono\-thread, car jpayne@68: \fBxargs\fP(1) est utilisé pour contrôler la quantité de mise en parallèle. jpayne@68: . jpayne@68: .SS "Mode robot" jpayne@68: Calculer combien d'octets ont été économisés au total après avoir compressé jpayne@68: plusieurs fichiers : jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: Un script peut vouloir savoir qu'il utilise une version suffisamment récente jpayne@68: de \fBxz\fP. Le script \fBsh\fP(1) suivant vérifie que le numéro de version de jpayne@68: l'outil \fBxz\fP soit au minimum 5.0.0. Cette méthode est compatible avec les jpayne@68: vieilles versions bêta, qui ne gèrent pas l'option \fB\-\-robot\fP : jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" || jpayne@68: [ "$XZ_VERSION" \-lt 50000002 ]; then jpayne@68: echo "Your xz is too old." jpayne@68: fi jpayne@68: unset XZ_VERSION LIBLZMA_VERSION\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: Régler une limite d'utilisation de la mémoire pour la décompression en jpayne@68: utilisant \fBXZ_OPT\fP, mais si une limite a déjà été définie, ne pas jpayne@68: l'augmenter : jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRNEWLIM=$((123 << 20))\ \ # 123 MiB jpayne@68: OLDLIM=$(xz \-\-robot \-\-info\-memory | cut \-f3) jpayne@68: if [ $OLDLIM \-eq 0 \-o $OLDLIM \-gt $NEWLIM ]; then jpayne@68: XZ_OPT="$XZ_OPT \-\-memlimit\-decompress=$NEWLIM" jpayne@68: export XZ_OPT jpayne@68: fi\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: . jpayne@68: .SS "Chaînes de filtres de compresseur personnalisées" jpayne@68: L'utilisation la plus simple des chaînes de filtres personnalisées est la jpayne@68: personnalisation d'un préréglage LZMA2. Cela peut être utile, car les jpayne@68: préréglages ne couvrent qu'un sous\-ensemble des réglages de compression jpayne@68: potentiellement utiles. jpayne@68: .PP jpayne@68: Les colonnes CompCPU des tableaux des descriptions des options \fB\-0\fP à \fB\-9\fP jpayne@68: et \fB\-\-extreme\fP sont utiles lors de la personnalisation des préréglages jpayne@68: LZMA2. Voici les parties pertinentes recueillies à partir de ces deux jpayne@68: tableaux : jpayne@68: .RS jpayne@68: .PP jpayne@68: .TS jpayne@68: tab(;); jpayne@68: c c jpayne@68: n n. jpayne@68: Préréglage;CompCPU jpayne@68: \-0;0 jpayne@68: \-1;1 jpayne@68: \-2;2 jpayne@68: \-3;3 jpayne@68: \-4;4 jpayne@68: \-5;5 jpayne@68: \-6;6 jpayne@68: \-5e;7 jpayne@68: \-6e;8 jpayne@68: .TE jpayne@68: .RE jpayne@68: .PP jpayne@68: If you know that a file requires somewhat big dictionary (for example, 32\ MiB) to compress well, but you want to compress it quicker than \fBxz \-8\fP jpayne@68: would do, a preset with a low CompCPU value (for example, 1) can be jpayne@68: modified to use a bigger dictionary: jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRxz \-\-lzma2=preset=1,dict=32MiB foo.tar\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: Avec certains fichiers, la commande ci\-dessus peut être plus rapide que jpayne@68: \fBxz\-6\fP tout en compressant bien mieux. Cependant, il faut souligner que jpayne@68: seuls certains fichiers bénéficient d'un grand dictionnaire tout en gardant jpayne@68: la valeur de CompCPU faible. La siutation la plus évidente où un gros jpayne@68: dictionnaire peut baucoup aider, est une archive contenant des fichiers très jpayne@68: similaires de quelques megaoctets chacun. La taille de dictionnaire doit jpayne@68: être significativement plus grosse que tout fichier individuel pour jpayne@68: permettre à LZMA2 de tirer pleinement partie des similarités entre des jpayne@68: fichiers consécutifs. jpayne@68: .PP jpayne@68: Si une utilisation de la mémoire élevée pour la compression et décompression jpayne@68: convient, et que le fichier à compresser a une taille de plusieurs centaines jpayne@68: de megaoctets, il peut être utile d'utiliser un plus gros dictionnaire que jpayne@68: celui fourni par \fBxz\-9\fP (64 Mio) : jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRxz \-vv \-\-lzma2=dict=192MiB big_foo.tar\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: Utiliser \fB\-vv\fP (\fB\-\-verbose\-\-verbose\fP) comme dans l'exemple ci\-dessus peut jpayne@68: être utile pour voir les besoins en mémoire du compresseur et du jpayne@68: décompresseur. Rappelez\-vous qu'utiliser un dictionnaire plus gros que la jpayne@68: taille du fichier non compressé est un gachis de mémoire, donc la commande jpayne@68: ci\-dessus n'est pas utile pour les petits fichiers. jpayne@68: .PP jpayne@68: Sometimes the compression time doesn't matter, but the decompressor memory jpayne@68: usage has to be kept low, for example, to make it possible to decompress the jpayne@68: file on an embedded system. The following command uses \fB\-6e\fP (\fB\-6 \-\-extreme\fP) as a base and sets the dictionary to only 64\ KiB. The jpayne@68: resulting file can be decompressed with XZ Embedded (that's why there is jpayne@68: \fB\-\-check=crc32\fP) using about 100\ KiB of memory. jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: If you want to squeeze out as many bytes as possible, adjusting the number jpayne@68: of literal context bits (\fIlc\fP) and number of position bits (\fIpb\fP) can jpayne@68: sometimes help. Adjusting the number of literal position bits (\fIlp\fP) jpayne@68: might help too, but usually \fIlc\fP and \fIpb\fP are more important. For jpayne@68: example, a source code archive contains mostly US\-ASCII text, so something jpayne@68: like the following might give slightly (like 0.1\ %) smaller file than \fBxz \-6e\fP (try also without \fBlc=4\fP): jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRxz \-\-lzma2=preset=6e,pb=0,lc=4 source_code.tar\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: Using another filter together with LZMA2 can improve compression with jpayne@68: certain file types. For example, to compress a x86\-32 or x86\-64 shared jpayne@68: library using the x86 BCJ filter: jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRxz \-\-x86 \-\-lzma2 libfoo.so\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: Notez que l'ordre des options de filtre est significatif. Si \fB\-\-x86\fP est jpayne@68: indiqué après \fB\-\-lzma2\fP, \fBxz\fP donnera une erreur, car il ne peut y avoir jpayne@68: aucun filtre après LZMA2, et aussi parce que le filtre BCJ x86 ne peut pas jpayne@68: être utilisé comme dernier filtre dans la chaîne. jpayne@68: .PP jpayne@68: Le filtre Delta associé à LZMA2 peut donner de bons résultats avec les jpayne@68: images bitmap. Cela devrait habituellement battre PNG, qui a quelques jpayne@68: filtres avancés supplémentaires qu'un simple delta, mais qui utilise Deflate jpayne@68: pour la compression effective. jpayne@68: .PP jpayne@68: The image has to be saved in uncompressed format, for example, as jpayne@68: uncompressed TIFF. The distance parameter of the Delta filter is set to jpayne@68: match the number of bytes per pixel in the image. For example, 24\-bit RGB jpayne@68: bitmap needs \fBdist=3\fP, and it is also good to pass \fBpb=0\fP to LZMA2 to jpayne@68: accommodate the three\-byte alignment: jpayne@68: .RS jpayne@68: .PP jpayne@68: .nf jpayne@68: \f(CRxz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff\fR jpayne@68: .fi jpayne@68: .RE jpayne@68: .PP jpayne@68: If multiple images have been put into a single archive (for example, jpayne@68: \&\fB.tar\fP), the Delta filter will work on that too as long as all images have jpayne@68: the same number of bytes per pixel. jpayne@68: . jpayne@68: .SH "VOIR AUSSI" jpayne@68: \fBxzdec\fP(1), \fBxzdiff\fP(1), \fBxzgrep\fP(1), \fBxzless\fP(1), \fBxzmore\fP(1), jpayne@68: \fBgzip\fP(1), \fBbzip2\fP(1), \fB7z\fP(1) jpayne@68: .PP jpayne@68: XZ Utils: jpayne@68: .br jpayne@68: XZ Embedded: jpayne@68: .br jpayne@68: LZMA SDK: