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