diff options
Diffstat (limited to 'po4a')
45 files changed, 18755 insertions, 2 deletions
diff --git a/po4a/de.po.authors b/po4a/de.po.authors new file mode 100644 index 00000000..4cbc5c1f --- /dev/null +++ b/po4a/de.po.authors @@ -0,0 +1,4 @@ +PO4A-HEADER: position=^\.\\" Author; mode=after; beginboundary=^\.\\"$ +.\" +.\" German translation for xz-man. +.\" Mario Blättermann <mario.blaettermann@gmail.com>, 2015, 2019-2020, 2022-2024. @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: XZ Utils 5.2.5\n" -"POT-Creation-Date: 2024-02-22 22:35+0800\n" +"POT-Creation-Date: 2024-02-24 16:22+0800\n" "PO-Revision-Date: 2021-12-01 15:17+0100\n" "Last-Translator: bubu <bubub@no-log.org> \n" "Language-Team: French <debian-l10n-french@lists.debian.org> \n" @@ -250,6 +250,24 @@ msgstr "" "lzma>)." #. type: Plain text +#: ../src/xz/xz.1:169 +#, fuzzy +#| msgid "" +#| "The operation mode is set to compress and the I<file> already has a " +#| "suffix of the target file format (B<.xz> or B<.txz> when compressing to " +#| "the B<.xz> format, and B<.lzma> or B<.tlz> when compressing to the B<." +#| "lzma> format)." +msgid "" +"The operation mode is set to decompress and the I<file> doesn't have a " +"suffix of any of the supported file formats (B<.xz>, B<.txz>, B<.lzma>, B<." +"tlz>, or B<.lz>)." +msgstr "" +"Le mode d'opération est défini pour compresser et le I<fichier> a déjà un " +"suffixe du format de fichier cible (B<.xz> ou B<.txz> lors d'une compression " +"en format B<.xz>, et B<.lzma> ou B<.tlz> lors d'une compression en format B<." +"lzma>)." + +#. type: Plain text #: ../src/xz/xz.1:184 msgid "" "After successfully compressing or decompressing the I<file>, B<xz> copies " @@ -586,6 +604,26 @@ msgstr "B<-k>, B<--keep>" msgid "Don't delete the input files." msgstr "Ne pas effacer les fichiers d'entrée." +#. type: Plain text +#: ../src/xz/xz.1:416 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"Since B<xz> 5.2.6, this option also makes B<xz> 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 B<--force>." +msgstr "" +"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." + #. type: TP #: ../src/xz/xz.1:416 #, no-wrap @@ -1695,6 +1733,13 @@ msgid "" "means that B<xz> won't be able decompress the files in multi-threaded mode." msgstr "" +#. type: TP +#: ../src/xz/xz.1:922 +#, fuzzy, no-wrap +#| msgid "B<--block-size=>I<size>" +msgid "B<--block-list=>I<items>" +msgstr "B<--block-size=>I<taille>" + #. type: Plain text #: ../src/xz/xz.1:928 msgid "" @@ -1954,6 +1999,13 @@ msgstr "" "échouera. Voir B<--memlimit-compress=>I<limite> pour les manières possibles " "d'indiquer la I<limite>." +#. type: TP +#: ../src/xz/xz.1:1151 +#, fuzzy, no-wrap +#| msgid "B<--memlimit-decompress=>I<limit>" +msgid "B<--memlimit-mt-decompress=>I<limit>" +msgstr "B<--memlimit-decompress=>I<limite>" + #. type: Plain text #: ../src/xz/xz.1:1173 msgid "" @@ -2197,6 +2249,13 @@ msgstr "" "fonctionne aussi pour voir les options de chaîne de filtres utilisées par " "les préréglages." +#. type: TP +#: ../src/xz/xz.1:1392 +#, fuzzy, no-wrap +#| msgid "B<--files>[B<=>I<file>]" +msgid "B<--filters=>I<filters>" +msgstr "B<--files>[B<=>I<fichier>]" + #. type: Plain text #: ../src/xz/xz.1:1413 msgid "" @@ -2229,6 +2288,13 @@ msgid "" "and the text part only the LZMA2 filter." msgstr "" +#. type: TP +#: ../src/xz/xz.1:1421 +#, fuzzy, no-wrap +#| msgid "B<-h>, B<--help>" +msgid "B<--filters-help>" +msgstr "B<-h>, B<--help>" + #. type: Plain text #: ../src/xz/xz.1:1431 msgid "" @@ -2736,6 +2802,13 @@ msgid "B<--armthumb>[B<=>I<options>]" msgstr "B<--armthumb>[B<=>I<options>]" #. type: TP +#: ../src/xz/xz.1:1807 +#, fuzzy, no-wrap +#| msgid "B<--arm>[B<=>I<options>]" +msgid "B<--arm64>[B<=>I<options>]" +msgstr "B<--arm>[B<=>I<options>]" + +#. type: TP #: ../src/xz/xz.1:1809 #, no-wrap msgid "B<--powerpc>[B<=>I<options>]" @@ -3782,6 +3855,13 @@ msgstr "" "nouvelles colonnes pourront être ajoutées aux types de lignes existants, " "mais les colonnes existantes ne seront pas modifiées." +#. type: SS +#: ../src/xz/xz.1:2382 +#, fuzzy, no-wrap +#| msgid "Filter" +msgid "Filters help" +msgstr "Filtre" + #. type: Plain text #: ../src/xz/xz.1:2385 msgid "" @@ -3796,6 +3876,27 @@ msgid "" ">I<option>B<=E<lt>>I<value>B<E<gt>>..." msgstr "" +#. type: TP +#: ../src/xz/xz.1:2387 +#, fuzzy, no-wrap +#| msgid "B<file>" +msgid "I<filter>" +msgstr "B<file>" + +#. type: Plain text +#: ../src/xz/xz.1:2390 +#, fuzzy +#| msgid "Name of the integrity check" +msgid "Name of the filter" +msgstr "Nom de la vérification d'intégrité" + +#. type: TP +#: ../src/xz/xz.1:2390 +#, fuzzy, no-wrap +#| msgid "Supported I<options>:" +msgid "I<option>" +msgstr "I<options> prises en charge :" + #. type: Plain text #: ../src/xz/xz.1:2393 msgid "Name of a filter specific option" @@ -5143,6 +5244,13 @@ msgid "xzcmp, xzdiff, lzcmp, lzdiff - compare compressed files" msgstr "xzcmp, xzdiff, lzcmp, lzdiff - Comparer des fichiers compressés." #. type: Plain text +#: ../src/scripts/xzdiff.1:17 +#, fuzzy +#| msgid "B<xz> [I<option...>] [I<file...>]" +msgid "B<xzcmp> [I<option...>] I<file1> [I<file2>]" +msgstr "B<xz> [I<option...>] [I<fichier...>]" + +#. type: Plain text #: ../src/scripts/xzdiff.1:20 msgid "B<xzdiff> \\&..." msgstr "" @@ -5185,12 +5293,38 @@ msgid "" msgstr "" #. type: Plain text +#: ../src/scripts/xzdiff.1:78 +#, fuzzy +#| msgid "" +#| "The command named B<lzless> is provided for backward compatibility with " +#| "LZMA Utils." +msgid "" +"The commands B<lzcmp> and B<lzdiff> are provided for backward compatibility " +"with LZMA Utils." +msgstr "" +"La commande nommée B<lzless> est fournie pour la rétrocompatibilité avec les " +"utilitaires LZMA." + +#. type: Plain text #: ../src/scripts/xzdiff.1:87 msgid "" "If a decompression error occurs, the exit status is B<2>. Otherwise the " "exit status of B<cmp>(1) or B<diff>(1) is used." msgstr "" +#. type: Plain text +#: ../src/scripts/xzdiff.1:96 +#, fuzzy +#| msgid "" +#| "B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), " +#| "B<gzip>(1), B<bzip2>(1), B<7z>(1)" +msgid "" +"B<cmp>(1), B<diff>(1), B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), " +"B<zstd>(1), B<lz4>(1)" +msgstr "" +"B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), " +"B<gzip>(1), B<bzip2>(1), B<7z>(1)" + #. type: TH #: ../src/scripts/xzgrep.1:8 #, no-wrap @@ -5203,6 +5337,13 @@ msgid "xzgrep - search possibly-compressed files for patterns" msgstr "" #. type: Plain text +#: ../src/scripts/xzgrep.1:17 +#, fuzzy +#| msgid "B<xz> [I<option...>] [I<file...>]" +msgid "B<xzgrep> [I<option...>] [I<pattern_list>] [I<file...>]" +msgstr "B<xz> [I<option...>] [I<fichier...>]" + +#. type: Plain text #: ../src/scripts/xzgrep.1:20 msgid "B<xzegrep> \\&..." msgstr "" @@ -5254,11 +5395,60 @@ msgid "" msgstr "" #. type: Plain text +#: ../src/scripts/xzgrep.1:75 +#, fuzzy +#| msgid "B<-v>, B<--verbose>" +msgid "B<-r>, B<--recursive>" +msgstr "B<-v>, B<--verbose>" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:78 +#, fuzzy +#| msgid "B<-f>, B<--force>" +msgid "B<-R>, B<--dereference-recursive>" +msgstr "B<-f>, B<--force>" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:81 +#, fuzzy +#| msgid "B<-V>, B<--version>" +msgid "B<-d>, B<--directories=>I<action>" +msgstr "B<-V>, B<--version>" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:84 +#, fuzzy +#| msgid "B<-l>, B<--list>" +msgid "B<-Z>, B<--null>" +msgstr "B<-l>, B<--list>" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:87 +#, fuzzy +#| msgid "B<-l>, B<--list>" +msgid "B<-z>, B<--null-data>" +msgstr "B<-l>, B<--list>" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:89 +#, fuzzy +#| msgid "B<--files>[B<=>I<file>]" +msgid "B<--include=>I<glob>" +msgstr "B<--files>[B<=>I<fichier>]" + +#. type: Plain text #: ../src/scripts/xzgrep.1:91 msgid "B<--exclude=>I<glob>" msgstr "" #. type: Plain text +#: ../src/scripts/xzgrep.1:93 +#, fuzzy +#| msgid "B<--files>[B<=>I<file>]" +msgid "B<--exclude-from=>I<file>" +msgstr "B<--files>[B<=>I<fichier>]" + +#. type: Plain text #: ../src/scripts/xzgrep.1:95 msgid "B<--exclude-dir=>I<glob>" msgstr "" @@ -5271,6 +5461,19 @@ msgid "" msgstr "" #. type: Plain text +#: ../src/scripts/xzgrep.1:109 +#, fuzzy +#| msgid "" +#| "The command named B<lzless> is provided for backward compatibility with " +#| "LZMA Utils." +msgid "" +"The commands B<lzgrep>, B<lzegrep>, and B<lzfgrep> are provided for backward " +"compatibility with LZMA Utils." +msgstr "" +"La commande nommée B<lzless> est fournie pour la rétrocompatibilité avec les " +"utilitaires LZMA." + +#. type: Plain text #: ../src/scripts/xzgrep.1:115 msgid "" "At least one match was found from at least one of the input files. No " @@ -5306,6 +5509,19 @@ msgid "" "B<grep -E>, or B<grep -F>." msgstr "" +#. type: Plain text +#: ../src/scripts/xzgrep.1:144 +#, fuzzy +#| msgid "" +#| "B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), " +#| "B<gzip>(1), B<bzip2>(1), B<7z>(1)" +msgid "" +"B<grep>(1), B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), B<zstd>(1), " +"B<lz4>(1), B<zgrep>(1)" +msgstr "" +"B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), " +"B<gzip>(1), B<bzip2>(1), B<7z>(1)" + #. type: TH #: ../src/scripts/xzless.1:8 #, no-wrap @@ -5415,6 +5631,20 @@ msgstr "" "xzmore, lzmore - Voir le contenu des fichiers (texte) compressés xz ou lzma" #. type: Plain text +#: ../src/scripts/xzmore.1:15 +#, fuzzy +#| msgid "B<xzless> [I<file>...]" +msgid "B<xzmore> [I<file>...]" +msgstr "B<xzless> [I<fichier>...]" + +#. type: Plain text +#: ../src/scripts/xzmore.1:18 +#, fuzzy +#| msgid "B<lzless> [I<file>...]" +msgid "B<lzmore> [I<file>...]" +msgstr "B<lzless> [I<fichier>...]" + +#. type: Plain text #: ../src/scripts/xzmore.1:35 msgid "" "B<xzmore> displays text from compressed files to a terminal using " @@ -5433,6 +5663,18 @@ msgid "" "provides more advanced features." msgstr "" +#. type: Plain text +#: ../src/scripts/xzmore.1:51 +#, fuzzy +#| msgid "" +#| "The command named B<lzless> is provided for backward compatibility with " +#| "LZMA Utils." +msgid "" +"The command B<lzmore> is provided for backward compatibility with LZMA Utils." +msgstr "" +"La commande nommée B<lzless> est fournie pour la rétrocompatibilité avec les " +"utilitaires LZMA." + #. type: TP #: ../src/scripts/xzmore.1:53 #, no-wrap diff --git a/po4a/fr.po.authors b/po4a/fr.po.authors new file mode 100644 index 00000000..91532963 --- /dev/null +++ b/po4a/fr.po.authors @@ -0,0 +1,6 @@ +PO4A-HEADER: position=^\.\\" Author; mode=after; beginboundary=^\.\\"$ +.\" +.\" french translation of XZ Utils man +.\" Copyright (C) 2021 Debian French l10n team <debian-l10n-french@lists.debian.org> +.\" Translator +.\" bubu <bubub@no-log.org>, 2021. diff --git a/po4a/ko.po.authors b/po4a/ko.po.authors new file mode 100644 index 00000000..255e2b18 --- /dev/null +++ b/po4a/ko.po.authors @@ -0,0 +1,4 @@ +PO4A-HEADER: position=^\.\\" Author; mode=after; beginboundary=^\.\\"$ +.\" +.\" Korean translation for the xz-man +.\" Seong-ho Cho <darkcircle.0426@gmail.com>, 2023, 2024. diff --git a/po4a/man/de/lzmainfo.1 b/po4a/man/de/lzmainfo.1 new file mode 100644 index 00000000..2071b822 --- /dev/null +++ b/po4a/man/de/lzmainfo.1 @@ -0,0 +1,46 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" German translation for xz-man. +.\" Mario Blättermann <mario.blaettermann@gmail.com>, 2015, 2019-2020, 2022-2024. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LZMAINFO 1 "30. Juni 2013" Tukaani XZ\-Dienstprogramme +.SH BEZEICHNUNG +lzmainfo \- im .lzma\-Dateikopf enthaltene Informationen anzeigen +.SH ÜBERSICHT +\fBlzmainfo\fP [\fB\-\-help\fP] [\fB\-\-version\fP] [\fIDatei …\fP] +.SH BESCHREIBUNG +\fBlzmainfo\fP zeigt die im \fB.lzma\fP\-Dateikopf enthaltenen Informationen an. Es +liest die ersten 13 Bytes aus der angegebenen \fIDatei\fP, dekodiert den +Dateikopf und gibt das Ergebnis in die Standardausgabe in einem +menschenlesbaren Format aus. Falls keine \fIDatei\fPen angegeben werden oder +die \fIDatei\fP als \fB\-\fP übergeben wird, dann wird aus der Standardeingabe +gelesen. +.PP +In der Regel sind die unkomprimierte Größe der Daten und die Größe des +Wörterbuchs am bedeutsamsten. Die unkomprimierte Größe kann nur dann +angezeigt werden, wenn die Datei im \fB.lzma\fP\-Format kein Datenstrom ist. Die +Größe des für die Dekompression nötigen Speichers beträgt einige Dutzend +Kilobyte zuzüglich der Größe des Inhaltsverzeichnisses. +.PP +\fBlzmainfo\fP ist in den XZ\-Dienstprogrammen hauptsächlich zur Kompatibilität +zu den LZMA\-Dienstprogrammen enthalten. +.SH EXIT\-STATUS +.TP +\fB0\fP +Alles ist in Ordnung. +.TP +\fB1\fP +Ein Fehler ist aufgetreten. +.SH FEHLER +\fBlzmainfo\fP verwendet \fBMB\fP, während das korrekte Suffix \fBMiB\fP (2^20 Bytes) +wäre. Damit wird die Kompatibilität zu den LZMA\-Dienstprogrammen +gewährleistet. +.SH "SIEHE AUCH" +\fBxz\fP(1) diff --git a/po4a/man/de/xz.1 b/po4a/man/de/xz.1 new file mode 100644 index 00000000..a97cb936 --- /dev/null +++ b/po4a/man/de/xz.1 @@ -0,0 +1,2047 @@ +'\" t +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" German translation for xz-man. +.\" Mario Blättermann <mario.blaettermann@gmail.com>, 2015, 2019-2020, 2022-2024. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 "13. Februar 2024" Tukaani XZ\-Dienstprogramme +. +.SH BEZEICHNUNG +xz, unxz, xzcat, lzma, unlzma, lzcat \- .xz\- und .lzma\-Dateien komprimieren +oder dekomprimieren +. +.SH ÜBERSICHT +\fBxz\fP [\fIOption…\fP] [\fIDatei…\fP] +. +.SH BEFEHLSALIASE +\fBunxz\fP ist gleichbedeutend mit \fBxz \-\-decompress\fP. +.br +\fBxzcat\fP ist gleichbedeutend mit \fBxz \-\-decompress \-\-stdout\fP. +.br +\fBlzma\fP ist gleichbedeutend mit \fBxz \-\-format=lzma\fP. +.br +\fBunlzma\fP ist gleichbedeutend mit \fBxz \-\-format=lzma \-\-decompress\fP. +.br +\fBlzcat\fP ist gleichbedeutend mit \fBxz \-\-format=lzma \-\-decompress \-\-stdout\fP. +.PP +Wenn Sie Skripte schreiben, die Dateien dekomprimieren, sollten Sie stets +den Namen \fBxz\fP mit den entsprechenden Argumenten (\fBxz \-d\fP oder \fBxz \-dc\fP) +anstelle der Namen \fBunxz\fP und \fBxzcat\fP verwenden. +. +.SH BESCHREIBUNG +\fBxz\fP ist ein Allzweckwerkzeug zur Datenkompression, dessen +Befehlszeilensyntax denen von \fBgzip\fP(1) und \fBbzip2\fP(1) ähnelt. Das native +Dateiformat ist das \fB.xz\fP\-Format, aber das veraltete, von den +LZMA\-Dienstprogrammen verwendete Format sowie komprimierte Rohdatenströme +ohne Containerformat\-Header werden ebenfalls unterstützt. Außerdem wird die +Dekompression des von \fBlzip\fP verwendeten \fB.lz\fP\-Formats unterstützt. +.PP +\fBxz\fP komprimiert oder dekomprimiert jede \fIDatei\fP entsprechend des +gewählten Vorgangsmodus. Falls entweder \fB\-\fP oder keine Datei angegeben ist, +liest \fBxz\fP aus der Standardeingabe und leitet die verarbeiteten Dateien in +die Standardausgabe. Wenn die Standardausgabe kein Terminal ist, verweigert +\fBxz\fP das Schreiben komprimierter Daten in die Standardausgabe. Dabei wird +eine Fehlermeldung angezeigt und die \fIDatei\fP übersprungen. Ebenso +verweigert \fBxz\fP das Lesen komprimierter Daten aus der Standardeingabe, wenn +diese ein Terminal ist. +.PP +\fIDateien\fP, die nicht als \fB\-\fP angegeben sind, werden in eine neue Datei +geschrieben, deren Name aus dem Namen der Quell\-\fIDatei\fP abgeleitet wird +(außer wenn \fB\-\-stdout\fP angegeben ist): +.IP \(bu 3 +Bei der Kompression wird das Suffix des Formats der Zieldatei (\fB.xz\fP oder +\&\fB.lzma\fP) an den Namen der Quelldatei angehängt und so der Name der +Zieldatei gebildet. +.IP \(bu 3 +Bei der Dekompression wird das Suffix \fB.xz\fP, \fB.lzma\fP oder \fB.lz\fP vom +Dateinamen entfernt und so der Name der Zieldatei gebildet. Außerdem erkennt +\fBxz\fP die Suffixe \fB.txz\fP und \fB.tlz\fP und ersetzt diese durch \fB.tar\fP. +.PP +Wenn die Zieldatei bereits existiert, wird eine Fehlermeldung angezeigt und +die \fIDatei\fP übersprungen. +.PP +Außer beim Schreiben in die Standardausgabe zeigt \fBxz\fP eine Warnung an und +überspringt die \fIDatei\fP, wenn eine der folgenden Bedingungen zutreffend +ist: +.IP \(bu 3 +Die \fIDatei\fP ist keine reguläre Datei. Symbolischen Verknüpfungen wird nicht +gefolgt und diese daher nicht zu den regulären Dateien gezählt. +.IP \(bu 3 +Die \fIDatei\fP hat mehr als eine harte Verknüpfung. +.IP \(bu 3 +Für die \fIDatei\fP ist das »setuid«\-, »setgid«\- oder »sticky«\-Bit gesetzt. +.IP \(bu 3 +Der Aktionsmodus wird auf Kompression gesetzt und die \fIDatei\fP hat bereits +das Suffix des Zieldateiformats (\fB.xz\fP oder \fB.txz\fP beim Komprimieren in +das \fB.xz\fP\-Format und \fB.lzma\fP oder \fB.tlz\fP beim Komprimieren in das +\&\fB.lzma\fP\-Format). +.IP \(bu 3 +Der Aktionsmodus wird auf Dekompression gesetzt und die \fIDatei\fP hat nicht +das Suffix eines der unterstützten Zieldateiformate (\fB.xz\fP, \fB.txz\fP, +\&\fB.lzma\fP, \fB.tlz\fP oder \fB.lz\fP). +.PP +Nach erfolgreicher Kompression oder Dekompression der \fIDatei\fP kopiert \fBxz\fP +Eigentümer, Gruppe, Zugriffsrechte, Zugriffszeit und Änderungszeit aus der +Ursprungs\-\fIDatei\fP in die Zieldatei. Sollte das Kopieren der Gruppe +fehlschlagen, werden die Zugriffsrechte so angepasst, dass jenen Benutzern +der Zugriff auf die Zieldatei verwehrt bleibt, die auch keinen Zugriff auf +die Ursprungs\-\fIDatei\fP hatten. Das Kopieren anderer Metadaten wie +Zugriffssteuerlisten oder erweiterter Attribute wird von \fBxz\fP noch nicht +unterstützt. +.PP +Sobald die Zieldatei erfolgreich geschlossen wurde, wird die +Ursprungs\-\fIDatei\fP entfernt. Dies wird durch die Option \fB\-\-keep\fP +verhindert. Die Ursprungs\-\fIDatei\fP wird niemals entfernt, wenn die Ausgabe +in die Standardausgabe geschrieben wird oder falls ein Fehler auftritt. +.PP +Durch Senden der Signale \fBSIGINFO\fP oder \fBSIGUSR1\fP an den \fBxz\fP\-Prozess +werden Fortschrittsinformationen in den Fehlerkanal der Standardausgabe +geleitet. Dies ist nur eingeschränkt hilfreich, wenn die +Standardfehlerausgabe ein Terminal ist. Mittels \fB\-\-verbose\fP wird ein +automatisch aktualisierter Fortschrittsanzeiger angezeigt. +. +.SS Speicherbedarf +In Abhängigkeit von den gewählten Kompressionseinstellungen bewegt sich der +Speicherverbrauch zwischen wenigen hundert Kilobyte und mehreren +Gigabyte. Die Einstellungen bei der Kompression einer Datei bestimmen dabei +den Speicherbedarf bei der Dekompression. Die Dekompression benötigt +üblicherweise zwischen 5\ % und 20\ % des Speichers, der bei der Kompression +der Datei erforderlich war. Beispielsweise benötigt die Dekompression einer +Datei, die mit \fBxz \-9\fP komprimiert wurde, gegenwärtig etwa 65\ MiB +Speicher. Es ist jedoch auch möglich, dass \fB.xz\fP\-Dateien mehrere Gigabyte +an Speicher zur Dekompression erfordern. +.PP +Insbesondere für Benutzer älterer Systeme wird eventuell ein sehr großer +Speicherbedarf ärgerlich sein. Um unangenehme Überraschungen zu vermeiden, +verfügt \fBxz\fP über eine eingebaute Begrenzung des Speicherbedarfs, die +allerdings in der Voreinstellung deaktiviert ist. Zwar verfügen einige +Betriebssysteme über eingebaute Möglichkeiten zur prozessabhängigen +Speicherbegrenzung, doch diese sind zu unflexibel (zum Beispiel kann +\fBulimit\fP(1) beim Begrenzen des virtuellen Speichers \fBmmap\fP(2) +beeinträchtigen). +.PP +Die Begrenzung des Speicherbedarfs kann mit der Befehlszeilenoption +\fB\-\-memlimit=\fP\fIBegrenzung\fP aktiviert werden. Oft ist es jedoch bequemer, +die Begrenzung durch Setzen der Umgebungsvariable \fBXZ_DEFAULTS\fP +standardmäßig zu aktivieren, zum Beispiel +\fBXZ_DEFAULTS=\-\-memlimit=150MiB\fP. Die Begrenzungen können getrennt für +Kompression und Dekompression mittels \fB\-\-memlimit\-compress=\fP\fIBegrenzung\fP +und \fB\-\-memlimit\-decompress=\fP\fIBegrenzung\fP festgelegt werden. Die Verwendung +einer solchen Option außerhalb der Variable \fBXZ_DEFAULTS\fP ist kaum +sinnvoll, da \fBxz\fP in einer einzelnen Aktion nicht gleichzeitig Kompression +und Dekompression ausführen kann und \fB\-\-memlimit=\fP\fIBegrenzung\fP (oder \fB\-M\fP +\fIBegrenzung\fP) lässt sich einfacher in der Befehlszeile eingeben. +.PP +Wenn die angegebene Speicherbegrenzung bei der Dekompression überschritten +wird, schlägt der Vorgang fehl und \fBxz\fP zeigt eine Fehlermeldung an. Wird +die Begrenzung bei der Kompression überschritten, dann versucht \fBxz\fP die +Einstellungen entsprechend anzupassen, außer wenn \fB\-\-format=raw\fP oder +\fB\-\-no\-adjust\fP angegeben ist. Auf diese Weise schlägt die Aktion nicht fehl, +es sei denn, die Begrenzung wurde sehr niedrig angesetzt. Die Anpassung der +Einstellungen wird schrittweise vorgenommen, allerdings entsprechen die +Schritte nicht den Voreinstellungen der Kompressionsstufen. Das bedeutet, +wenn beispielsweise die Begrenzung nur geringfügig unter den Anforderungen +für \fBxz \-9\fP liegt, werden auch die Einstellungen nur wenig angepasst und +nicht vollständig herunter zu den Werten für \fBxz \-8\fP +. +.SS "Verkettung und Auffüllung von .xz\-Dateien" +Es ist möglich, \fB.xz\fP\-Dateien direkt zu verketten. Solche Dateien werden +von \fBxz\fP genauso dekomprimiert wie eine einzelne \fB.xz\fP\-Datei. +.PP +Es ist weiterhin möglich, eine Auffüllung zwischen den verketteten Teilen +oder nach dem letzten Teil einzufügen. Die Auffüllung muss aus Null\-Bytes +bestehen und deren Größe muss ein Vielfaches von vier Byte sein. Dies kann +zum Beispiel dann vorteilhaft sein, wenn die \fB.xz\fP\-Datei auf einem +Datenträger gespeichert wird, dessen Dateisystem die Dateigrößen in +512\-Byte\-Blöcken speichert. +.PP +Verkettung und Auffüllung sind für \fB.lzma\fP\-Dateien oder Rohdatenströme +nicht erlaubt. +. +.SH OPTIONEN +. +.SS "Ganzzahlige Suffixe und spezielle Werte" +An den meisten Stellen, wo ein ganzzahliges Argument akzeptiert wird, kann +ein optionales Suffix große Ganzzahlwerte einfacher darstellen. Zwischen +Ganzzahl und dem Suffix dürfen sich keine Leerzeichen befinden. +.TP +\fBKiB\fP +multipliziert die Ganzzahl mit 1.024 (2^10). \fBKi\fP, \fBk\fP, \fBkB\fP, \fBK\fP und +\fBKB\fP werden als Synonyme für \fBKiB\fP akzeptiert. +.TP +\fBMiB\fP +multipliziert die Ganzzahl mit 1.048.576 (2^20). \fBMi\fP, \fBm\fP, \fBM\fP und \fBMB\fP +werden als Synonyme für \fBMiB\fP akzeptiert. +.TP +\fBGiB\fP +multipliziert die Ganzzahl mit 1.073.741.824 (2^30). \fBGi\fP, \fBg\fP, \fBG\fP und +\fBGB\fP werden als Synonyme für \fBGiB\fP akzeptiert. +.PP +Der spezielle Wert \fBmax\fP kann dazu verwendet werden, um den von der +jeweiligen Option akzeptierten maximalen Ganzzahlwert anzugeben. +. +.SS Aktionsmodus +Falls mehrere Aktionsmodi angegeben sind, wird der zuletzt angegebene +verwendet. +.TP +\fB\-z\fP, \fB\-\-compress\fP +Kompression. Dies ist der voreingestellte Aktionsmodus, sofern keiner +angegeben ist und auch kein bestimmter Modus aus dem Befehlsnamen abgeleitet +werden kann (der Befehl \fBunxz\fP impliziert zum Beispiel \fB\-\-decompress\fP). +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +dekomprimpiert. +.TP +\fB\-t\fP, \fB\-\-test\fP +prüft die Integrität der komprimierten \fIDateien\fP. Diese Option ist +gleichbedeutend mit \fB\-\-decompress \-\-stdout\fP, außer dass die dekomprimierten +Daten verworfen werden, anstatt sie in die Standardausgabe zu leiten. Es +werden keine Dateien erstellt oder entfernt. +.TP +\fB\-l\fP, \fB\-\-list\fP +gibt Informationen zu den komprimierten \fIDateien\fP aus. Es werden keine +unkomprimierten Dateien ausgegeben und keine Dateien angelegt oder +entfernt. Im Listenmodus kann das Programm keine komprimierten Daten aus der +Standardeingabe oder anderen nicht durchsuchbaren Quellen lesen. +.IP "" +Die Liste zeigt in der Standardeinstellung grundlegende Informationen zu den +\fIDateien\fP an, zeilenweise pro Datei. Detailliertere Informationen erhalten +Sie mit der Option \fB\-\-verbose\fP. Wenn Sie diese Option zweimal angeben, +werden noch ausführlichere Informationen ausgegeben. Das kann den Vorgang +allerdings deutlich verlangsamen, da die Ermittlung der zusätzlichen +Informationen zahlreiche Suchvorgänge erfordert. Die Breite der +ausführlichen Ausgabe übersteigt 80 Zeichen, daher könnte die Weiterleitung +in beispielsweise\& \fBless\ \-S\fP sinnvoll sein, falls das Terminal nicht +breit genug ist. +.IP "" +Die exakte Ausgabe kann in verschiedenen \fBxz\fP\-Versionen und +Spracheinstellungen unterschiedlich sein. Wenn eine maschinell auswertbare +Ausgabe gewünscht ist, dann sollten Sie \fB\-\-robot \-\-list\fP verwenden. +. +.SS Aktionsattribute +.TP +\fB\-k\fP, \fB\-\-keep\fP +verhindert das Löschen der Eingabedateien. +.IP "" +Seit der \fBxz\fP\-Version 5.2.6 wird die Kompression oder Dekompression auch +dann ausgeführt, wenn die Eingabe ein symbolischer Link zu einer regulären +Datei ist, mehr als einen harten Link hat oder das »setuid«\-, »setgid«\- oder +»sticky«\-Bit gesetzt ist. Die genannten Bits werden nicht in die Zieldatei +kopiert. In früheren Versionen geschah dies nur mit \fB\-\-force\fP. +.TP +\fB\-f\fP, \fB\-\-force\fP +Diese Option hat verschiedene Auswirkungen: +.RS +.IP \(bu 3 +Wenn die Zieldatei bereits existiert, wird diese vor der Kompression oder +Dekompression gelöscht. +.IP \(bu 3 +Die Kompression oder Dekompression wird auch dann ausgeführt, wenn die +Eingabe ein symbolischer Link zu einer regulären Datei ist, mehr als einen +harten Link hat oder das »setuid«\-, »setgid«\- oder »sticky«\-Bit gesetzt +ist. Die genannten Bits werden nicht in die Zieldatei kopiert. +.IP \(bu 3 +Wenn es zusammen mit \fB\-\-decompress\fP und \fB\-\-stdout\fP verwendet wird und +\fBxz\fP den Typ der Quelldatei nicht ermitteln kann, wird die Quelldatei +unverändert in die Standardausgabe kopiert. Dadurch kann \fBxzcat\fP \fB\-\-force\fP +für Dateien, die nicht mit \fBxz\fP komprimiert wurden, wie \fBcat\fP(1) verwendet +werden. Zukünftig könnte \fBxz\fP neue Dateikompressionsformate unterstützen, +wodurch \fBxz\fP mehr Dateitypen dekomprimieren kann, anstatt sie unverändert +in die Standardausgabe zu kopieren. Mit der Option \fB\-\-format=\fP\fIFormat\fP +können Sie \fBxz\fP anweisen, nur ein einzelnes Dateiformat zu dekomprimieren. +.RE +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +schreibt die komprimierten oder dekomprimierten Daten in die Standardausgabe +anstatt in eine Datei. Dies impliziert \fB\-\-keep\fP. +.TP +\fB\-\-single\-stream\fP +dekomprimiert nur den ersten \fB.xz\fP\-Datenstrom und ignoriert stillschweigend +weitere Eingabedaten, die möglicherweise dem Datenstrom +folgen. Normalerweise führt solcher anhängender Datenmüll dazu, dass \fBxz\fP +eine Fehlermeldung ausgibt. +.IP "" +\fBxz\fP dekomprimiert niemals mehr als einen Datenstrom aus \fB.lzma\fP\-Dateien +oder Rohdatenströmen, aber dennoch wird durch diese Option möglicherweise +vorhandener Datenmüll nach der \fB.lzma\fP\-Datei oder dem Rohdatenstrom +ignoriert. +.IP "" +Diese Option ist wirkungslos, wenn der Aktionsmodus nicht \fB\-\-decompress\fP +oder \fB\-\-test\fP ist. +.TP +\fB\-\-no\-sparse\fP +verhindert die Erzeugung von Sparse\-Dateien. In der Voreinstellung versucht +\fBxz\fP, bei der Dekompression in eine reguläre Datei eine Sparse\-Datei zu +erzeugen, wenn die dekomprimierten Daten lange Abfolgen von binären Nullen +enthalten. Dies funktioniert auch beim Schreiben in die Standardausgabe, +sofern diese in eine reguläre Datei weitergeleitet wird und bestimmte +Zusatzbedingungen erfüllt sind, die die Aktion absichern. Die Erzeugung von +Sparse\-Dateien kann Plattenplatz sparen und beschleunigt die Dekompression +durch Verringerung der Ein\-/Ausgaben der Platte. +.TP +\fB\-S\fP \fI.suf\fP, \fB\-\-suffix=\fP\fI.suf\fP +verwendet \fI.suf\fP bei der Dekompression anstelle von \fB.xz\fP oder \fB.lzma\fP +als Suffix für die Zieldatei. Falls nicht in die Standardausgabe geschrieben +wird und die Quelldatei bereits das Suffix \fI.suf\fP hat, wird eine Warnung +angezeigt und die Datei übersprungen. +.IP "" +berücksichtigt bei der Dekompression zusätzlich zu Dateien mit den Suffixen +\&\fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP oder \fB.lz\fP auch jene mit dem Suffix +\&\fI.suf\fP. Falls die Quelldatei das Suffix \fI.suf\fP hat, wird dieses entfernt +und so der Name der Zieldatei abgeleitet. +.IP "" +Beim Komprimieren oder Dekomprimieren von Rohdatenströmen mit +\fB\-\-format=raw\fP muss das Suffix stets angegeben werden, außer wenn die +Ausgabe in die Standardausgabe erfolgt. Der Grund dafür ist, dass es kein +vorgegebenes Suffix für Rohdatenströme gibt. +.TP +\fB\-\-files\fP[\fB=\fP\fIDatei\fP] +liest die zu verarbeitenden Dateinamen aus \fIDatei\fP. Falls keine \fIDatei\fP +angegeben ist, werden die Dateinamen aus der Standardeingabe +gelesen. Dateinamen müssen mit einem Zeilenumbruch beendet werden. Ein +Bindestrich (\fB\-\fP) wird als regulärer Dateiname angesehen und nicht als +Standardeingabe interpretiert. Falls Dateinamen außerdem als +Befehlszeilenargumente angegeben sind, werden diese vor den Dateinamen aus +der \fIDatei\fP verarbeitet. +.TP +\fB\-\-files0\fP[\fB=\fP\fIDatei\fP] +Dies ist gleichbedeutend mit \fB\-\-files\fP[\fB=\fP\fIDatei\fP], außer dass jeder +Dateiname mit einem Null\-Zeichen abgeschlossen werden muss. +. +.SS "Grundlegende Dateiformat\- und Kompressionsoptionen" +.TP +\fB\-F\fP \fIFormat\fP, \fB\-\-format=\fP\fIFormat\fP +gibt das \fIFormat\fP der zu komprimierenden oder dekomprimierenden Datei an: +.RS +.TP +\fBauto\fP +Dies ist die Voreinstellung. Bei der Kompression ist \fBauto\fP gleichbedeutend +mit \fBxz\fP. Bei der Dekompression wird das Format der Eingabedatei +automatisch erkannt. Beachten Sie, dass Rohdatenströme, wie sie mit +\fB\-\-format=raw\fP erzeugt werden, nicht automatisch erkannt werden können. +.TP +\fBxz\fP +Die Kompression erfolgt in das \fB.xz\fP\-Dateiformat oder akzeptiert nur +\&\fB.xz\fP\-Dateien bei der Dekompression. +.TP +\fBlzma\fP, \fBalone\fP +Die Kompression erfolgt in das veraltete \fB.lzma\fP\-Dateiformat oder +akzeptiert nur \fB.lzma\fP\-Dateien bei der Dekompression. Der alternative Name +\fBalone\fP dient der Abwärtskompatibilität zu den LZMA\-Dienstprogrammen. +.TP +\fBlzip\fP +Akzeptiert nur \fB.lz\fP\-Dateien bei der Dekompression. Kompression wird nicht +unterstützt. +.IP "" +Das \fB.lz\fP\-Format wird in Version 0 und der unerweiterten Version 1 +unterstützt. Dateien der Version 0 wurden von \fBlzip\fP 1.3 und älter +erstellt. Solche Dateien sind nicht sehr weit verbreitet, können aber in +Dateiarchiven gefunden werden, da einige Quellpakete in diesem Format +veröffentlicht wurden. Es ist auch möglich, dass Benutzer alte persönliche +Dateien in diesem Format haben. Die Dekompressionsunterstützung für das +Format der Version 0 wurde mit der Version 1.18 aus \fBlzip\fP entfernt. +.IP "" +\fBlzip\fP\-Versionen ab 1.4 erstellen Dateien im Format der Version 0. Die +Erweiterung »Sync Flush Marker« zur Formatversion 1 wurde in \fBlzip\fP 1.6 +hinzugefügt. Diese Erweiterung wird sehr selten verwendet und wird von \fBxz\fP +nicht unterstützt (die Eingabe wird als beschädigt erkannt). +.TP +\fBraw\fP +Komprimiert oder dekomprimiert einen Rohdatenstrom (ohne Header). Diese +Option ist nur für fortgeschrittene Benutzer bestimmt. Zum Dekodieren von +Rohdatenströmen müssen Sie die Option \fB\-\-format=raw\fP verwenden und die +Filterkette ausdrücklich angeben, die normalerweise in den (hier fehlenden) +Container\-Headern gespeichert worden wäre. +.RE +.TP +\fB\-C\fP \fIPrüfung\fP, \fB\-\-check=\fP\fIPrüfung\fP +gibt den Typ der Integritätsprüfung an. Die Prüfsumme wird aus den +unkomprimierten Daten berechnet und in der \fB.xz\fP\-Datei gespeichert. Diese +Option wird nur bei der Kompression in das \fB.xz\fP\-Format angewendet, da das +\&\fB.lzma\fP\-Format keine Integritätsprüfungen unterstützt. Die eigentliche +Integritätsprüfung erfolgt (falls möglich), wenn die \fB.xz\fP\-Datei +dekomprimiert wird. +.IP "" +Folgende Typen von \fIPrüfungen\fP werden unterstützt: +.RS +.TP +\fBnone\fP +führt keine Integritätsprüfung aus. Dies ist eine eher schlechte +Idee. Dennoch kann es nützlich sein, wenn die Integrität der Daten auf +andere Weise sichergestellt werden kann. +.TP +\fBcrc32\fP +berechnet die CRC32\-Prüfsumme anhand des Polynoms aus IEEE\-802.3 (Ethernet). +.TP +\fBcrc64\fP +berechnet die CRC64\-Prüfsumme anhand des Polynoms aus ECMA\-182. Dies ist die +Voreinstellung, da beschädigte Dateien etwas besser als mit CRC32 erkannt +werden und die Geschwindigkeitsdifferenz unerheblich ist. +.TP +\fBsha256\fP +berechnet die SHA\-256\-Prüfsumme. Dies ist etwas langsamer als CRC32 und +CRC64. +.RE +.IP "" +Die Integrität der \fB.xz\fP\-Header wird immer mit CRC32 geprüft. Es ist nicht +möglich, dies zu ändern oder zu deaktivieren. +.TP +\fB\-\-ignore\-check\fP +verifiziert die Integritätsprüfsumme der komprimierten Daten bei der +Dekompression nicht. Die CRC32\-Werte in den \fB.xz\fP\-Headern werden weiterhin +normal verifiziert. +.IP "" +\fBVerwenden Sie diese Option nicht, außer Sie wissen, was Sie tun.\fP Mögliche +Gründe, diese Option zu verwenden: +.RS +.IP \(bu 3 +Versuchen, Daten aus einer beschädigten .xz\-Datei wiederherzustellen. +.IP \(bu 3 +Erhöhung der Geschwindigkeit bei der Dekompression. Dies macht sich meist +mit SHA\-256 bemerkbar, oder mit Dateien, die extrem stark komprimiert +sind. Wir empfehlen, diese Option nicht für diesen Zweck zu verwenden, es +sei denn, die Integrität der Datei wird extern auf andere Weise überprüft. +.RE +.TP +\fB\-0\fP … \fB\-9\fP +wählt eine der voreingestellten Kompressionsstufen, standardmäßig +\fB\-6\fP. Wenn mehrere Voreinstellungsstufen angegeben sind, ist nur die +zuletzt angegebene wirksam. Falls bereits eine benutzerdefinierte +Filterkette angegeben wurde, wird diese durch die Festlegung der +Voreinstellung geleert. +.IP "" +Die Unterschiede zwischen den Voreinstellungsstufen sind deutlicher als bei +\fBgzip\fP(1) und \fBbzip2\fP(1). Die gewählten Kompressionseinstellungen +bestimmen den Speicherbedarf bei der Dekompression, daher ist es auf älteren +Systemen mit wenig Speicher bei einer zu hoch gewählten Voreinstellung +schwer, eine Datei zu dekomprimieren. Insbesondere \fBist es keine gute Idee, blindlings \-9 für alles\fP zu verwenden, wie dies häufig mit \fBgzip\fP(1) und +\fBbzip2\fP(1) gehandhabt wird. +.RS +.TP +\fB\-0\fP … \fB\-3\fP +Diese Voreinstellungen sind recht schnell. \fB\-0\fP ist manchmal schneller als +\fBgzip \-9\fP, wobei aber die Kompression wesentlich besser ist. Die +schnelleren Voreinstellungen sind im Hinblick auf die Geschwindigkeit mit +\fBbzip2\fP(1) vergleichbar , mit einem ähnlichen oder besseren +Kompressionsverhältnis, wobei das Ergebnis aber stark vom Typ der zu +komprimierenden Daten abhängig ist. +.TP +\fB\-4\fP … \fB\-6\fP +Gute bis sehr gute Kompression, wobei der Speicherbedarf für die +Dekompression selbst auf alten Systemen akzeptabel ist. \fB\-6\fP ist die +Voreinstellung, welche üblicherweise eine gute Wahl für die Verteilung von +Dateien ist, die selbst noch auf Systemen mit nur 16\ MiB Arbeitsspeicher +dekomprimiert werden müssen (\fB\-5e\fP oder \fB\-6e\fP sind ebenfalls eine +Überlegung wert. Siehe \fB\-\-extreme\fP). +.TP +\fB\-7 … \-9\fP +Ähnlich wie \fB\-6\fP, aber mit einem höheren Speicherbedarf für die Kompression +und Dekompression. Sie sind nur nützlich, wenn Dateien komprimiert werden +sollen, die größer als 8\ MiB, 16\ MiB beziehungsweise 32\ MiB sind. +.RE +.IP "" +Auf der gleichen Hardware ist die Dekompressionsgeschwindigkeit ein nahezu +konstanter Wert in Bytes komprimierter Daten pro Sekunde. Anders +ausgedrückt: Je besser die Kompression, umso schneller wird üblicherweise +die Dekompression sein. Das bedeutet auch, dass die Menge der pro Sekunde +ausgegebenen unkomprimierten Daten stark variieren kann. +.IP "" +Die folgende Tabelle fasst die Eigenschaften der Voreinstellungen zusammen: +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +Voreinst.;Wörtb.Gr;KomprCPU;KompSpeich;DekompSpeich +\-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 "" +Spaltenbeschreibungen: +.RS +.IP \(bu 3 +Wörtb.Größe ist die Größe des LZMA2\-Wörterbuchs. Es ist +Speicherverschwendung, ein Wörterbuch zu verwenden, das größer als die +unkomprimierte Datei ist. Daher ist es besser, die Voreinstellungen \fB\-7\fP … +\fB\-9\fP zu vermeiden, falls es keinen wirklichen Bedarf dafür gibt. Mit \fB\-6\fP +und weniger wird üblicherweise so wenig Speicher verschwendet, dass dies +nicht ins Gewicht fällt. +.IP \(bu 3 +KomprCPU ist eine vereinfachte Repräsentation der LZMA2\-Einstellungen, +welche die Kompressionsgeschwindigkeit beeinflussen. Die Wörterbuchgröße +wirkt sich ebenfalls auf die Geschwindigkeit aus. Während KompCPU für die +Stufen \fB\-6\fP bis \fB\-9\fP gleich ist, tendieren höhere Stufen dazu, etwas +langsamer zu sein. Um eine noch langsamere, aber möglicherweise bessere +Kompression zu erhalten, siehe \fB\-\-extreme\fP. +.IP \(bu 3 +KompSpeich enthält den Speicherbedarf des Kompressors im +Einzel\-Thread\-Modus. Dieser kann zwischen den \fBxz\fP\-Versionen leicht +variieren. +.IP \(bu 3 +DekompSpeich enthält den Speicherbedarf für die Dekompression. Das bedeutet, +dass die Kompressionseinstellungen den Speicherbedarf bei der Dekompression +bestimmen. Der exakte Speicherbedarf bei der Dekompression ist geringfügig +größer als die Größe des LZMA2\-Wörterbuchs, aber die Werte in der Tabelle +wurden auf ganze MiB aufgerundet. +.RE +.IP "" + Der Speicherbedarf einiger der zukünftigen Multithread\-Modi kann dramatisch +höher sein als im Einzel\-Thread\-Modus. Mit dem Standardwert von +\fB\-\-block\-size\fP benötigt jeder Thread 3*3*Wörtb.Gr plus KompSpeich oder +DekompSpeich. Beispielsweise benötigen vier Threads mit der Voreinstellung +\fB\-6\fP etwa 660 bis 670 MiB Speicher. +.TP +\fB\-e\fP, \fB\-\-extreme\fP +verwendet eine langsamere Variante der gewählten +Kompressions\-Voreinstellungsstufe (\fB\-0\fP … \fB\-9\fP), um hoffentlich ein etwas +besseres Kompressionsverhältnis zu erreichen, das aber in ungünstigen Fällen +auch schlechter werden kann. Der Speicherverbrauch bei der Dekompression +wird dabei nicht beeinflusst, aber der Speicherverbrauch der Kompression +steigt in den Voreinstellungsstufen \fB\-0\fP bis \fB\-3\fP geringfügig an. +.IP "" +Da es zwei Voreinstellungen mit den Wörterbuchgrößen 4\ MiB und 8\ MiB gibt, +verwenden die Voreinstellungsstufen \fB\-3e\fP und \fB\-5e\fP etwas schnellere +Einstellungen (niedrigere KompCPU) als \fB\-4e\fP beziehungsweise \fB\-6e\fP. Auf +diese Weise sind zwei Voreinstellungen nie identisch. +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +Voreinst.;Wörtb.Gr;KomprCPU;KompSpeich;DekompSpeich +\-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 "" +Zum Beispiel gibt es insgesamt vier Voreinstellungen, die ein 8\ MiB großes +Wörterbuch verwenden, deren Reihenfolge von der schnellsten zur langsamsten +\fB\-5\fP, \fB\-6\fP, \fB\-5e\fP und \fB\-6e\fP ist. +.TP +\fB\-\-fast\fP +.PD 0 +.TP +\fB\-\-best\fP +.PD +sind etwas irreführende Aliase für \fB\-0\fP beziehungsweise \fB\-9\fP. Sie werden +nur zwecks Abwärtskompatibilität zu den LZMA\-Dienstprogrammen +bereitgestellt. Sie sollten diese Optionen besser nicht verwenden. +.TP +\fB\-\-block\-size=\fP\fIGröße\fP +teilt beim Komprimieren in das \fB.xz\fP\-Format die Eingabedaten in Blöcke der +angegebenen \fIGröße\fP in Byte. Die Blöcke werden unabhängig voneinander +komprimiert, was dem Multi\-Threading entgegen kommt und Zufallszugriffe bei +der Dekompression begrenzt. Diese Option wird typischerweise eingesetzt, um +die vorgegebene Blockgröße im Multi\-Thread\-Modus außer Kraft zu setzen, aber +sie kann auch im Einzel\-Thread\-Modus angewendet werden. +.IP "" +Im Multi\-Thread\-Modus wird etwa die dreifache \fIGröße\fP in jedem Thread zur +Pufferung der Ein\- und Ausgabe belegt. Die vorgegebene \fIGröße\fP ist das +Dreifache der Größe des LZMA2\-Wörterbuchs oder 1 MiB, je nachdem, was mehr +ist. Typischerweise ist das Zwei\- bis Vierfache der Größe des +LZMA2\-Wörterbuchs oder wenigstens 1 MB ein guter Wert. Eine \fIGröße\fP, die +geringer ist als die des LZMA2\-Wörterbuchs, ist Speicherverschwendung, weil +dann der LZMA2\-Wörterbuchpuffer niemals vollständig genutzt werden würde. Im +Multi\-Thread\-Modus wird die Größe der Blöcke wird in den Block\-Headern +gespeichert. Die Größeninformation wird für eine Multi\-Thread\-Dekompression +genutzt. +.IP "" +Im Einzel\-Thread\-Modus werden die Blöcke standardmäßig nicht geteilt. Das +Setzen dieser Option wirkt sich nicht auf den Speicherbedarf aus. In den +Block\-Headern werden keine Größeninformationen gespeichert, daher werden im +Einzel\-Thread\-Modus erzeugte Dateien nicht zu den im Multi\-Thread\-Modus +erzeugten Dateien identisch sein. Das Fehlen der Größeninformation bedingt +auch, dass \fBxz\fP nicht in der Lage sein wird, die Dateien im +Multi\-Thread\-Modus zu dekomprimieren. +.TP +\fB\-\-block\-list=\fP\fIBlöcke\fP +beginnt bei der Kompression in das \fB.xz\fP\-Format nach den angegebenen +Intervallen unkomprimierter Daten einen neuen Block, optional mit einer +benutzerdefinierten Filterkette. +.IP "" +Die \fIBlöcke\fP werden in einer durch Kommata getrennten Liste +angegeben. Jeder Block besteht aus einer optionalen Filterkettennummer +zwischen 0 und 9, gefolgt von einem Doppelpunkt (\fB:\fP) und der Größe der +unkomprimierten Daten (diese Angabe ist erforderlich). Überspringen eines +Blocks (zwei oder mehr aufeinander folgende Kommata) ist ein Kürzel dafür, +die Größe und die Filter des vorherigen Blocks zu verwenden. +.IP "" +Falls die Eingabedatei größer ist als die Summe der \fIBlöcke\fP, dann wird der +letzte in \fIVBlöcke\fP angegebene Wert bis zum Ende der Datei wiederholt. Mit +dem speziellen Wert \fB0\fP können Sie angeben, dass der Rest der Datei als +einzelner Block kodiert werden soll. +.IP "" +Eine alternative Filterkette für jeden Block kann in Kombination mit den +Optionen \fB\-\-filters1=\fP\fIFilter\fP \&…\& \fB\-\-filters9=\fP\fIFilter\fP angegeben +werden. Diese Optionen definieren Filterketten mit einem Bezeichner zwischen +1 und 9. Die Filterkette 0 bezeichnet hierbei die voreingestellte +Filterkette, was dem Nichtangeben einer Filterkette gleichkommt. Der +Filterkettenbezeichner kann vor der unkomprimierten Größe verwendet werden, +gefolgt von einem Doppelpunkt (\fB:\fP). Falls Sie beispielsweise +\fB\-\-block\-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB\fP angeben, werden die Blöcke +folgendermaßen erstellt: +.RS +.IP \(bu 3 +Die durch \fB\-\-filters1\fP angegebene Filterkette und 2 MiB Eingabe +.IP \(bu 3 +Die durch \fB\-\-filters3\fP angegebene Filterkette und 2 MiB Eingabe +.IP \(bu 3 +Die durch \fB\-\-filters2\fP angegebene Filterkette und 4 MiB Eingabe +.IP \(bu 3 +Die durch \fB\-\-filters2\fP angegebene Filterkette und 4 MiB Eingabe +.IP \(bu 3 +Die vorgegebene Filterkette und 2 MiB Eingabe +.IP \(bu 3 +Die vorgegebene Filterkette und 4 MiB Eingabe für jeden Block bis zum Ende +der Eingabe. +.RE +.IP "" +Falls Sie eine Größe angeben, welche die Blockgröße des Encoders übersteigen +(entweder den Vorgabewert im Thread\-Modus oder den mit +\fB\-\-block\-size=\fP\fIGröße\fP angegebenen Wert), wird der Encoder zusätzliche +Blöcke erzeugen, wobei die in den \fIBlöcke\fP angegebenen Grenzen eingehalten +werden. Wenn Sie zum Beispiel \fB\-\-block\-size=10MiB\fP +\fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP angeben und die Eingabedatei 80 +MiB groß ist, erhalten Sie 11 Blöcke: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10 und +1 MiB. +.IP "" +Im Multi\-Thread\-Modus werden die Blockgrößen in den Block\-Headern +gespeichert. Dies geschieht im Einzel\-Thread\-Modus nicht, daher wird die +kodierte Ausgabe zu der im Multi\-Thread\-Modus nicht identisch sein. +.TP +\fB\-\-flush\-timeout=\fP\fIZeit\fP +löscht bei der Kompression die ausstehenden Daten aus dem Encoder und macht +sie im Ausgabedatenstrom verfügbar, wenn mehr als die angegebene \fIZeit\fP in +Millisekunden (als positive Ganzzahl) seit dem vorherigen Löschen vergangen +ist und das Lesen weiterer Eingaben blockieren würde. Dies kann nützlich +sein, wenn \fBxz\fP zum Komprimieren von über das Netzwerk eingehenden Daten +verwendet wird. Kleine \fIZeit\fP\-Werte machen die Daten unmittelbar nach dem +Empfang nach einer kurzen Verzögerung verfügbar, während große \fIZeit\fP\-Werte +ein besseres Kompressionsverhältnis bewirken. +.IP "" +Dieses Funktionsmerkmal ist standardmäßig deaktiviert. Wenn diese Option +mehrfach angegeben wird, ist die zuletzt angegebene wirksam. Für die Angabe +der \fIZeit\fP kann der spezielle Wert \fB0\fP verwendet werden, um dieses +Funktionsmerkmal explizit zu deaktivieren. +.IP "" +Dieses Funktionsmerkmal ist außerhalb von POSIX\-Systemen nicht verfügbar. +.IP "" +.\" FIXME +\fBDieses Funktionsmerkmal ist noch experimentell.\fP Gegenwärtig ist \fBxz\fP +aufgrund der Art und Weise, wie \fBxz\fP puffert, für Dekompression in Echtzeit +ungeeignet. +.TP +\fB\-\-memlimit\-compress=\fP\fIGrenze\fP +legt eine Grenze für die Speichernutzung bei der Kompression fest. Wenn +diese Option mehrmals angegeben wird, ist die zuletzt angegebene wirksam. +.IP "" +Falls die Kompressionseinstellungen die \fIGrenze\fP überschreiten, versucht +\fBxz\fP, die Einstellungen nach unten anzupassen, so dass die Grenze nicht +mehr überschritten wird und zeigt einen Hinweis an, dass eine automatische +Anpassung vorgenommen wurde. Die Anpassungen werden in folgender Reihenfolge +angewendet: Reduzierung der Anzahl der Threads, Wechsel in den +Einzelthread\-Modus, falls sogar ein einziger Thread im Multithread\-Modus die +\fIGrenze\fP überschreitet, und schlussendlich die Reduzierung der Größe des +LZMA2\-Wörterbuchs. +.IP "" +Beim Komprimieren mit \fB\-\-format=raw\fP oder falls \fB\-\-no\-adjust\fP angegeben +wurde, wird nur die Anzahl der Threads reduziert, da nur so die komprimierte +Ausgabe nicht beeinflusst wird. +.IP "" +Falls die \fIGrenze\fP nicht anhand der vorstehend beschriebenen Anpassungen +gesetzt werden kann, wird ein Fehler angezeigt und \fBxz\fP wird mit dem +Exit\-Status 1 beendet. +.IP "" +Die \fIGrenze\fP kann auf verschiedene Arten angegeben werden: +.RS +.IP \(bu 3 +Die \fIGrenze\fP kann ein absoluter Wert in Byte sein. Ein Suffix wie \fBMiB\fP +kann dabei hilfreich sein. Beispiel: \fB\-\-memlimit\-compress=80MiB\fP. +.IP \(bu 3 +Die \fIGrenze\fP kann als Prozentsatz des physischen Gesamtspeichers (RAM) +angegeben werden. Dies ist insbesondere nützlich, wenn in einem +Shell\-Initialisierungsskript, das mehrere unterschiedliche Rechner gemeinsam +verwenden, die Umgebungsvariable \fBXZ_DEFAULTS\fP gesetzt ist. Auf diese Weise +ist die Grenze auf Systemen mit mehr Speicher höher. Beispiel: +\fB\-\-memlimit\-compress=70%\fP +.IP \(bu 3 +Mit \fB0\fP kann die \fIGrenze\fP auf den Standardwert zurückgesetzt werden. Dies +ist gegenwärtig gleichbedeutend mit dem Setzen der \fIGrenze\fP auf \fBmax\fP +(keine Speicherbegrenzung). +.RE +.IP "" +Für die 32\-Bit\-Version von \fBxz\fP gibt es einen Spezialfall: Falls die Grenze +über \fB4020\ MiB\fP liegt, wird die \fIGrenze\fP auf \fB4020\ MiB\fP gesetzt. Auf +MIPS32 wird stattdessen \fB2000\ MB\fP verwendet (die Werte \fB0\fP und \fBmax\fP +werden hiervon nicht beeinflusst; für die Dekompression gibt es keine +vergleichbare Funktion). Dies kann hilfreich sein, wenn ein +32\-Bit\-Executable auf einen 4\ GiB großen Adressraum (2 GiB auf MIPS32) +zugreifen kann, wobei wir hoffen wollen, dass es in anderen Situationen +keine negativen Effekte hat. +.IP "" +Siehe auch den Abschnitt \fBSpeicherbedarf\fP. +.TP +\fB\-\-memlimit\-decompress=\fP\fIGrenze\fP +legt eine Begrenzung des Speicherverbrauchs für die Dekompression fest. Dies +beeinflusst auch den Modus \fB\-\-list\fP. Falls die Aktion nicht ausführbar ist, +ohne die \fIGrenze\fP zu überschreiten, gibt \fBxz\fP eine Fehlermeldung aus und +die Dekompression wird fehlschlagen. Siehe \fB\-\-memlimit\-compress=\fP\fIGrenze\fP +zu möglichen Wegen, die \fIGrenze\fP anzugeben. +.TP +\fB\-\-memlimit\-mt\-decompress=\fP\fIGrenze\fP +legt eine Begrenzung des Speicherverbrauchs für Multithread\-Dekompression +fest. Dies beeinflusst lediglich die Anzahl der Threads; \fBxz\fP wird dadurch +niemals die Dekompression einer Datei verweigern. Falls die \fIGrenze\fP für +jegliches Multithreading zu niedrig ist, wird sie ignoriert und \fBxz\fP setzt +im Einzelthread\-modus fort. Beachten Sie auch, dass bei der Verwendung von +\fB\-\-memlimit\-decompress\fP dies stets sowohl auf den Einzelthread\-als auch auf +den Multithread\-Modus angewendet wird und so die effektive \fIGrenze\fP für den +Multithread\-Modus niemals höher sein wird als die mit +\fB\-\-memlimit\-decompress\fP gesetzte Grenze. +.IP "" +Im Gegensatz zu anderen Optionen zur Begrenzung des Speicherverbrauchs hat +\fB\-\-memlimit\-mt\-decompress=\fP\fIGrenze\fP eine systemspezifisch vorgegebene +\fIGrenze\fP. Mit \fBxz \-\-info\-memory\fP können Sie deren aktuellen Wert anzeigen +lassen. +.IP "" +Diese Option und ihr Standardwert existieren, weil die unbegrenzte +threadbezogene Dekompression bei einigen Eingabedateien zu unglaublich +großem Speicherverbrauch führen würde. Falls die vorgegebene \fIGrenze\fP auf +Ihrem System zu niedrig ist, können Sie die \fIGrenze\fP durchaus erhöhen, aber +setzen Sie sie niemals auf einen Wert größer als die Menge des nutzbaren +Speichers, da \fBxz\fP bei entsprechenden Eingabedateien versuchen wird, diese +Menge an Speicher auch bei einer geringen Anzahl von Threads zu +verwnden. Speichermangel oder Auslagerung verbessern die +Dekomprimierungsleistung nicht. +.IP "" +Siehe \fB\-\-memlimit\-compress=\fP\fIGrenze\fP für mögliche Wege zur Angabe der +\fIGrenze\fP. Sezen der \fIGrenze\fP auf \fB0\fP setzt die \fIGrenze\fP auf den +vorgegebenen systemspezifischen Wert zurück. +.TP +\fB\-M\fP \fIGrenze\fP, \fB\-\-memlimit=\fP\fIGrenze\fP, \fB\-\-memory=\fP\fIGrenze\fP +Dies ist gleichbedeutend mit \fB\-\-memlimit\-compress=\fP\fIGrenze\fP +\fB\-\-memlimit\-decompress=\fP\fIGrenze\fP \fB\-\-memlimit\-mt\-decompress=\fP\fIGrenze\fP. +.TP +\fB\-\-no\-adjust\fP +zeigt einen Fehler an und beendet, falls die Grenze der Speichernutzung +nicht ohne Änderung der Einstellungen, welche die komprimierte Ausgabe +beeinflussen, berücksichtigt werden kann. Das bedeutet, dass \fBxz\fP daran +gehindert wird, den Encoder vom Multithread\-Modus in den Einzelthread\-Modus +zu versetzen und die Größe des LZMA2\-Wörterbuchs zu reduzieren. Allerdings +kann bei Verwendung dieser Option dennoch die Anzahl der Threads reduziert +werden, um die Grenze der Speichernutzung zu halten, sofern dies die +komprimierte Ausgabe nicht beeinflusst. +.IP "" +Die automatische Anpassung ist beim Erzeugen von Rohdatenströmen +(\fB\-\-format=raw\fP) immer deaktiviert. +.TP +\fB\-T\fP \fIThreads\fP, \fB\-\-threads=\fP\fIThreads\fP +gibt die Anzahl der zu verwendenden Arbeits\-Threads an. Wenn Sie \fIThreads\fP +auf einen speziellen Wert \fB0\fP setzen, verwendet \fBxz\fP maximal so viele +Threads, wie der/die Prozessor(en) im System untestützen. Die tatsächliche +Anzahl kann geringer sein als die angegebenen \fIThreads\fP, wenn die +Eingabedatei nicht groß genug für Threading mit den gegebenen Einstellungen +ist oder wenn mehr Threads die Speicherbegrenzung übersteigen würden. +.IP "" +Die Multithread\- bzw. Einzelthread\-Kompressoren erzeugen unterschiedliche +Ausgaben. Der Einzelthread\-Kompressor erzeugt die geringste Dateigröße, aber +nur die Ausgabe des Multithread\-Kompressors kann mit mehreren Threads wieder +dekomprimiert werden. Das Setzen der Anzahl der \fIThreads\fP auf \fB1\fP wird den +Einzelthread\-Modus verwenden. Das Setzen der Anzahl der \fIThreads\fP auf +einen anderen Wert einschließlich \fB0\fP verwendet den Multithread\-Kompressor, +und zwar sogar dann, wenn das System nur einen einzigen Hardware\-Thread +unterstützt (\fBxz\fP 5.2.x verwendete in diesem Fall noch den +Einzelthread\-Modus). +.IP "" +Um den Multithread\-Modus mit nur einem einzigen Thread zu verwenden, setzen +Sie die Anzahl der \fIThreads\fP auf \fB+1\fP. Das Präfix \fB+\fP hat mit Werten +verschieden von \fB1\fP keinen Effekt. Eine Begrenzung des Speicherverbrauchs +kann \fBxz\fP dennoch veranlassen, den Einzelthread\-Modus zu verwenden, außer +wenn \fB\-\-no\-adjust\fP verwendet wird. Die Unterstützung für das Präfix \fB+\fP +wurde in \fBxz\fP 5.4.0 hinzugefügt. +.IP "" +Falls das automatische Setzen der Anzahl der Threads angefordert und keine +Speicherbegrenzung angegeben wurde, dann wird eine systemspezifisch +vorgegebene weiche Grenze verwendet, um eventuell die Anzahl der Threads zu +begrenzen. Es ist eine weiche Grenze im Sinne davon, dass sie ignoriert +wird, falls die Anzahl der Threads 1 ist; daher wird eine weiche Grenze +\fBxz\fP niemals an der Kompression oder Dekompression hindern. Diese +vorgegebene weiche Grenze veranlasst \fBxz\fP nicht, vom Multithread\-Modus in +den Einzelthread\-Modus zu wechseln. Die aktiven Grenzen können Sie mit dem +Befehl \fBxz \-\-info\-memory\fP anzeigen lassen. +.IP "" +Die gegenwärtig einzige Threading\-Methode teilt die Eingabe in Blöcke und +komprimiert diese unabhängig voneinander. Die vorgegebene Blockgröße ist von +der Kompressionsstufe abhängig und kann mit der Option +\fB\-\-block\-size=\fP\fIGröße\fP außer Kraft gesetzt werden. +.IP "" +Eine thread\-basierte Dekompression wird nur bei Dateien funktionieren, die +mehrere Blöcke mit Größeninformationen in deren Headern enthalten. Alle im +Multi\-Thread\-Modus komprimierten Dateien, die groß genug sind, erfüllen +diese Bedingung, im Einzel\-Thread\-Modus komprimierte Dateien dagegen nicht, +selbst wenn \fB\-\-block\-size=\fP\fIGröße\fP verwendet wurde. +.IP "" +Der Vorgabewert für \fIThreads\fP is \fB0\fP. In \fBxz\fP 5.4.x und älteren Versionen +ist der Vorgabewert \fB1\fP. +. +.SS "Benutzerdefinierte Filterketten für die Kompression" +Eine benutzerdefinierte Filterkette ermöglicht die Angabe detaillierter +Kompressionseinstellungen, anstatt von den Voreinstellungen auszugehen. Wenn +eine benutzerdefinierte Filterkette angegeben wird, werden die vorher in der +Befehlszeile angegebenen Voreinstellungsoptionen (\fB\-0\fP … \fB\-9\fP und +\fB\-\-extreme\fP) außer Kraft gesetzt. Wenn eine Voreinstellungsoption nach +einer oder mehreren benutzerdefinierten Filterkettenoptionen angegeben wird, +dann wird die neue Voreinstellung wirksam und die zuvor angegebenen +Filterkettenoptionen werden außer Kraft gesetzt. +.PP +Eine Filterkette ist mit dem Piping (der Weiterleitung) in der Befehlszeile +vergleichbar. Bei der Kompression gelangt die unkomprimierte Eingabe in den +ersten Filter, dessen Ausgabe wiederum in den zweiten Filter geleitet wird +(sofern ein solcher vorhanden ist). Die Ausgabe des letzten Filters wird in +die komprimierte Datei geschrieben. In einer Filterkette sind maximal vier +Filter zulässig, aber typischerweise besteht eine Filterkette nur aus einem +oder zwei Filtern. +.PP +Bei vielen Filtern ist die Positionierung in der Filterkette eingeschränkt: +Einige Filter sind nur als letzte in der Kette verwendbar, einige können +nicht als letzte Filter gesetzt werden, und andere funktionieren an +beliebiger Stelle. Abhängig von dem Filter ist diese Beschränkung entweder +auf das Design des Filters selbst zurückzuführen oder ist aus +Sicherheitsgründen vorhanden. +.PP +Eine benutzerdefinierte Filterkette kann auf zwei verschiedene Arten +angegeben werden. Die Optionen \fB\-\-filters=\fP\fIFilter\fP und +\fB\-\-filters1=\fP\fIFilter\fP \&…\& \fB\-\-filters9=\fP\fIFilter\fP ermöglichen die Angabe +einer ganzen Filterkette in einer einzelnen Option gemäß der +Liblzma\-Filterzeichenkettensyntax. Alternativ können Sie eine Filterkette +mit einer oder mehreren individuellen Filteroptionen in der Reihenfolge +angeben, in der sie in der Filterkette verwendet werden sollen. Daher ist +die Reihenfolge der individuellen Filteroptionen wichtig! Beim Dekodieren +von Rohdatenströmen (\fB\-\-format=raw\fP) muss die Filterkette in der gleichen +Reihenfolge wie bei der Komprimierung angegeben werden. Alle individuellen +Filter\- oder Voreinstellungsoptionen, die \fIvor\fP der vollen +Filterkettenoption (\fB\-\-filters=\fP\fIFilter\fP) angegeben werden, werden +verworfen. Individuelle Filter, die \fInach\fP der vollen Filterkettenoption +angegeben werden, setzen die Filterkette zurück +.PP +Sowohl vollständige als auch individuelle Filteroptionen akzeptieren +filterspezifische \fIOptionen\fP in einer durch Kommata getrennten +Liste. Zusätzliche Kommata in den \fIOptionen\fP werden ignoriert. Jede Option +hat einen Standardwert, daher brauchen Sie nur jene anzugeben, die Sie +ändern wollen. +.PP +Um die gesamte Filterkette und die \fIOptionen\fP anzuzeigen, rufen Sie \fBxz \-vv\fP auf (was gleichbedeutend mit der zweimaligen Angabe von \fB\-\-verbose\fP +ist). Dies funktioniert auch zum Betrachten der von den Voreinstellungen +verwendeten Filterkettenoptionen. +.TP +\fB\-\-filters=\fP\fIFilter\fP +gibt die vollständige Filterkette oder eine Voreinstellung in einer +einzelnen Option an. Mehrere Filter können durch Leerzeichen oder zwei +Minuszeichen (\fB\-\-\fP) voneinander getrennt werden. Es kann notwendig sein, +die \fIFilter\fP in der Shell\-Befehlszeile zu maskieren, so dass diese als +einzelne Option ausgewertet werden. Um Optionen Werte zuzuordnen, verwenden +Sie \fB:\fP oder \fB=\fP. Einer Voreinstellung kann ein \fB\-\fP vorangestellt werden, +dem keiner oder mehrere Schalter folgen. Der einzige unterstützte Schalter +ist \fBe\fP zum Anwenden der gleichen Optionen wie \fB\-\-extreme\fP. +.TP +\fB\-\-filters1\fP=\fIFilter\fP … \fB\-\-filters9\fP=\fIFilter\fP +gibt bis zu neun optionale Filterketten an, die mit \fB\-\-block\-list\fP +verwendet werden können. +.IP "" +Wenn Sie beispielsweise ein Archiv mit ausführbaren Dateien gefolgt von +Textdateien komprimieren, könnte der Teil mit den ausführbaren Dateien eine +Filterkette mit einem BCJ\-Filter und der Textdateiteil lediglich den +LZMA2\-Filter verwenden. +.TP +\fB\-\-filters\-help\fP +zeigt eine Hilfemeldung an, welche beschreibt, wie Voreinstellungen und +benutzerdefinierte Filterketten in den Optionen \fB\-\-filters\fP und +\fB\-\-filters1=\fP\fIFilter\fP \&… \& \fB\-\-filters9=\fP\fIFilter\fP angegeben werden und +beendet das Programm. +.TP +\fB\-\-lzma1\fP[\fB=\fP\fIOptionen\fP] +.PD 0 +.TP +\fB\-\-lzma2\fP[\fB=\fP\fIOptionen\fP] +.PD +fügt LZMA1\- oder LZMA2\-Filter zur Filterkette hinzu. Diese Filter können nur +als letzte Filter in der Kette verwendet werden. +.IP "" +LZMA1 ist ein veralteter Filter, welcher nur wegen des veralteten +\&\fB.lzma\fP\-Dateiformats unterstützt wird, welches nur LZMA1 unterstützt. LZMA2 +ist eine aktualisierte Version von LZMA1, welche einige praktische Probleme +von LZMA1 behebt. Das \fB.xz\fP\-Format verwendet LZMA2 und unterstützt LZMA1 +gar nicht. Kompressionsgeschwindigkeit und \-verhältnis sind bei LZMA1 und +LZMA2 praktisch gleich. +.IP "" +LZMA1 und LZMA2 haben die gleichen \fIOptionen\fP: +.RS +.TP +\fBpreset=\fP\fIVoreinstellung\fP +setzt alle LZMA1\- oder LZMA2\-\fIOptionen\fP auf die \fIVoreinstellung\fP +zurück. Diese \fIVoreinstellung\fP wird in Form einer Ganzzahl angegeben, der +ein aus einem einzelnen Buchstaben bestehender Voreinstellungsmodifikator +folgen kann. Die Ganzzahl kann \fB0\fP bis \fB9\fP sein, entsprechend den +Befehlszeilenoptionen \fB\-0\fP … \fB\-9\fP. Gegenwärtig ist \fBe\fP der einzige +unterstützte Modifikator, was \fB\-\-extreme\fP entspricht. Wenn keine +\fBVoreinstellung\fP angegeben ist, werden die Standardwerte der LZMA1\- oder +LZMA2\-\fIOptionen\fP der Voreinstellung \fB6\fP entnommen. +.TP +\fBdict=\fP\fIGröße\fP +Die \fIGröße\fP des Wörterbuchs (Chronikpuffers) gibt an, wie viel Byte der +kürzlich verarbeiteten unkomprimierten Daten im Speicher behalten werden +sollen. Der Algorithmus versucht, sich wiederholende Byte\-Abfolgen +(Übereinstimmungen) in den unkomprimierten Daten zu finden und diese durch +Referenzen zu den Daten zu ersetzen, die sich gegenwärtig im Wörterbuch +befinden. Je größer das Wörterbuch, umso größer ist die Chance, eine +Übereinstimmung zu finden. Daher bewirkt eine Erhöhung der \fIGröße\fP des +Wörterbuchs üblicherweise ein besseres Kompressionsverhältnis, aber ein +Wörterbuch, das größer ist als die unkomprimierte Datei, wäre +Speicherverschwendung. +.IP "" +Typische Wörterbuch\-\fIGrößen\fP liegen im Bereich von 64\ KiB bis 64\ MiB. Das +Minimum ist 4\ KiB. Das Maximum für die Kompression ist gegenwärtig 1.5\ GiB +(1536\ MiB). Bei der Dekompression wird bereits eine Wörterbuchgröße bis zu +4\ GiB minus 1 Byte unterstützt, welche das Maximum für die LZMA1\- und +LZMA2\-Datenstromformate ist. +.IP "" +Die \fIGröße\fP des Wörterbuchs und der Übereinstimmungsfinder (\fIÜf\fP) +bestimmen zusammen den Speicherverbrauch des LZMA1\- oder +LZMA2\-Kodierers. Bei der Dekompression ist ein Wörterbuch der gleichen +\fIGröße\fP (oder ein noch größeres) wie bei der Kompression erforderlich, +daher wird der Speicherverbrauch des Dekoders durch die Größe des bei der +Kompression verwendeten Wörterbuchs bestimmt. Die \fB.xz\fP\-Header speichern +die \fIGröße\fP des Wörterbuchs entweder als 2^\fIn\fP oder 2^\fIn\fP + 2^(\fIn\fP\-1), +so dass diese \fIGrößen\fP für die Kompression etwas bevorzugt werden. Andere +\fIGrößen\fP werden beim Speichern in den \fB.xz\fP\-Headern aufgerundet. +.TP +\fBlc=\fP\fIlc\fP +gibt die Anzahl der literalen Kontextbits an. Das Minimum ist 0 und das +Maximum 4; der Standardwert ist 3. Außerdem darf die Summe von \fIlc\fP und +\fIlp\fP nicht größer als 4 sein. +.IP "" +Alle Bytes, die nicht als Übereinstimmungen kodiert werden können, werden +als Literale kodiert. Solche Literale sind einfache 8\-bit\-Bytes, die jeweils +für sich kodiert werden. +.IP "" +Bei der Literalkodierung wird angenommen, dass die höchsten \fIlc\fP\-Bits des +zuvor unkomprimierten Bytes mit dem nächsten Byte in Beziehung stehen. Zum +Beispiel folgt in typischen englischsprachigen Texten auf einen +Großbuchstaben ein Kleinbuchstabe und auf einen Kleinbuchstaben +üblicherweise wieder ein Kleinbuchstabe. Im US\-ASCII\-Zeichensatz sind die +höchsten drei Bits 010 für Großbuchstaben und 011 für Kleinbuchstaben. Wenn +\fIlc\fP mindestens 3 ist, kann die literale Kodierung diese Eigenschaft der +unkomprimierten Daten ausnutzen. +.IP "" +Der Vorgabewert (3) ist üblicherweise gut. Wenn Sie die maximale Kompression +erreichen wollen, versuchen Sie \fBlc=4\fP. Manchmal hilft es ein wenig, doch +manchmal verschlechtert es die Kompression. Im letzteren Fall versuchen Sie +zum Beispiel auch\& \fBlc=2\fP. +.TP +\fBlp=\fP\fIlp\fP +gibt die Anzahl der literalen Positionsbits an. Das Minimum ist 0 und das +Maximum 4; die Vorgabe ist 0. +.IP "" +\fILp\fP beeinflusst, welche Art der Ausrichtung der unkomprimierten Daten beim +Kodieren von Literalen angenommen wird. Siehe \fIpb\fP weiter unten für weitere +Informationen zur Ausrichtung. +.TP +\fBpb=\fP\fIAnzahl\fP +legt die Anzahl der Positions\-Bits fest. Das Minimum ist 0 und das Maximum +4; Standard ist 2. +.IP "" +\fIPb\fP beeinflusst, welche Art der Ausrichtung der unkomprimierten Daten +generell angenommen wird. Standardmäßig wird eine Vier\-Byte\-Ausrichtung +angenommen (2^\fIpb\fP=2^2=4), was oft eine gute Wahl ist, wenn es keine +bessere Schätzung gibt. +.IP "" +Wenn die Ausrichtung bekannt ist, kann das entsprechende Setzen von \fIpb\fP +die Dateigröße ein wenig verringern. Wenn Textdateien zum Beispiel eine +Ein\-Byte\-Ausrichtung haben (US\-ASCII, ISO\-8859\-*, UTF\-8), kann das Setzen +von \fBpb=0\fP die Kompression etwas verbessern. Für UTF\-16\-Text ist \fBpb=1\fP +eine gute Wahl. Wenn die Ausrichtung eine ungerade Zahl wie beispielsweise 3 +Byte ist, könnte \fBpb=0\fP die beste Wahl sein. +.IP "" +Obwohl die angenommene Ausrichtung mit \fIpb\fP und \fIlp\fP angepasst werden +kann, bevorzugen LZMA1 und LZMA2 noch etwas die 16\-Byte\-Ausrichtung. Das +sollten Sie vielleicht beim Design von Dateiformaten berücksichtigen, die +wahrscheinlich oft mit LZMA1 oder LZMA2 komprimiert werden. +.TP +\fBmf=\fP\fIÜf\fP +Der Übereinstimmungsfinder hat einen großen Einfluss auf die Geschwindigkeit +des Kodierers, den Speicherbedarf und das +Kompressionsverhältnis. Üblicherweise sind auf Hash\-Ketten basierende +Übereinstimmungsfinder schneller als jene, die mit Binärbäumen arbeiten. Die +Vorgabe hängt von der \fIVoreinstellungsstufe\fP ab: 0 verwendet \fBhc3\fP, 1\-3 +verwenden \fBhc4\fP und der Rest verwendet \fBbt4\fP. +.IP "" +Die folgenden Übereinstimmungsfinder werden unterstützt. Die Formeln zur +Ermittlung des Speicherverbrauchs sind grobe Schätzungen, die der Realität +am nächsten kommen, wenn \fIWörterbuch\fP eine Zweierpotenz ist. +.RS +.TP +\fBhc3\fP +Hash\-Kette mit 2\- und 3\-Byte\-Hashing +.br +Minimalwert für \fInice\fP: 3 +.br +Speicherbedarf: +.br +\fIdict\fP * 7,5 (falls \fIdict\fP <= 16 MiB); +.br +\fIdict\fP * 5,5 + 64 MiB (falls \fIdict\fP > 16 MiB) +.TP +\fBhc4\fP +Hash\-Kette mit 2\-, 3\- und 4\-Byte\-Hashing +.br +Minimaler Wert für \fInice\fP: 4 +.br +Speicherbedarf: +.br +\fIdict\fP * 7,5 (falls \fIdict\fP <= 32 MiB ist); +.br +\fIdict\fP * 6,5 (falls \fIdict\fP > 32 MiB ist) +.TP +\fBbt2\fP +Binärbaum mit 2\-Byte\-Hashing +.br +Minimaler Wert für \fInice\fP: 2 +.br +Speicherverbrauch: \fIdict\fP * 9.5 +.TP +\fBbt3\fP +Binärbaum mit 2\- und 3\-Byte\-Hashing +.br +Minimalwert für \fInice\fP: 3 +.br +Speicherbedarf: +.br +\fIdict\fP * 11,5 (falls \fIdict\fP <= 16 MiB ist); +.br +\fIdict\fP * 9,5 + 64 MiB (falls \fIdict\fP > 16 MiB ist) +.TP +\fBbt4\fP +Binärbaum mit 2\-, 3\- und 4\-Byte\-Hashing +.br +Minimaler Wert für \fInice\fP: 4 +.br +Speicherbedarf: +.br +\fIdict\fP * 11,5 (falls \fIdict\fP <= 32 MiB ist); +.br +\fIdict\fP * 10,5 (falls \fIdict\fP > 32 MiB ist) +.RE +.TP +\fBmode=\fP\fIModus\fP +gibt die Methode zum Analysieren der vom Übereinstimmungsfinder gelieferten +Daten an. Als \fIModi\fP werden \fBfast\fP und \fBnormal\fP unterstützt. Die Vorgabe +ist \fBfast\fP für die \fIVoreinstellungsstufen\fP 0\-3 und \fBnormal\fP für die +\fIVoreinstellungsstufen\fP 4\-9. +.IP "" +Üblicherweise wird \fBfast\fP mit Hashketten\-basierten Übereinstimmungsfindern +und \fBnormal\fP mit Binärbaum\-basierten Übereinstimmungsfindern verwendet. So +machen es auch die \fIVoreinstellungsstufen\fP. +.TP +\fBnice=\fP\fInice\fP +gibt an, was als annehmbarer Wert für eine Übereinstimmung angesehen werden +kann. Wenn eine Übereinstimmung gefunden wird, die mindestens diesen +\fInice\fP\-Wert hat, sucht der Algorithmus nicht weiter nach besseren +Übereinstimmungen. +.IP "" +Der \fInice\fP\-Wert kann 2\-273 Byte sein. Höhere Werte tendieren zu einem +besseren Kompressionsverhältnis, aber auf Kosten der Geschwindigkeit. Die +Vorgabe hängt von der \fIVoreinstellungsstufe\fP ab. +.TP +\fBdepth=\fP\fITiefe\fP +legt die maximale Suchtiefe im Übereinstimmungsfinder fest. Vorgegeben ist +der spezielle Wert 0, der den Kompressor veranlasst, einen annehmbaren Wert +für \fITiefe\fP aus \fIÜf\fP und \fInice\fP\-Wert zu bestimmen. +.IP "" +Die angemessene \fITiefe\fP für Hash\-Ketten ist 4\-100 und 16\-1000 für +Binärbäume. Hohe Werte für die \fITiefe\fP können den Kodierer bei einigen +Dateien extrem verlangsamen. Vermeiden Sie es, die \fITiefe\fP über einen Wert +von 100 zu setzen, oder stellen Sie sich darauf ein, die Kompression +abzubrechen, wenn sie zu lange dauert. +.RE +.IP "" +Beim Dekodieren von Rohdatenströmen (\fB\-\-format=raw\fP) benötigt LZMA2 nur die +Wörterbuch\-\fIGröße\fP. LZMA1 benötigt außerdem \fIlc\fP, \fIlp\fP und \fIpb\fP. +.TP +\fB\-\-x86\fP[\fB=\fP\fIOptionen\fP] +.PD 0 +.TP +\fB\-\-arm\fP[\fB=\fP\fIOptionen\fP] +.TP +\fB\-\-armthumb\fP[\fB=\fP\fIOptionen\fP] +.TP +\fB\-\-arm64\fP[\fB=\fP\fIOptionen\fP] +.TP +\fB\-\-powerpc\fP[\fB=\fP\fIOptionen\fP] +.TP +\fB\-\-ia64\fP[\fB=\fP\fIOptionen\fP] +.TP +\fB\-\-sparc\fP[\fB=\fP\fIOptionen\fP] +.PD +fügt ein »Branch/Call/Jump«\-(BCJ\-)Filter zur Filterkette hinzu. Diese Filter +können nicht als letzter Filter in der Filterkette verwendet werden. +.IP "" +Ein BCJ\-Filter wandelt relative Adressen im Maschinencode in deren absolute +Gegenstücke um. Die Datengröße wird dadurch nicht geändert, aber die +Redundanz erhöht, was LZMA2 dabei helfen kann, eine um 10 bis 15% kleinere +\&\fB.xz\fP\-Datei zu erstellen. Die BCJ\-Filter sind immer reversibel, daher +verursacht die Anwendung eines BCJ\-Filters auf den falschen Datentyp keinen +Datenverlust, wobei aber das Kompressionsverhältnis etwas schlechter werden +könnte. Die BCJ\-Filter sind sehr schnell und verbrauchen nur wenig mehr +Speicher. +.IP "" +Diese BCJ\-Filter haben bekannte Probleme mit dem Kompressionsverhältnis: +.RS +.IP \(bu 3 +In einigen Dateitypen, die ausführbaren Code enthalten (zum Beispiel +Objektdateien, statische Bibliotheken und Linux\-Kernelmodule), sind die +Adressen in den Anweisungen mit Füllwerten gefüllt. Diese BCJ\-Filter führen +dennoch die Adressumwandlung aus, wodurch die Kompression bei diesen Dateien +schlechter wird. +.IP \(bu 3 +Falls ein BCJ\-Filter auf ein Archiv angewendet wird, ist es möglich, dass +das Kompressionsverhältnis schlechter als ohne Filter wird. Falls es +beispielsweise ähnliche oder sogar identische ausführbare Dateien gibt, dann +werden diese durch die Filterung wahrscheinlich »unähnlicher« und +verschlechtern dadurch das Kompressionsverhältnis. Der Inhalt +nicht\-ausführbarer Dateien im gleichen Archiv kann sich ebenfalls darauf +auswirken. In der Praxis werden Sie durch Versuche mit oder ohne BCJ\-Filter +selbst herausfinden müssen, was situationsbezogen besser ist. +.RE +.IP "" +Verschiedene Befehlssätze haben unterschiedliche Ausrichtungen: Die +ausführbare Datei muss in den Eingabedateien einem Vielfachen dieses Wertes +entsprechen, damit dieser Filter funktioniert. +.RS +.RS +.PP +.TS +tab(;); +l n l +l n l. +Filter;Ausrichtung;Hinweise +x86;1;32\-Bit oder 64\-Bit x86 +ARM;4; +ARM\-Thumb;2; +ARM64;4;4096\-Byte\-Ausrichtung ist optimal +PowerPC;4;Nur Big Endian +IA\-64;16;Itanium +SPARC;4; +RISC\-V;2; +.TE +.RE +.RE +.IP "" +Da die BCJ\-gefilterten Daten üblicherweise mit LZMA2 komprimiert sind, kann +das Kompressionsverhältnis dadurch etwas verbessert werden, dass die +LZMA2\-Optionen so gesetzt werden, dass sie der Ausrichtung des gewählten +BCJ\-Filters entsprechen. Beispiele: +.RS +.IP \(bu 3 +Der IA\-64\-Filter hat eine 16\-Byte\-Ausrichtung, daher ist \fBpb=4,lp=4,lc=0\fP +für LZMA2 passend (2^4=16). +.IP \(bu 3 +RISC\-V\-Code hat eine 2\-Byte\- oder 4\-Byte\-Ausrichtung, abhängig davon, ob die +Datei 16\-bit\-komprimierte Instruktionen enthält (die C\-Erweiterung). Wenn +16\-bit\-Instruktionen verwendet werden, ist \fBpb=2,lp=1,lc=3\fP oder +\fBpb=1,lp=1,lc=3\fP passend. Wenn keine 16\-bit\-Instruktionen vorhanden sind, +ist \fBpb=2,lp=2,lc=2\fP am besten. Mit \fBreadelf \-h\fP können Sie überprüfen, ob +»RVC« in der »Flags«\-Zeile auftritt. +.IP \(bu 3 +ARM64 hat stets eine 4\-Byte\-Ausrichtung, daher ist \fBpb=2,lp=2,lc=2\fP am +besten. +.IP \(bu 3 +Der x86\-Filter stellt eine Ausnahme dar. Es ist üblicherweise eine gute +Wahl, bei den Voreinstellungen von LZMA2 (\fBpb=2,lp=0,lc=3\fP) zu bleiben, +wenn Sie ausführbare x86\-Dateien komprimieren +.RE +.IP "" +Alle BCJ\-Filter unterstützen die gleichen \fIOptionen\fP: +.RS +.TP +\fBstart=\fP\fIVersatz\fP +gibt den Start\-\fIVersatz\fP an, der bei der Umwandlung zwischen relativen und +absoluten Adressen verwendet wird. Der \fIVersatz\fP muss ein Vielfaches der +Filterausrichtung sein (siehe die Tabelle oben). Der Standardwert ist 0. In +der Praxis ist dieser Standardwert gut; die Angabe eines benutzerdefinierten +\fIVersatzes\fP ist fast immer unnütz. +.RE +.TP +\fB\-\-delta\fP[\fB=\fP\fIOptionen\fP] +fügt den Delta\-Filter zur Filterkette hinzu. Der Delta\-Filter kann nicht als +letzter Filter in der Filterkette verwendet werden. +.IP "" +Gegenwärtig wird nur eine einfache, Byte\-bezogene Delta\-Berechnung +unterstützt. Beim Komprimieren von zum Beispiel unkomprimierten +Bitmap\-Bildern oder unkomprimierten PCM\-Audiodaten kann es jedoch sinnvoll +sein. Dennoch können für spezielle Zwecke entworfene Algorithmen deutlich +bessere Ergebnisse als Delta und LZMA2 liefern. Dies trifft insbesondere auf +Audiodaten zu, die sich zum Beispiel mit \fBflac\fP(1) schneller und besser +komprimieren lassen. +.IP "" +Unterstützte \fIOptionen\fP: +.RS +.TP +\fBdist=\fP\fIAbstand\fP +gibt den \fIAbstand\fP der Delta\-Berechnung in Byte an. Zulässige Werte für den +\fIAbstand\fP sind 1 bis 256. Der Vorgabewert ist 1. +.IP "" +Zum Beispiel wird mit \fBdist=2\fP und der 8\-Byte\-Eingabe A1 B1 A2 B3 A3 B5 A4 +B7 die Ausgabe A1 B1 01 02 01 02 01 02 sein. +.RE +. +.SS "Andere Optionen" +.TP +\fB\-q\fP, \fB\-\-quiet\fP +unterdrückt Warnungen und Hinweise. Geben Sie dies zweimal an, um auch +Fehlermeldungen zu unterdrücken. Diese Option wirkt sich nicht auf den +Exit\-Status aus. Das bedeutet, das selbst bei einer unterdrückten Warnung +der Exit\-Status zur Anzeige einer Warnung dennoch verwendet wird. +.TP +\fB\-v\fP, \fB\-\-verbose\fP +bewirkt ausführliche Ausgaben. Wenn die Standardfehlerausgabe mit einem +Terminal verbunden ist, zeigt \fBxz\fP den Fortschritt an. Durch zweimalige +Angabe von \fB\-\-verbose\fP wird die Ausgabe noch ausführlicher. +.IP "" +Der Fortschrittsanzeiger stellt die folgenden Informationen dar: +.RS +.IP \(bu 3 +Der Prozentsatz des Fortschritts wird angezeigt, wenn die Größe der +Eingabedatei bekannt ist. Das bedeutet, dass der Prozentsatz in +Weiterleitungen (Pipes) nicht angezeigt werden kann. +.IP \(bu 3 +Menge der erzeugten komprimierten Daten (bei der Kompression) oder der +verarbeiteten Daten (bei der Dekompression). +.IP \(bu 3 +Menge der verarbeiteten unkomprimierten Daten (bei der Kompression) oder der +erzeugten Daten (bei der Dekompression). +.IP \(bu 3 +Kompressionsverhältnis, das mittels Dividieren der Menge der bisher +komprimierten Daten durch die Menge der bisher verarbeiteten unkomprimierten +Daten ermittelt wird. +.IP \(bu 3 +Kompressions\- oder Dekompressionsgeschwindigkeit. Diese wird anhand der +Menge der unkomprimierten verarbeiteten Daten (bei der Kompression) oder der +Menge der erzeugten Daten (bei der Dekompression) pro Sekunde gemessen. Die +Anzeige startet einige Sekunden nachdem \fBxz\fP mit der Verarbeitung der Datei +begonnen hat. +.IP \(bu 3 +Die vergangene Zeit im Format M:SS oder H:MM:SS. +.IP \(bu 3 +Die geschätzte verbleibende Zeit wird nur angezeigt, wenn die Größe der +Eingabedatei bekannt ist und bereits einige Sekunden vergangen sind, nachdem +\fBxz\fP mit der Verarbeitung der Datei begonnen hat. Die Zeit wird in einem +weniger präzisen Format ohne Doppelpunkte angezeigt, zum Beispiel 2 min 30 +s. +.RE +.IP "" +Wenn die Standardfehlerausgabe kein Terminal ist, schreibt \fBxz\fP mit +\fB\-\-verbose\fP nach dem Komprimieren oder Dekomprimieren der Datei in einer +einzelnen Zeile den Dateinamen, die komprimierte Größe, die unkomprimierte +Größe, das Kompressionsverhältnis und eventuell auch die Geschwindigkeit und +die vergangene Zeit in die Standardfehlerausgabe. Die Geschwindigkeit und +die vergangene Zeit werden nur angezeigt, wenn der Vorgang mindestens ein +paar Sekunden gedauert hat. Wurde der Vorgang nicht beendet, zum Beispiel +weil ihn der Benutzer abgebrochen hat, wird außerdem der Prozentsatz des +erreichten Verarbeitungsfortschritts aufgenommen, sofern die Größe der +Eingabedatei bekannt ist. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +setzt den Exit\-Status nicht auf 2, selbst wenn eine Bedingung erfüllt ist, +die eine Warnung gerechtfertigt hätte. Diese Option wirkt sich nicht auf die +Ausführlichkeitsstufe aus, daher müssen sowohl \fB\-\-quiet\fP als auch +\fB\-\-no\-warn\fP angegeben werden, um einerseits keine Warnungen anzuzeigen und +andererseits auch den Exit\-Status nicht zu ändern. +.TP +\fB\-\-robot\fP +gibt Meldungen in einem maschinenlesbaren Format aus. Dadurch soll das +Schreiben von Frontends erleichtert werden, die \fBxz\fP anstelle von Liblzma +verwenden wollen, was in verschiedenen Skripten der Fall sein kann. Die +Ausgabe mit dieser aktivierten Option sollte über mehrere +\fBxz\fP\-Veröffentlichungen stabil sein. Details hierzu finden Sie im Abschnitt +\fBROBOTER\-MODUS\fP. +.TP +\fB\-\-info\-memory\fP +zeigt in einem menschenlesbaren Format an, wieviel physischen Speicher (RAM) +und wie viele Prozessor\-Threads das System nach Annahme von \fBxz\fP hat, sowie +die Speicherbedarfsbegrenzung für Kompression und Dekompression, und beendet +das Programm erfolgreich. +.TP +\fB\-h\fP, \fB\-\-help\fP +zeigt eine Hilfemeldung mit den am häufigsten genutzten Optionen an und +beendet das Programm erfolgreich. +.TP +\fB\-H\fP, \fB\-\-long\-help\fP +zeigt eine Hilfemeldung an, die alle Funktionsmerkmale von \fBxz\fP beschreibt +und beendet das Programm erfolgreich. +.TP +\fB\-V\fP, \fB\-\-version\fP +zeigt die Versionsnummer von \fBxz\fP und Liblzma in einem menschenlesbaren +Format an. Um eine maschinell auswertbare Ausgabe zu erhalten, geben Sie +\fB\-\-robot\fP vor \fB\-\-version\fP an. +. +.SH ROBOTER\-MODUS +Der Roboter\-Modus wird mit der Option \fB\-\-robot\fP aktiviert. Er bewirkt, dass +die Ausgabe von \fBxz\fP leichter von anderen Programmen ausgewertet werden +kann. Gegenwärtig wird \fB\-\-robot\fP nur zusammen mit \fB\-\-list\fP, +\fB\-\-filters\-help\fP, \fB\-\-info\-memory\fP und \fB\-\-version\fP unterstützt. In der +Zukunft wird dieser Modus auch für Kompression und Dekompression +unterstützt. +. +.SS Listenmodus +\fBxz \-\-robot \-\-list\fP verwendet eine durch Tabulatoren getrennte Ausgabe. In +der ersten Spalte jeder Zeile bezeichnet eine Zeichenkette den Typ der +Information, die in dieser Zeile enthalten ist: +.TP +\fBname\fP +Dies ist stets die erste Zeile, wenn eine Datei aufgelistet wird. Die zweite +Spalte in der Zeile enthält den Dateinamen. +.TP +\fBfile\fP +Diese Zeile enthält allgemeine Informationen zur \fB.xz\fP\-Datei. Diese Zeile +wird stets nach der \fBname\fP\-Zeile ausgegeben. +.TP +\fBstream\fP +Dieser Zeilentyp wird nur verwendet, wenn \fB\-\-verbose\fP angegeben wurde. Es +gibt genau so viele \fBstream\fP\-Zeilen, wie Datenströme in der \fB.xz\fP\-Datei +enthalten sind. +.TP +\fBblock\fP +Dieser Zeilentyp wird nur verwendet, wenn \fB\-\-verbose\fP angegeben wurde. Es +gibt so viele \fBblock\fP\-Zeilen, wie Blöcke in der \fB.xz\fP\-Datei. Die +\fBblock\fP\-Zeilen werden nach allen \fBstream\fP\-Zeilen angezeigt; verschiedene +Zeilentypen werden nicht verschachtelt. +.TP +\fBsummary\fP +Dieser Zeilentyp wird nur verwendet, wenn \fB\-\-verbose\fP zwei Mal angegeben +wurde. Diese Zeile wird nach allen \fBblock\fP\-Zeilen ausgegeben. Wie die +\fBfile\fP\-Zeile enthält die \fBsummary\fP\-Zeile allgemeine Informationen zur +\&\fB.xz\fP\-Datei. +.TP +\fBtotals\fP +Diese Zeile ist immer die letzte der Listenausgabe. Sie zeigt die +Gesamtanzahlen und \-größen an. +.PP +Die Spalten der \fBfile\fP\-Zeilen: +.PD 0 +.RS +.IP 2. 4 +Anzahl der Datenströme in der Datei +.IP 3. 4 +Gesamtanzahl der Blöcke in den Datenströmen +.IP 4. 4 +Komprimierte Größe der Datei +.IP 5. 4 +Unkomprimierte Größe der Datei +.IP 6. 4 +Das Kompressionsverhältnis, zum Beispiel \fB0.123\fP. Wenn das Verhältnis über +9.999 liegt, werden drei Minuszeichen (\fB\-\-\-\fP) anstelle des +Kompressionsverhältnisses angezeigt. +.IP 7. 4 +Durch Kommata getrennte Liste der Namen der Integritätsprüfungen. Für die +bekannten Überprüfungstypen werden folgende Zeichenketten verwendet: +\fBNone\fP, \fBCRC32\fP, \fBCRC64\fP und \fBSHA\-256\fP. \fBUnbek.\fP\fIN\fP wird verwendet, +wobei \fIN\fP die Kennung der Überprüfung als Dezimalzahl angibt (ein\- oder +zweistellig). +.IP 8. 4 +Gesamtgröße der Datenstromauffüllung in der Datei +.RE +.PD +.PP +Die Spalten der \fBstream\fP\-Zeilen: +.PD 0 +.RS +.IP 2. 4 +Datenstromnummer (der erste Datenstrom ist 1) +.IP 3. 4 +Anzahl der Blöcke im Datenstrom +.IP 4. 4 +Komprimierte Startposition +.IP 5. 4 +Unkomprimierte Startposition +.IP 6. 4 +Komprimierte Größe (schließt die Datenstromauffüllung nicht mit ein) +.IP 7. 4 +Unkomprimierte Größe +.IP 8. 4 +Kompressionsverhältnis +.IP 9. 4 +Name der Integritätsprüfung +.IP 10. 4 +Größe der Datenstromauffüllung +.RE +.PD +.PP +Die Spalten der \fBblock\fP\-Zeilen: +.PD 0 +.RS +.IP 2. 4 +Anzahl der in diesem Block enthaltenen Datenströme +.IP 3. 4 +Blocknummer relativ zum Anfang des Datenstroms (der erste Block ist 1) +.IP 4. 4 +Blocknummer relativ zum Anfang der Datei +.IP 5. 4 +Komprimierter Startversatz relativ zum Beginn der Datei +.IP 6. 4 +Unkomprimierter Startversatz relativ zum Beginn der Datei +.IP 7. 4 +Komprimierte Gesamtgröße des Blocks (einschließlich Header) +.IP 8. 4 +Unkomprimierte Größe +.IP 9. 4 +Kompressionsverhältnis +.IP 10. 4 +Name der Integritätsprüfung +.RE +.PD +.PP +Wenn \fB\-\-verbose\fP zwei Mal angegeben wurde, werden zusätzliche Spalten in +die \fBblock\fP\-Zeilen eingefügt. Diese werden mit einem einfachen \fB\-\-verbose\fP +nicht angezeigt, da das Ermitteln dieser Informationen viele Suchvorgänge +erfordert und daher recht langsam sein kann: +.PD 0 +.RS +.IP 11. 4 +Wert der Integritätsprüfung in hexadezimaler Notation +.IP 12. 4 +Block\-Header\-Größe +.IP 13. 4 +Block\-Schalter: \fBc\fP gibt an, dass die komprimierte Größe verfügbar ist, und +\fBu\fP gibt an, dass die unkomprimierte Größe verfügbar ist. Falls der +Schalter nicht gesetzt ist, wird stattdessen ein Bindestrich (\fB\-\fP) +angezeigt, um die Länge der Zeichenkette beizubehalten. In Zukunft könnten +neue Schalter am Ende der Zeichenkette hinzugefügt werden. +.IP 14. 4 +Größe der tatsächlichen komprimierten Daten im Block. Ausgeschlossen sind +hierbei die Block\-Header, die Blockauffüllung und die Prüffelder. +.IP 15. 4 +Größe des Speichers (in Byte), der zum Dekomprimieren dieses Blocks mit +dieser \fBxz\fP\-Version benötigt wird. +.IP 16. 4 +Filterkette. Beachten Sie, dass die meisten der bei der Kompression +verwendeten Optionen nicht bekannt sein können, da in den \fB.xz\fP\-Headern nur +die für die Dekompression erforderlichen Optionen gespeichert sind. +.RE +.PD +.PP +Die Spalten der \fBsummary\fP\-Zeilen: +.PD 0 +.RS +.IP 2. 4 +Größe des Speichers (in Byte), der zum Dekomprimieren dieser Datei mit +dieser \fBxz\fP\-Version benötigt wird. +.IP 3. 4 +\fByes\fP oder \fBno\fP geben an, ob in allen Block\-Headern sowohl die +komprimierte als auch die unkomprimierte Größe gespeichert ist. +.PP +\fISeit\fP \fBxz\fP \fI5.1.2alpha:\fP +.IP 4. 4 +Minimale \fBxz\fP\-Version, die zur Dekompression der Datei erforderlich ist +.RE +.PD +.PP +Die Spalten der \fBtotals\fP\-Zeile: +.PD 0 +.RS +.IP 2. 4 +Anzahl der Datenströme +.IP 3. 4 +Anzahl der Blöcke +.IP 4. 4 +Komprimierte Größe +.IP 5. 4 +Unkomprimierte Größe +.IP 6. 4 +Durchschnittliches Kompressionsverhältnis +.IP 7. 4 +Durch Kommata getrennte Liste der Namen der Integritätsprüfungen, die in den +Dateien präsent waren. +.IP 8. 4 +Größe der Datenstromauffüllung +.IP 9. 4 +Anzahl der Dateien. Dies dient dazu, die Reihenfolge der vorigen Spalten an +die in den \fBfile\fP\-Zeilen anzugleichen. +.PD +.RE +.PP +Wenn \fB\-\-verbose\fP zwei Mal angegeben wird, werden zusätzliche Spalten in die +\fBtotals\fP\-Zeile eingefügt: +.PD 0 +.RS +.IP 10. 4 +Maximale Größe des Speichers (in Byte), der zum Dekomprimieren der Dateien +mit dieser \fBxz\fP\-Version benötigt wird. +.IP 11. 4 +\fByes\fP oder \fBno\fP geben an, ob in allen Block\-Headern sowohl die +komprimierte als auch die unkomprimierte Größe gespeichert ist. +.PP +\fISeit\fP \fBxz\fP \fI5.1.2alpha:\fP +.IP 12. 4 +Minimale \fBxz\fP\-Version, die zur Dekompression der Datei erforderlich ist +.RE +.PD +.PP +Zukünftige Versionen könnten neue Zeilentypen hinzufügen, weiterhin könnten +auch in den vorhandenen Zeilentypen weitere Spalten hinzugefügt werden, aber +die existierenden Spalten werden nicht geändert. +. +.SS Filterhilfe +\fBxz \-\-robot \-\-filters\-help\fP gibt die unterstützten Filter im folgenden +Format aus: +.PP +\fIFilter\fP\fB:\fP\fIOption\fP\fB=<\fP\fIWert\fP\fB>,\fP\fIOption\fP\fB=<\fP\fIWert\fP\fB>\fP +… +.TP +\fIFilter\fP +Name des Filters +.TP +\fIOption\fP +Name der filterspezifischen Option +.TP +\fIWert\fP +Der numerische \fIWert\fP erscheint als Bereich +\fB<\fP\fIMinimum\fP\fB\-\fP\fIMaximum\fP\fB>\fP. Die Auswahl des +Zeichenketten\-\fIWert\fPs wird in \fB< >\fP eingeschlossen und durch \fB|\fP +getrennt. +.PP +Jeder Filter wird in einer separaten Zeile ausgegeben. +. +.SS "Informationen zur Speicherbedarfsbegrenzung" +\fBxz \-\-robot \-\-info\-memory\fP gibt eine einzelne Zeile mit mehreren durch +Tabulatoren getrennten Spalten aus: +.IP 1. 4 +Gesamter physischer Speicher (RAM) in Byte. +.IP 2. 4 +Speicherbedarfsbegrenzung für die Kompression in Byte +(\fB\-\-memlimit\-compress\fP). Ein spezieller Wert von \fB0\fP bezeichnet die +Standardeinstellung, die im Einzelthread\-Modus bedeutet, dass keine +Begrenzung vorhanden ist. +.IP 3. 4 +Speicherbedarfsbegrenzung für die Dekompression in Byte +(\fB\-\-memlimit\-decompress\fP). Ein spezieller Wert von \fB0\fP bezeichnet die +Standardeinstellung, die im Einzelthread\-Modus bedeutet, dass keine +Begrenzung vorhanden ist. +.IP 4. 4 +Seit \fBxz\fP 5.3.4alpha: Die Speichernutzung für Multithread\-Dekompression in +Byte (\fB\-\-memlimit\-mt\-decompress\fP). Dies ist niemals \fB0\fP, da ein +systemspezifischer Vorgabewert (gezeigt in Spalte 5) verwendet wird, falls +keine Grenze ausdrücklich angegeben wurde. Dies ist außerdem niemals größer +als der Wert in in Spalte 3, selbst wenn mit \fB\-\-memlimit\-mt\-decompress\fP ein +größerer Wert angegeben wurde. +.IP 5. 4 +Seit \fBxz\fP 5.3.4alpha: Eine systemspezifisch vorgegebene Begrenzung des +Speicherverbrauchs, die zur Begrenzung der Anzahl der Threads beim +Komprimieren mit automatischer Anzahl der Threads (\fB\-\-threads=0\fP) und wenn +keine Speicherbedarfsbegrenzung angegeben wurde (\fB\-\-memlimit\-compress\fP) +verwendet wird. Dies wird auch als Standardwert für +\fB\-\-memlimit\-mt\-decompress\fP verwendet. +.IP 6. 4 +Seit \fBxz\fP 5.3.4alpha: Anzahl der verfügbaren Prozessorthreads. +.PP +In der Zukunft könnte die Ausgabe von \fBxz \-\-robot \-\-info\-memory\fP weitere +Spalten enthalten, aber niemals mehr als eine einzelne Zeile. +. +.SS Version +\fBxz \-\-robot \-\-version\fP gibt die Versionsnummern von \fBxz\fP und Liblzma im +folgenden Format aus: +.PP +\fBXZ_VERSION=\fP\fIXYYYZZZS\fP +.br +\fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP +.TP +\fIX\fP +Hauptversion. +.TP +\fIYYY\fP +Unterversion. Gerade Zahlen bezeichnen eine stabile Version. Ungerade Zahlen +bezeichnen Alpha\- oder Betaversionen. +.TP +\fIZZZ\fP +Patch\-Stufe für stabile Veröffentlichungen oder einfach nur ein Zähler für +Entwicklungsversionen. +.TP +\fIS\fP +Stabilität. 0 ist Alpha, 1 ist Beta und 2 ist stabil. \fIS\fP sollte immer 2 +sein, wenn \fIYYY\fP eine gerade Zahl ist. +.PP +\fIXYYYZZZS\fP sind in beiden Zeilen gleich, sofern \fBxz\fP und Liblzma aus der +gleichen Veröffentlichung der XZ\-Utils stammen. +.PP +Beispiele: 4.999.9beta ist \fB49990091\fP und 5.0.0 is \fB50000002\fP. +. +.SH EXIT\-STATUS +.TP +\fB0\fP +Alles ist in Ordnung. +.TP +\fB1\fP +Ein Fehler ist aufgetreten. +.TP +\fB2\fP +Es ist etwas passiert, das eine Warnung rechtfertigt, aber es sind keine +tatsächlichen Fehler aufgetreten. +.PP +In die Standardausgabe geschriebene Hinweise (keine Warnungen oder Fehler), +welche den Exit\-Status nicht beeinflussen. +. +.SH UMGEBUNGSVARIABLEN +\fBxz\fP wertet eine durch Leerzeichen getrennte Liste von Optionen in den +Umgebungsvariablen \fBXZ_DEFAULTS\fP und \fBXZ_OPT\fP aus (in dieser Reihenfolge), +bevor die Optionen aus der Befehlszeile ausgewertet werden. Beachten Sie, +dass beim Auswerten der Umgebungsvariablen nur Optionen berücksichtigt +werden; alle Einträge, die keine Optionen sind, werden stillschweigend +ignoriert. Die Auswertung erfolgt mit \fBgetopt_long\fP(3), welches auch für +die Befehlszeilenargumente verwendet wird. +.TP +\fBXZ_DEFAULTS\fP +Benutzerspezifische oder systemweite Standardoptionen. Typischerweise werden +diese in einem Shell\-Initialisierungsskript gesetzt, um die +Speicherbedarfsbegrenzung von \fBxz\fP standardmäßig zu aktivieren. Außer bei +Shell\-Initialisierungsskripten und in ähnlichen Spezialfällen darf die +Variable \fBXZ_DEFAULTS\fP in Skripten niemals gesetzt oder außer Kraft gesetzt +werden. +.TP +\fBXZ_OPT\fP +Dies dient der Übergabe von Optionen an \fBxz\fP, wenn es nicht möglich ist, +die Optionen direkt in der Befehlszeile von \fBxz\fP zu übergeben. Dies ist der +Fall, wenn \fBxz\fP von einem Skript oder Dienstprogramm ausgeführt wird, zum +Beispiel GNU \fBtar\fP(1): +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=\-2v tar caf foo.tar.xz foo\fP +.fi +.RE +.RE +.IP "" +Skripte können \fBXZ_OPT\fP zum Beispiel zum Setzen skriptspezifischer +Standard\-Kompressionsoptionen verwenden. Es ist weiterhin empfehlenswert, +Benutzern die Außerkraftsetzung von \fBXZ_OPT\fP zu erlauben, falls dies +angemessen ist. Zum Beispiel könnte in \fBsh\fP(1)\-Skripten Folgendes stehen: +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=${XZ_OPT\-"\-7e"} export XZ_OPT\fP +.fi +.RE +.RE +. +.SH "KOMPATIBILITÄT ZU DEN LZMA\-UTILS" +Die Befehlszeilensyntax von \fBxz\fP ist praktisch eine Obermenge der von +\fBlzma\fP, \fBunlzma\fP und \fBlzcat\fP in den LZMA\-Utils der Versionen 4.32.x. In +den meisten Fällen sollte es möglich sein, die LZMA\-Utils durch die XZ\-Utils +zu ersetzen, ohne vorhandene Skripte ändern zu müssen. Dennoch gibt es +einige Inkompatibilitäten, die manchmal Probleme verursachen können. +. +.SS "Voreinstellungsstufen zur Kompression" +Die Nummerierung der Voreinstellungsstufen der Kompression ist in \fBxz\fP und +den LZMA\-Utils unterschiedlich. Der wichtigste Unterschied ist die Zuweisung +der Wörterbuchgrößen zu den verschiedenen Voreinstellungsstufen. Die +Wörterbuchgröße ist etwa gleich dem Speicherbedarf bei der Dekompression. +.RS +.PP +.TS +tab(;); +c c c +c n n. +Stufe;xz;LZMA\-Utils +\-0;256 KiB;nicht verfügbar +\-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 +Die Unterschiede in der Wörterbuchgröße beeinflussen auch den Speicherbedarf +bei der Kompression, aber es gibt noch einige andere Unterschiede zwischen +den LZMA\-Utils und den XZ\-Utils, die die Kluft noch vergrößern: +.RS +.PP +.TS +tab(;); +c c c +c n n. +Stufe;xz;LZMA\-Utils 4.32.x +\-0;3 MiB;nicht verfügbar +\-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 +Die standardmäßige Voreinstellungsstufe in den LZMA\-Utils ist \fB\-7\fP, während +diese in den XZ\-Utils \fB\-6\fP ist, daher verwenden beide standardmäßig ein 8 +MiB großes Wörterbuch. +. +.SS "Vor\- und Nachteile von .lzma\-Dateien als Datenströme" +Die unkomprimierte Größe der Datei kann in den \fB.lzma\fP\-Headern gespeichert +werden. Die LZMA\-Utils tun das beim Komprimieren gewöhnlicher Dateien. Als +Alternative kann die unkomprimierte Größe als unbekannt markiert und eine +Nutzdatenende\-Markierung (end\-of\-payload) verwendet werden, um anzugeben, wo +der Dekompressor stoppen soll. Die LZMA\-Utils verwenden diese Methode, wenn +die unkomprimierte Größe unbekannt ist, was beispielsweise in Pipes +(Befehlsverkettungen) der Fall ist. +.PP +\fBxz\fP unterstützt die Dekompression von \fB.lzma\fP\-Dateien mit oder ohne +Nutzdatenende\-Markierung, aber alle von \fBxz\fP erstellten \fB.lzma\fP\-Dateien +verwenden diesen Nutzdatenende\-Markierung, wobei die unkomprimierte Größe in +den \fB.lzma\fP\-Headern als unbekannt markiert wird. Das könnte in einigen +unüblichen Situationen ein Problem sein. Zum Beispiel könnte ein +\&\fB.lzma\fP\-Dekompressor in einem Gerät mit eingebettetem System nur mit +Dateien funktionieren, deren unkomprimierte Größe bekannt ist. Falls Sie auf +dieses Problem stoßen, müssen Sie die LZMA\-Utils oder das LZMA\-SDK +verwenden, um \fB.lzma\fP\-Dateien mit bekannter unkomprimierter Größe zu +erzeugen. +. +.SS "Nicht unterstützte .lzma\-Dateien" +Das \fB.lzma\fP\-Format erlaubt \fIlc\fP\-Werte bis zu 8 und \fIlp\fP\-Werte bis zu +4. Die LZMA\-Utils können Dateien mit beliebigem \fIlc\fP und \fIlp\fP +dekomprimieren, aber erzeugen immer Dateien mit \fBlc=3\fP und \fBlp=0\fP. Das +Erzeugen von Dateien mit anderem \fIlc\fP und \fIlp\fP ist mit \fBxz\fP und mit dem +LZMA\-SDK möglich. +.PP +Die Implementation des LZMA\-Filters in liblzma setzt voraus, dass die Summe +von \fIlc\fP und \fIlp\fP nicht größer als 4 ist. Daher können \fB.lzma\fP\-Dateien, +welche diese Begrenzung überschreiten, mit \fBxz\fP nicht dekomprimiert werden. +.PP +Die LZMA\-Utils erzeugen nur \fB.lzma\fP\-Dateien mit einer Wörterbuchgröße von +2^\fIn\fP (einer Zweierpotenz), aber akzeptieren Dateien mit einer beliebigen +Wörterbuchgröße. Liblzma akzeptiert nur \fB.lzma\fP\-Dateien mit einer +Wörterbuchgröße von 2^\fIn\fP oder 2^\fIn\fP + 2^(\fIn\fP\-1). Dies dient zum +Verringern von Fehlalarmen beim Erkennen von \fB.lzma\fP\-Dateien. +.PP +Diese Einschränkungen sollten in der Praxis kein Problem sein, da praktisch +alle \fB.lzma\fP\-Dateien mit Einstellungen komprimiert wurden, die Liblzma +akzeptieren wird. +. +.SS "Angehängter Datenmüll" +Bei der Dekompression ignorieren die LZMA\-Utils stillschweigend alles nach +dem ersten \fB.lzma\fP\-Datenstrom. In den meisten Situationen ist das ein +Fehler. Das bedeutet auch, dass die LZMA\-Utils die Dekompression verketteter +\&\fB.lzma\fP\-Dateien nicht unterstützen. +.PP +Wenn nach dem ersten \fB.lzma\fP\-Datenstrom Daten verbleiben, erachtet \fBxz\fP +die Datei als beschädigt, es sei denn, die Option \fB\-\-single\-stream\fP wurde +verwendet. Dies könnte die Ausführung von Skripten beeinflussen, die davon +ausgehen, dass angehängter Datenmüll ignoriert wird. +. +.SH ANMERKUNGEN +. +.SS "Die komprimierte Ausgabe kann variieren" +Die exakte komprimierte Ausgabe, die aus der gleichen unkomprimierten +Eingabedatei erzeugt wird, kann zwischen den Versionen der XZ\-Utils +unterschiedlich sein, selbst wenn die Kompressionsoptionen identisch +sind. Das kommt daher, weil der Kodierer verbessert worden sein könnte +(hinsichtlich schnellerer oder besserer Kompression), ohne das Dateiformat +zu beeinflussen. Die Ausgabe kann sogar zwischen verschiedenen Programmen +der gleichen Version der XZ\-Utils variieren, wenn bei der Erstellung des +Binärprogramms unterschiedliche Optionen verwendet wurden. +.PP +Sobald \fB\-\-rsyncable\fP implementiert wurde, bedeutet das, dass die sich +ergebenden Dateien nicht notwendigerweise mit Rsync abgeglichen werden +können, außer wenn die alte und neue Datei mit der gleichen \fBxz\fP\-Version +erzeugt wurden. Das Problem kann beseitigt werden, wenn ein Teil der +Encoder\-Implementierung eingefroren wird, um die mit Rsync abgleichbare +Ausgabe über \fBxz\fP\-Versionsgrenzen hinweg stabil zu halten. +. +.SS "Eingebettete .xz\-Dekompressoren" +Eingebettete \fB.xz\fP\-Dekompressor\-Implementierungen wie XZ Embedded +unterstützen nicht unbedingt Dateien, die mit anderen Integritätsprüfungen +(\fIPrüfung\fP\-Typen) als \fBnone\fP und \fBcrc32\fP erzeugt wurden. Da +\fB\-\-check=crc64\fP die Voreinstellung ist, müssen Sie \fB\-\-check=none\fP oder +\fB\-\-check=crc32\fP verwenden, wenn Sie Dateien für eingebettete Systeme +erstellen. +.PP +Außerhalb eingebetteter Systeme unterstützen die Dekompressoren des +\&\fB.xz\fP\-Formats alle \fIPrüfung\fP\-Typen oder sind mindestens in der Lage, die +Datei zu dekomprimieren, ohne deren Integrität zu prüfen, wenn die bestimmte +\fIPrüfung\fP nicht verfügbar ist. +.PP +XZ Embedded unterstützt BCJ\-Filter, aber nur mit dem vorgegebenen +Startversatz. +. +.SH BEISPIELE +. +.SS Grundlagen +Komprimiert die Datei \fIfoo\fP mit der Standard\-Kompressionsstufe (\fB\-6\fP) zu +\fIfoo.xz\fP und entfernt \fIfoo\fP nach erfolgreicher Kompression: +.RS +.PP +.nf +\f(CWxz foo\fP +.fi +.RE +.PP +\fIbar.xz\fP in \fIbar\fP dekomprimieren und \fIbar.xz\fP selbst dann nicht löschen, +wenn die Dekompression erfolgreich war: +.RS +.PP +.nf +\f(CWxz \-dk bar.xz\fP +.fi +.RE +.PP +\fIbaz.tar.xz\fP mit der Voreinstellung \fB\-4e\fP (\fB\-4 \-\-extreme\fP) erzeugen, was +langsamer ist als die Vorgabe \fB\-6\fP, aber weniger Speicher für Kompression +und Dekompression benötigt (48\ MiB beziehungsweise 5\ MiB): +.RS +.PP +.nf +\f(CWtar cf \- baz | xz \-4e > baz.tar.xz\fP +.fi +.RE +.PP +Eine Mischung aus komprimierten und unkomprimierten Dateien kann mit einem +einzelnen Befehl dekomprimiert in die Standardausgabe geschrieben werden: +.RS +.PP +.nf +\f(CWxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fP +.fi +.RE +. +.SS "Parallele Kompression von vielen Dateien" +Auf GNU\- und *BSD\-Systemen können \fBfind\fP(1) und \fBxargs\fP(1) zum +Parallelisieren der Kompression vieler Dateien verwendet werden: +.RS +.PP +.nf +\f(CWfind . \-type f \e! \-name '*.xz' \-print0 \e | xargs \-0r \-P4 \-n16 xz \-T1\fP +.fi +.RE +.PP +Die Option \fB\-P\fP von \fBxargs\fP(1) legt die Anzahl der parallelen +\fBxz\fP\-Prozesse fest. Der beste Wert für die Option \fB\-n\fP hängt davon ab, wie +viele Dateien komprimiert werden sollen. Wenn es sich nur um wenige Dateien +handelt, sollte der Wert wahrscheinlich 1 sein; bei Zehntausenden von +Dateien kann 100 oder noch mehr angemessener sein, um die Anzahl der +\fBxz\fP\-Prozesse zu beschränken, die \fBxargs\fP(1) schließlich erzeugen wird. +.PP +Die Option \fB\-T1\fP für \fBxz\fP dient dazu, den Einzelthread\-Modus zu erzwingen, +da \fBxargs\fP(1) zur Steuerung des Umfangs der Parallelisierung verwendet +wird. +. +.SS Roboter\-Modus +Berechnen, wie viel Byte nach der Kompression mehrerer Dateien insgesamt +eingespart wurden: +.RS +.PP +.nf +\f(CWxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fP +.fi +.RE +.PP +Ein Skript könnte abfragen wollen, ob es ein \fBxz\fP verwendet, das aktuell +genug ist. Das folgende \fBsh\fP(1)\-Skript prüft, ob die Versionsnummer des +Dienstprogramms \fBxz\fP mindestens 5.0.0 ist. Diese Methode ist zu alten +Beta\-Versionen kompatibel, welche die Option \fB\-\-robot\fP nicht unterstützen: +.RS +.PP +.nf +\f(CWif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" || [ "$XZ_VERSION" \-lt 50000002 ]; then echo "Ihre Version von Xz ist zu alt." fi unset XZ_VERSION LIBLZMA_VERSION\fP +.fi +.RE +.PP +Eine Speicherbedarfsbegrenzung für die Dekompression mit \fBXZ_OPT\fP setzen, +aber eine bereits gesetzte Begrenzung nicht erhöhen: +.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 "Benutzerdefinierte Filterketten für die Kompression" +Der einfachste Anwendungsfall für benutzerdefinierte Filterketten ist die +Anpassung von LZMA2\-Voreinstellungsstufen. Das kann nützlich sein, weil die +Voreinstellungen nur einen Teil der potenziell sinnvollen Kombinationen aus +Kompressionseinstellungen abdecken. +.PP +Die KompCPU\-Spalten der Tabellen aus den Beschreibungen der Optionen \fB\-0\fP … +\fB\-9\fP und \fB\-\-extreme\fP sind beim Anpassen der LZMA2\-Voreinstellungen +nützlich. Diese sind die relevanten Teile aus diesen zwei Tabellen: +.RS +.PP +.TS +tab(;); +c c +n n. +Voreinst.;KomprCPU +\-0;0 +\-1;1 +\-2;2 +\-3;3 +\-4;4 +\-5;5 +\-6;6 +\-5e;7 +\-6e;8 +.TE +.RE +.PP +Wenn Sie wissen, dass eine Datei für eine gute Kompression ein etwas +größeres Wörterbuch benötigt (zum Beispiel 32 MiB), aber Sie sie schneller +komprimieren wollen, als dies mit \fBxz \-8\fP geschehen würde, kann eine +Voreinstellung mit einem niedrigen KompCPU\-Wert (zum Beispiel 1) dahingehend +angepasst werden, ein größeres Wörterbuch zu verwenden: +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=1,dict=32MiB foo.tar\fP +.fi +.RE +.PP +Mit bestimmten Dateien kann der obige Befehl schneller sein als \fBxz \-6\fP, +wobei die Kompression deutlich besser wird. Dennoch muss betont werden, dass +nur wenige Dateien von einem größeren Wörterbuch profitieren, wenn der +KompCPU\-Wert niedrig bleibt. Der offensichtlichste Fall, in dem ein größeres +Wörterbuch sehr hilfreich sein kann, ist ein Archiv, das einander sehr +ähnliche Dateien enthält, die jeweils wenigstens einige Megabyte groß +sind. Das Wörterbuch muss dann deutlich größer sein als die einzelne Datei, +damit LZMA2 den größtmöglichen Vorteil aus den Ähnlichkeiten der aufeinander +folgenden Dateien zieht. +.PP +Wenn hoher Speicherbedarf für Kompression und Dekompression kein Problem ist +und die zu komprimierende Datei mindestens einige Hundert Megabyte groß ist, +kann es sinnvoll sein, ein noch größeres Wörterbuch zu verwenden, als die 64 +MiB, die mit \fBxz \-9\fP verwendet werden würden: +.RS +.PP +.nf +\f(CWxz \-vv \-\-lzma2=dict=192MiB big_foo.tar\fP +.fi +.RE +.PP +Die Verwendung von \fB\-vv\fP (\fB\-\-verbose \-\-verbose\fP) wie im obigen Beispiel +kann nützlich sein, um den Speicherbedarf für Kompressor und Dekompressor zu +sehen. Denken Sie daran, dass ein Wörterbuch, das größer als die +unkomprimierte Datei ist, Speicherverschwendung wäre. Daher ist der obige +Befehl für kleine Dateien nicht sinnvoll. +.PP +Manchmal spielt die Kompressionszeit keine Rolle, aber der Speicherbedarf +bei der Dekompression muss gering gehalten werden, zum Beispiel um die Datei +auf eingebetteten Systemen dekomprimieren zu können. Der folgende Befehl +verwendet \fB\-6e\fP (\fB\-6 \-\-extreme\fP) als Basis und setzt die Wörterbuchgröße +auf nur 64\ KiB. Die sich ergebende Datei kann mit XZ Embedded (aus diesem +Grund ist dort \fB\-\-check=crc32\fP) mit nur etwa 100\ KiB Speicher +dekomprimiert werden. +.RS +.PP +.nf +\f(CWxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo\fP +.fi +.RE +.PP +Wenn Sie so viele Byte wie möglich herausquetschen wollen, kann die +Anpassung der Anzahl der literalen Kontextbits (\fIlc\fP) und der Anzahl der +Positionsbits (\fIpb\fP) manchmal hilfreich sein. Auch die Anpassung der Anzahl +der literalen Positionsbits (\fIlp\fP) könnte helfen, aber üblicherweise sind +\fIlc\fP und \fIpb\fP wichtiger. Wenn ein Quellcode\-Archiv zum Beispiel +hauptsächlich ASCII\-Text enthält, könnte ein Aufruf wie der folgende eine +etwas kleinere Datei (etwa 0,1\ %) ergeben als mit \fBxz \-6e\fP (versuchen Sie +es auch \fBlc=4\fP): +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=6e,pb=0,lc=4 Quellcode.tar\fP +.fi +.RE +.PP +Die Verwendung eines anderen Filters mit LZMA2 kann die Kompression bei +verschiedenen Dateitypen verbessern. So könnten Sie eine gemeinsam genutzte +Bibliothek der Architekturen x86\-32 oder x86\-64 mit dem BCJ\-Filter für x86 +komprimieren: +.RS +.PP +.nf +\f(CWxz \-\-x86 \-\-lzma2 libfoo.so\fP +.fi +.RE +.PP +Beachten Sie, dass die Reihenfolge der Filteroptionen von Bedeutung +ist. Falls \fB\-\-x86\fP nach \fB\-\-lzma2\fP angegeben wird, gibt \fBxz\fP einen Fehler +aus, weil nach LZMA2 kein weiterer Filter sein darf und auch weil der +BCJ\-Filter für x86 nicht als letzter Filter in der Filterkette gesetzt +werden darf. +.PP +Der Delta\-Filter zusammen mit LZMA2 kann bei Bitmap\-Bildern gute Ergebnisse +liefern. Er sollte üblicherweise besser sein als PNG, welches zwar einige +fortgeschrittene Filter als ein simples delta bietet, aber für die +eigentliche Kompression »Deflate« verwendet. +.PP +Das Bild muss in einem unkomprimierten Format gespeichert werden, zum +Beispiel als unkomprimiertes TIFF. Der Abstandsparameter des Delta\-Filters +muss so gesetzt werden, dass er der Anzahl der Bytes pro Pixel im Bild +entspricht. Zum Beispiel erfordert ein 24\-Bit\-RGB\-Bitmap \fBdist=3\fP, außerdem +ist es gut, \fBpb=0\fP an LZMA2 zu übergeben, um die 3\-Byte\-Ausrichtung zu +berücksichtigen: +.RS +.PP +.nf +\f(CWxz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff\fP +.fi +.RE +.PP +Wenn sich mehrere Bilder in einem einzelnen Archiv befinden (zum Beispiel\& +\&\fB.tar\fP), funktioniert der Delta\-Filter damit auch, sofern alle Bilder im +Archiv die gleiche Anzahl Bytes pro Pixel haben. +. +.SH "SIEHE AUCH" +\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 Utils: <https://xz.tukaani.org/xz\-utils/> +.br +XZ Embedded: <https://xz.tukaani.org/xz\-embedded/> +.br +LZMA\-SDK: <https://7\-zip.org/sdk.html> diff --git a/po4a/man/de/xzdec.1 b/po4a/man/de/xzdec.1 new file mode 100644 index 00000000..a96d86cf --- /dev/null +++ b/po4a/man/de/xzdec.1 @@ -0,0 +1,88 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" German translation for xz-man. +.\" Mario Blättermann <mario.blaettermann@gmail.com>, 2015, 2019-2020, 2022-2024. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 "19. Januar 2024" Tukaani XZ\-Dienstprogramme +.SH BEZEICHNUNG +xzdec, lzmadec \- Kleine Dekompressoren für .xz und .lzma +.SH ÜBERSICHT +\fBxzdec\fP [\fIOption…\fP] [\fIDatei…\fP] +.br +\fBlzmadec\fP [\fIOption…\fP] [\fIDatei…\fP] +.SH BESCHREIBUNG +\fBxzdec\fP ist ein auf Liblzma basierendes Nur\-Dekompressionswerkzeug für +\&\fB.xz\fP\-Dateien (und \fBnur\fP für \fB.xz\fP\-Dateien). \fBxzdec\fP ist als direkter +Ersatz für \fBxz\fP(1) in jenen Situationen konzipiert, wo ein Skript \fBxz \-\-decompress \-\-stdout\fP (und eventuelle einige andere höufig genutzte +Optionen) zum Dekomprimieren von \fB.xz\fP\-Dateien. \fBlzmadec\fP ist weitgehend +identisch zu \fBxzdec\fP, mit der Ausnahme, dass \fBlzmadec\fP \fB.lzma\fP\-Dateien +anstelle von \fB.xz\fP\-Dateien unterstützt. +.PP +Um die Größe der ausführbaren Datei zu reduzieren, unterstützt \fBxzdec\fP +weder Multithreading noch Lokalisierung. Außerdem liest es keine Optionen +aus den Umgebungsvariablen \fBXZ_DEFAULTS\fP und \fBXZ_OPT\fP. \fBxzdec\fP +unterstützt keine zwischenzeitlichen Fortschrittsinformationen: Das Senden +von \fBSIGINFO\fP an \fBxzdec\fP hat keine Auswirkungen, jedoch beendet \fBSIGUSR1\fP +den Prozess, anstatt Fortschrittsinformationen anzuzeigen. +.SH OPTIONEN +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +ist zwecks Kompatibilität zu \fBxz\fP(1) vorhanden; wird ignoriert. \fBxzdec\fP +unterstützt nur Dekompression. +.TP +\fB\-k\fP, \fB\-\-keep\fP +ist zwecks Kompatibilität zu \fBxz\fP(1) vorhanden; wird ignoriert. \fBxzdec\fP +erzeugt oder entfernt niemals Dateien. +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +ist zwecks Kompatibilität zu \fBxz\fP(1) vorhanden; wird ignoriert. \fBxzdec\fP +schreibt die dekomprimierten Daten immer in die Standardausgabe. +.TP +\fB\-q\fP, \fB\-\-quiet\fP +hat bei einmaliger Angabe keine Wirkung, da \fBxzdec\fP niemals Warnungen oder +sonstige Meldungen anzeigt. Wenn Sie dies zweimal angeben, werden +Fehlermeldungen unterdrückt. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +ist zwecks Kompatibilität zu \fBxz\fP(1) vorhanden; wird ignoriert. \fBxzdec\fP +verwendet niemals den Exit\-Status 2. +.TP +\fB\-h\fP, \fB\-\-help\fP +zeigt eine Hilfemeldung an und beendet das Programm erfolgreich. +.TP +\fB\-V\fP, \fB\-\-version\fP +zeigt die Versionsnummer von \fBxzdec\fP und liblzma an. +.SH EXIT\-STATUS +.TP +\fB0\fP +Alles ist in Ordnung. +.TP +\fB1\fP +Ein Fehler ist aufgetreten. +.PP +\fBxzdec\fP gibt keine Warnmeldungen wie \fBxz\fP(1) aus, daher wird der +Exit\-Status 2 von \fBxzdec\fP nicht verwendet. +.SH ANMERKUNGEN +Verwenden Sie \fBxz\fP(1) anstelle von \fBxzdec\fP oder \fBlzmadec\fP im normalen +täglichen Gebrauch. \fBxzdec\fP oder \fBlzmadec\fP sind nur für Situationen +gedacht, in denen ein kleinerer Dekompressor statt des voll ausgestatteten +\fBxz\fP(1) wichtig ist. +.PP +\fBxzdec\fP und \fBlzmadec\fP sind nicht wirklich extrem klein. Die Größe kann +durch Deaktivieren von Funktionen bei der Kompilierung von Liblzma weiter +verringert werden, aber das sollte nicht für ausführbare Dateien getan +werden, die in typischen Betriebssystemen ausgeliefert werden, außer in den +Distributionen für eingebettete Systeme. Wenn Sie einen wirklich winzigen +Dekompressor für \fB.xz\fP\-Dateien brauchen, sollten Sie stattdessen XZ +Embedded in Erwägung ziehen. +.SH "SIEHE AUCH" +\fBxz\fP(1) +.PP +XZ Embedded: <https://xz.tukaani.org/xz\-embedded/> diff --git a/po4a/man/de/xzdiff.1 b/po4a/man/de/xzdiff.1 new file mode 100644 index 00000000..9648102c --- /dev/null +++ b/po4a/man/de/xzdiff.1 @@ -0,0 +1,58 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" German translation for xz-man. +.\" Mario Blättermann <mario.blaettermann@gmail.com>, 2015, 2019-2020, 2022-2024. +.\" +.\" (Note that this file is not based on gzip's zdiff.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDIFF 1 "13. Februar 2024" Tukaani XZ\-Dienstprogramme +.SH BEZEICHNUNG +xzcmp, xzdiff, lzcmp, lzdiff \- komprimierte Dateien vergleichen +. +.SH ÜBERSICHT +\fBxzcmp\fP [\fIOption …\fP] \fIDatei1\fP [\fIDatei2\fP] +.br +\fBxzdiff\fP \&… +.br +\fBlzcmp\fP \&… +.br +\fBlzdiff\fP \&… +. +.SH BESCHREIBUNG +\fBxzcmp\fP und \fBxzdiff\fP vergleichen den unkomprimierten Inhalt zweier +Dateien. Die unkomprimierten Daten und Optionen werden an \fBcmp\fP(1) oder +\fBdiff\fP(1) übergeben, sofern weder \fB\-\-help\fP noch \fB\-\-version\fP angegeben +wird. +.PP +Wenn sowohl \fIDatei1\fP als auch \fIDatei2\fP angegeben sind, können diese +unkomprimierte Dateien oder Dateien in Formaten sein, die \fBxz\fP(1), +\fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1) oder \fBlz4\fP(1) +dekomprimieren können. Die erforderlichen Dekomprimierungsbefehle werden aus +den Dateiendungen von \fIDatei1\fP und \fIDatei2\fP abgeleitet. Für eine Datei mit +einer unbekannten Endung wird angenommen, dass sie entweder unkomprimiert +ist oder von \fBxz\fP(1) dekomprimiert werden kann. +.PP +Falls nur ein Dateiname angegeben wird, muss \fIDatei1\fP eine Endung eines +unterstützten Kompressionsformat haben und der Name von \fIDatei2\fP wird aus +\fIDatei1\fP abgeleitet, indem die Endung des Kompressionsformats entfernt +wird. +.PP +Die Befehle \fBlzcmp\fP und \fBlzdiff\fP dienen der Abwärtskompatibilität zu den +LZMA\-Dienstprogrammen. +. +.SH EXIT\-STATUS +Falls ein Dekompressionsfehler auftritt, ist der Exit\-Status +\fB2\fP. Anderenfalls wird der Exit\-Status von \fBcmp\fP(1) oder \fBdiff\fP(1) +verwendet. +. +.SH "SIEHE AUCH" +\fBcmp\fP(1), \fBdiff\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), +\fBzstd\fP(1), \fBlz4\fP(1) diff --git a/po4a/man/de/xzgrep.1 b/po4a/man/de/xzgrep.1 new file mode 100644 index 00000000..95d96bcb --- /dev/null +++ b/po4a/man/de/xzgrep.1 @@ -0,0 +1,96 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" German translation for xz-man. +.\" Mario Blättermann <mario.blaettermann@gmail.com>, 2015, 2019-2020, 2022-2024. +.\" +.\" (Note that this file is not based on gzip's zgrep.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZGREP 1 "13. Februar 2024" Tukaani XZ\-Dienstprogramme +.SH BEZEICHNUNG +xzgrep \- möglicherweise komprimierte Dateien nach Mustern durchsuchen +. +.SH ÜBERSICHT +\fBxzgrep\fP [\fIOption …\fP] [\fIMusterliste\fP] [\fIDatei …\fP] +.br +\fBxzegrep\fP … +.br +\fBxzfgrep\fP … +.br +\fBlzgrep\fP … +.br +\fBlzegrep\fP … +.br +\fBlzfgrep\fP … +. +.SH BESCHREIBUNG +\fBxzgrep\fP ruft \fBgrep\fP(1) mit dem unkomprimierten Inhalt von Dateien +auf. Die Formate der \fIDateien\fP werden aus den Dateiendungen +abgeleitet. Jede \fIDatei\fP mit einer Endung, die von \fBxz\fP(1), \fBgzip\fP(1), +\fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1) oder \fBlz4\fP(1) unterstützt wird, wird +dekomprimiert; für andere Dateien wird angenommen, dass sie bereits in +unkomprimierter Form vorliegen. +.PP +Wenn keine \fIDateien\fP angegeben werden oder \fIDatei\fP als \fB\-\fP angegeben +wird, wird aus der Standardeingabe gelesen. Beim Lesen aus der +Standardeingabe werden nur die von \fBxz\fP(1) unterstützten Dateien +dekomprimiert. Für andere Dateien wird angenommen, dass sie bereits in +unkomprimierter Form vorliegen. +.PP +Die meisten \fIOptionen\fP von \fBgrep\fP(1) werden unterstützt, die folgenden +jedoch nicht: +.IP "" 4 +\fB\-r\fP, \fB\-\-recursive\fP +.IP "" 4 +\fB\-R\fP, \fB\-\-dereference\-recursive\fP +.IP "" 4 +\fB\-d\fP, \fB\-\-directories=\fP\fIAktion\fP +.IP "" 4 +\fB\-Z\fP, \fB\-\-null\fP +.IP "" 4 +\fB\-z\fP, \fB\-\-null\-data\fP +.IP "" 4 +\fB\-\-include=\fP\fIGlob\fP +.IP "" 4 +\fB\-\-exclude=\fP\fIGlob\fP +.IP "" 4 +\fB\-\-exclude\-from=\fP\fIDatei\fP +.IP "" 4 +\fB\-\-exclude\-dir=\fP\fIGlob\fP +.PP +\fBxzegrep\fP ist ein Alias für \fBxzgrep \-E\fP. \fBxzfgrep\fP ist ein Alias für +\fBxzgrep \-F\fP. +.PP +Die Befehle \fBlzgrep\fP, \fBlzegrep\fP und \fBlzfgrep\fP dienen der +Abwärtskompatibilität zu den LZMA\-Dienstprogrammen. +. +.SH EXIT\-STATUS +.TP +0 +In mindestens einer der Eingabedateien wurde mindestens ein Treffer +gefunden. Es sind keine Fehler aufgetreten. +.TP +1 +In keiner der Eingabedateien wurde ein Treffer gefunden. Es sind keine +Fehler aufgetreten. +.TP +>1 +Ein oder mehrere Fehler sind aufgetreten. Es ist unbekannt, ob Treffer +gefunden wurden. +. +.SH UMGEBUNGSVARIABLEN +.TP +\fBGREP\fP +Wenn die Umgebungsvariable \fBGREP\fP auf einen nicht\-leeren Wert gesetzt ist, +wird diese anstelle von \fBgrep\fP(1), \fBgrep \-E\fP oder \fBgrep \-F\fP verwendet. +. +.SH "SIEHE AUCH" +\fBgrep\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1), +\fBlz4\fP(1), \fBzgrep\fP(1) diff --git a/po4a/man/de/xzless.1 b/po4a/man/de/xzless.1 new file mode 100644 index 00000000..602d73f5 --- /dev/null +++ b/po4a/man/de/xzless.1 @@ -0,0 +1,49 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" German translation for xz-man. +.\" Mario Blättermann <mario.blaettermann@gmail.com>, 2015, 2019-2020, 2022-2024. +.\" +.\" (Note that this file is not based on gzip's zless.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZLESS 1 "12. Februar 2024" Tukaani XZ\-Dienstprogramme +.SH BEZEICHNUNG +xzless, lzless \- mit xz oder lzma komprimierte (Text\-)Dateien betrachten +.SH ÜBERSICHT +\fBxzless\fP [\fIDatei\fP …] +.br +\fBlzless\fP [\fIDatei\fP …] +.SH BESCHREIBUNG +\fBxzless\fP ist ein Filter, der Text aus komprimierten Dateien in einem +Terminal anzeigt. Von \fBxz\fP(1) unterstützte Dateien werden dekomprimiert; +für andere Dateien wird angenommen, dass sie bereits in unkomprimierter Form +vorliegen. Wenn keine \fIDateien\fP angegeben werden, liest \fBxzless\fP aus der +Standardeingabe. +.PP +\fBxzless\fP verwendet \fBless\fP(1) zur Darstellung der Ausgabe. Im Gegensatz zu +\fBxzmore\fP können Sie das zu verwendende Textanzeigeprogramm nicht durch +Setzen einer Umgebungsvariable ändern. Die Befehle basieren auf \fBmore\fP(1) +und \fBvi\fP(1) und ermöglichen Vorwärts\- und Rückwärtssprünge sowie +Suchvorgänge. In der Handbuchseite zu \fBless\fP(1) finden Sie weiter +Information. +.PP +Der Befehl \fBlzless\fP dient der Abwärtskompatibilität zu den +LZMA\-Dienstprogrammen. +.SH UMGEBUNGSVARIABLEN +.TP +\fBLESSMETACHARS\fP +Dies enthält eine Zeichenliste mit Bezug zur Shell. Wenn diese Variable +nicht bereits gesetzt ist, wird sie durch \fBxzless\fP gesetzt. +.TP +\fBLESSOPEN\fP +Dies ist auf die Befehlszeile zum Aufruf von \fBxz\fP(1) gesetzt, die zur +Vorverarbeitung der Eingabedateien für \fBless\fP(1) nötig ist. +.SH "SIEHE AUCH" +\fBless\fP(1), \fBxz\fP(1), \fBxzmore\fP(1), \fBzless\fP(1) diff --git a/po4a/man/de/xzmore.1 b/po4a/man/de/xzmore.1 new file mode 100644 index 00000000..a376a0b5 --- /dev/null +++ b/po4a/man/de/xzmore.1 @@ -0,0 +1,49 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" German translation for xz-man. +.\" Mario Blättermann <mario.blaettermann@gmail.com>, 2015, 2019-2020, 2022-2024. +.\" +.\" (Note that this file is based on xzless.1 instead of gzip's zmore.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZMORE 1 "12. Februar 2024" Tukaani XZ\-Dienstprogramme +.SH BEZEICHNUNG +xzmore, lzmore \- mit xz oder lzma komprimierte (Text\-)Dateien lesen +. +.SH ÜBERSICHT +\fBxzmore\fP [\fIDatei\fP …] +.br +\fBlzmore\fP [\fIDatei\fP …] +. +.SH BESCHREIBUNG +\fBxzmore\fP zeigt Text aus komprimierten Dateien mit Hilfe des Pagers +(Textanzeigeprogramms) \fBmore\fP(1) in einem Terminal an. Von \fBxz\fP(1) +unterstützte Dateien werden dekomprimiert; für andere Dateien wird +angenommen, dass sie bereits in unkomprimierter Form vorliegen. Wenn keine +\fIDateien\fP angegeben werden, liest \fBxzmore\fP aus der Standardeingabe. Im +\fBmore\fP(1)\-Handbuch finden Sie Informationen zu den Tastaturbefehlen. +.PP +Beachten Sie, dass Zurückrollen nicht möglich sein könnte, abhängig von der +Implementierung von \fBmore\fP(1). Das kommt daher, dass \fBxzmore\fP eine Pipe +verwendet, um die dekomprimierten Daten an \fBmore\fP(1) zu +übergeben. \fBxzless\fP(1) verwendet \fBless\fP(1), welches fortgeschrittenere +Funktionen bietet. +.PP +Der Befehl \fBlzmore\fP dient der Abwärtskompatibilität zu den +LZMA\-Dienstprogrammen. +. +.SH UMGEBUNGSVARIABLEN +.TP +\fBPAGER\fP +Falls die Umgebungsvariable \fBPAGER\fP gesetzt ist, wird diese als Pager +(Textanzeigeprogramm) anstelle von \fBmore\fP(1) verwendet. +. +.SH "SIEHE AUCH" +\fBmore\fP(1), \fBxz\fP(1), \fBxzless\fP(1), \fBzmore\fP(1) diff --git a/po4a/man/fr/lzmainfo.1 b/po4a/man/fr/lzmainfo.1 new file mode 100644 index 00000000..bcba9185 --- /dev/null +++ b/po4a/man/fr/lzmainfo.1 @@ -0,0 +1,47 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" french translation of XZ Utils man +.\" Copyright (C) 2021 Debian French l10n team <debian-l10n-french@lists.debian.org> +.\" Translator +.\" bubu <bubub@no-log.org>, 2021. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LZMAINFO 1 30\-06\-2013 Tukaani "Utilitaires XZ" +.SH NOM +lzmainfo \- Afficher l'information stockée dans l'en\-tête du fichier .lzma +.SH SYNOPSIS +\fBlzmainfo\fP [\fB\-\-help\fP] [\fB\-\-version\fP] [\fIfichier...\fP] +.SH DESCRIPTION +\fBlzmainfo\fP affiche l'information stockée dans l'en\-tête du fichier +\&\fB.lzma\fP. Il lit les 13 premiers octets du \fIfichier\fP indiqué, décode +l'en\-tête, et l'écrit sur la sortie standard dans un format lisible par un +humain. Si aucun \fIfichier\fP n'est spécifié ou si \fIfichier\fP est \fB\-\fP, +l'entrée standard est lue. +.PP +Habituellement l'information la plus interressante est la taille non +compressée et la taille du dictionnaire. La taille ne peut être affichée que +si le fichier est dans la variante du format \fB.lzma\fP qui n'est pas en +flux. La quantité de mémoire requise pour décompresser le fichier est de +quelques douzaines de kilooctets en plus de la taille du dictionnaire. +.PP +\fBlzmainfo\fP est inclus dans les utilitaires XZ essentiellement pour des +besoins de rétrocompatibilité avec les utilitaires LZMA. +.SH "STATUT DE SORTIE" +.TP +\fB0\fP +Tout est bon. +.TP +\fB1\fP +Une erreur est survenue. +.SH BOGUES +\fBlzmainfo\fP utilise \fBMB\fP alors que le suffixe correct devrait être +\fBMiB\fP(2^20 octets). Cela pour garder la sortie compatible avec les +utilitaires LZMA. +.SH "VOIR AUSSI" +\fBxz\fP(1) diff --git a/po4a/man/fr/xz.1 b/po4a/man/fr/xz.1 new file mode 100644 index 00000000..d73bae3b --- /dev/null +++ b/po4a/man/fr/xz.1 @@ -0,0 +1,1962 @@ +'\" t +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" french translation of XZ Utils man +.\" Copyright (C) 2021 Debian French l10n team <debian-l10n-french@lists.debian.org> +.\" Translator +.\" bubu <bubub@no-log.org>, 2021. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 2024\-02\-13 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 is a general\-purpose data compression tool with command line syntax +similar to \fBgzip\fP(1) and \fBbzip2\fP(1). The native file format is the +\&\fB.xz\fP format, but the legacy \fB.lzma\fP format used by LZMA Utils and raw +compressed streams with no container format headers are also supported. In +addition, decompression of the \fB.lz\fP format used by \fBlzip\fP is supported. +.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 +When decompressing, the \fB.xz\fP, \fB.lzma\fP, or \fB.lz\fP suffix is removed from +the filename to get the target filename. \fBxz\fP also recognizes the suffixes +\&\fB.txz\fP and \fB.tlz\fP, and replaces them with the \fB.tar\fP suffix. +.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 +The operation mode is set to decompress and the \fIfile\fP doesn't have a +suffix of any of the supported file formats (\fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, +\&\fB.tlz\fP, or \fB.lz\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 +Once the target file has been successfully closed, the source \fIfile\fP is +removed unless \fB\-\-keep\fP was specified. The source \fIfile\fP is never removed +if the output is written to standard output or if an error occurs. +.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 "" +When decompressing, recognize files with the suffix \fI.suf\fP in addition to +files with the \fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP, or \fB.lz\fP suffix. If the +source file has the suffix \fI.suf\fP, the suffix is removed to get the target +filename. +.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 +\fBlzip\fP +Accept only \fB.lz\fP files when decompressing. Compression is not supported. +.IP "" +The \fB.lz\fP format version 0 and the unextended version 1 are supported. +Version 0 files were produced by \fBlzip\fP 1.3 and older. Such files aren't +common but may be found from file archives as a few source packages were +released in this format. People might have old personal files in this +format too. Decompression support for the format version 0 was removed in +\fBlzip\fP 1.18. +.IP "" +\fBlzip\fP 1.4 and later create files in the format version 1. The sync flush +marker extension to the format version 1 was added in \fBlzip\fP 1.6. This +extension is rarely used and isn't supported by \fBxz\fP (diagnosed as corrupt +input). +.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 contains the compressor memory requirements in the single\-threaded +mode. It may vary slightly between \fBxz\fP versions. +.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 +.IP "" +Memory requirements of the multi\-threaded mode are significantly higher than +that of the single\-threaded mode. With the default value of +\fB\-\-block\-size\fP, each thread needs 3*3*DictSize plus CompMem or DecMem. For +example, four threads with preset \fB\-6\fP needs 660\(en670\ MiB of memory. +.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. In +multi\-threaded mode, the sizes of the blocks are stored in the block +headers. This size information is required for multi\-threaded +decompression. +.IP "" +In single\-threaded mode no block splitting is done by default. Setting this +option doesn't affect memory usage. No size information is stored in block +headers, thus files created in single\-threaded mode won't be identical to +files created in multi\-threaded mode. The lack of size information also +means that \fBxz\fP won't be able decompress the files in multi\-threaded mode. +.TP +\fB\-\-block\-list=\fP\fIitems\fP +When compressing to the \fB.xz\fP format, start a new block with an optional +custom filter chain after the given intervals of uncompressed data. +.IP "" +The \fIitems\fP are a comma\-separated list. Each item consists of an optional +filter chain number between 0 and 9 followed by a colon (\fB:\fP) and a +required size of uncompressed data. Omitting an item (two or more +consecutive commas) is a shorthand to use the size and filters of the +previous item. +.IP "" +If the input file is bigger than the sum of the sizes in \fIitems\fP, the last +item is repeated until the end of the file. A special value of \fB0\fP may be +used as the last size to indicate that the rest of the file should be +encoded as a single block. +.IP "" +An alternative filter chain for each block can be specified in combination +with the \fB\-\-filters1=\fP\fIfilters\fP \&...\& \fB\-\-filters9=\fP\fIfilters\fP options. +These options define filter chains with an identifier between 1\(en9. +Filter chain 0 can be used to refer to the default filter chain, which is +the same as not specifying a filter chain. The filter chain identifier can +be used before the uncompressed size, followed by a colon (\fB:\fP). For +example, if one specifies \fB\-\-block\-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB\fP +then blocks will be created using: +.RS +.IP \(bu 3 +The filter chain specified by \fB\-\-filters1\fP and 2 MiB input +.IP \(bu 3 +The filter chain specified by \fB\-\-filters3\fP and 2 MiB input +.IP \(bu 3 +The filter chain specified by \fB\-\-filters2\fP and 4 MiB input +.IP \(bu 3 +The filter chain specified by \fB\-\-filters2\fP and 4 MiB input +.IP \(bu 3 +The default filter chain and 2 MiB input +.IP \(bu 3 +The default filter chain and 4 MiB input for every block until end of input. +.RE +.IP "" +If one specifies a size that exceeds the encoder's block size (either the +default value in threaded mode or the value specified with +\fB\-\-block\-size=\fP\fIsize\fP), the encoder will create additional blocks while +keeping the boundaries specified in \fIitems\fP. For example, if one specifies +\fB\-\-block\-size=10MiB\fP \fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP and the +input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, +10, 10, and 1 MiB. +.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 "" +If the compression settings exceed the \fIlimit\fP, \fBxz\fP will attempt to +adjust the settings downwards so that the limit is no longer exceeded and +display a notice that automatic adjustment was done. The adjustments are +done in this order: reducing the number of threads, switching to +single\-threaded mode if even one thread in multi\-threaded mode exceeds the +\fIlimit\fP, and finally reducing the LZMA2 dictionary size. +.IP "" +When compressing with \fB\-\-format=raw\fP or if \fB\-\-no\-adjust\fP has been +specified, only the number of threads may be reduced since it can be done +without affecting the compressed output. +.IP "" +If the \fIlimit\fP cannot be met even with the adjustments described above, an +error is displayed and \fBxz\fP will exit with exit status 1. +.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 +The \fIlimit\fP can be reset back to its default value by setting it to \fB0\fP. +This is currently equivalent to setting the \fIlimit\fP to \fBmax\fP (no memory +usage limit). +.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\-\-memlimit\-mt\-decompress=\fP\fIlimit\fP +Set a memory usage limit for multi\-threaded decompression. This can only +affect the number of threads; this will never make \fBxz\fP refuse to +decompress a file. If \fIlimit\fP is too low to allow any multi\-threading, the +\fIlimit\fP is ignored and \fBxz\fP will continue in single\-threaded mode. Note +that if also \fB\-\-memlimit\-decompress\fP is used, it will always apply to both +single\-threaded and multi\-threaded modes, and so the effective \fIlimit\fP for +multi\-threading will never be higher than the limit set with +\fB\-\-memlimit\-decompress\fP. +.IP "" +In contrast to the other memory usage limit options, +\fB\-\-memlimit\-mt\-decompress=\fP\fIlimit\fP has a system\-specific default +\fIlimit\fP. \fBxz \-\-info\-memory\fP can be used to see the current value. +.IP "" +This option and its default value exist because without any limit the +threaded decompressor could end up allocating an insane amount of memory +with some input files. If the default \fIlimit\fP is too low on your system, +feel free to increase the \fIlimit\fP but never set it to a value larger than +the amount of usable RAM as with appropriate input files \fBxz\fP will attempt +to use that amount of memory even with a low number of threads. Running out +of memory or swapping will not improve decompression performance. +.IP "" +See \fB\-\-memlimit\-compress=\fP\fIlimit\fP for possible ways to specify the +\fIlimit\fP. Setting \fIlimit\fP to \fB0\fP resets the \fIlimit\fP to the default +system\-specific value. +.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 \fB\-\-memlimit\-mt\-decompress=\fP\fIlimit\fP. +.TP +\fB\-\-no\-adjust\fP +Display an error and exit if the memory usage limit cannot be met without +adjusting settings that affect the compressed output. That is, this +prevents \fBxz\fP from switching the encoder from multi\-threaded mode to +single\-threaded mode and from reducing the LZMA2 dictionary size. Even when +this option is used the number of threads may be reduced to meet the memory +usage limit as that won't affect the compressed output. +.IP "" +Automatic adjusting is always disabled when creating raw streams +(\fB\-\-format=raw\fP). +.TP +\fB\-T\fP \fIthreads\fP, \fB\-\-threads=\fP\fIthreads\fP +Specify the number of worker threads to use. Setting \fIthreads\fP to a +special value \fB0\fP makes \fBxz\fP use up to as many threads as the processor(s) +on the system support. The actual number of threads can be fewer than +\fIthreads\fP if the input file is not big enough for threading with the given +settings or if using more threads would exceed the memory usage limit. +.IP "" +The single\-threaded and multi\-threaded compressors produce different +output. Single\-threaded compressor will give the smallest file size but +only the output from the multi\-threaded compressor can be decompressed using +multiple threads. Setting \fIthreads\fP to \fB1\fP will use the single\-threaded +mode. Setting \fIthreads\fP to any other value, including \fB0\fP, will use the +multi\-threaded compressor even if the system supports only one hardware +thread. (\fBxz\fP 5.2.x used single\-threaded mode in this situation.) +.IP "" +To use multi\-threaded mode with only one thread, set \fIthreads\fP to \fB+1\fP. +The \fB+\fP prefix has no effect with values other than \fB1\fP. A memory usage +limit can still make \fBxz\fP switch to single\-threaded mode unless +\fB\-\-no\-adjust\fP is used. Support for the \fB+\fP prefix was added in \fBxz\fP +5.4.0. +.IP "" +If an automatic number of threads has been requested and no memory usage +limit has been specified, then a system\-specific default soft limit will be +used to possibly limit the number of threads. It is a soft limit in sense +that it is ignored if the number of threads becomes one, thus a soft limit +will never stop \fBxz\fP from compressing or decompressing. This default soft +limit will not make \fBxz\fP switch from multi\-threaded mode to single\-threaded +mode. The active limits can be seen with \fBxz \-\-info\-memory\fP. +.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 "" +Threaded decompression only works on files that contain multiple blocks with +size information in block headers. All large enough files compressed in +multi\-threaded mode meet this condition, but files compressed in +single\-threaded mode don't even if \fB\-\-block\-size=\fP\fIsize\fP has been used. +.IP "" +The default value for \fIthreads\fP is \fB0\fP. In \fBxz\fP 5.4.x and older the +default is \fB1\fP. +. +.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 +A custom filter chain can be specified in two different ways. The options +\fB\-\-filters=\fP\fIfilters\fP and \fB\-\-filters1=\fP\fIfilters\fP \&...\& +\fB\-\-filters9=\fP\fIfilters\fP allow specifying an entire filter chain in one +option using the liblzma filter string syntax. Alternatively, a filter +chain can be specified by using one or more individual filter options in the +order they are wanted in the filter chain. That is, the order of the +individual filter options is significant! When decoding raw streams +(\fB\-\-format=raw\fP), the filter chain must be specified in the same order as +it was specified when compressing. Any individual filter or preset options +specified before the full chain option (\fB\-\-filters=\fP\fIfilters\fP) will be +forgotten. Individual filters specified after the full chain option will +reset the filter chain. +.PP +Both the full and individual filter options take filter\-specific \fIoptions\fP +as a comma\-separated list. Extra commas in \fIoptions\fP are ignored. Every +option has a default value, so specify those you want to change. +.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\-\-filters=\fP\fIfilters\fP +Specify the full filter chain or a preset in a single option. Each filter +can be separated by spaces or two dashes (\fB\-\-\fP). \fIfilters\fP may need to be +quoted on the shell command line so it is parsed as a single option. To +denote \fIoptions\fP, use \fB:\fP or \fB=\fP. A preset can be prefixed with a \fB\-\fP +and followed with zero or more flags. The only supported flag is \fBe\fP to +apply the same options as \fB\-\-extreme\fP. +.TP +\fB\-\-filters1\fP=\fIfilters\fP ... \fB\-\-filters9\fP=\fIfilters\fP +Specify up to nine additional filter chains that can be used with +\fB\-\-block\-list\fP. +.IP "" +For example, when compressing an archive with executable files followed by +text files, the executable part could use a filter chain with a BCJ filter +and the text part only the LZMA2 filter. +.TP +\fB\-\-filters\-help\fP +Display a help message describing how to specify presets and custom filter +chains in the \fB\-\-filters\fP and \fB\-\-filters1=\fP\fIfilters\fP \&...\& +\fB\-\-filters9=\fP\fIfilters\fP options, and exit successfully. +.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\-\-arm\fP[\fB=\fP\fIoptions\fP] +.TP +\fB\-\-armthumb\fP[\fB=\fP\fIoptions\fP] +.TP +\fB\-\-arm64\fP[\fB=\fP\fIoptions\fP] +.TP +\fB\-\-powerpc\fP[\fB=\fP\fIoptions\fP] +.TP +\fB\-\-ia64\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. The BCJ filters are very fast and use an +insignificant amount of memory. +.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 +If a BCJ filter is applied on an archive, it is possible that it makes the +compression ratio worse than not using a BCJ filter. For example, if there +are similar or even identical executables then filtering will likely make +the files less similar and thus compression is worse. The contents of +non\-executable files in the same archive can matter too. In practice one +has to try with and without a BCJ filter to see which is better in each +situation. +.RE +.IP "" +Different instruction sets have different alignment: the executable file +must be aligned to a multiple of this value in the input data to make the +filter work. +.RS +.RS +.PP +.TS +tab(;); +l n l +l n l. +Filtre;Alignement;Notes +x86;1;32 bits ou 64 bits x86 +ARM;4; +ARM\-Thumb;2; +ARM64;4;4096\-byte alignment is best +PowerPC;4;Grand boutiste seulement +IA\-64;16;Itanium +SPARC;4; +RISC\-V;2; +.TE +.RE +.RE +.IP "" +Since the BCJ\-filtered data is usually compressed with LZMA2, the +compression ratio may be improved slightly if the LZMA2 options are set to +match the alignment of the selected BCJ filter. Examples: +.RS +.IP \(bu 3 +IA\-64 filter has 16\-byte alignment so \fBpb=4,lp=4,lc=0\fP is good with LZMA2 +(2^4=16). +.IP \(bu 3 +RISC\-V code has 2\-byte or 4\-byte alignment depending on whether the file +contains 16\-bit compressed instructions (the C extension). When 16\-bit +instructions are used, \fBpb=2,lp=1,lc=3\fP or \fBpb=1,lp=1,lc=3\fP is good. When +16\-bit instructions aren't present, \fBpb=2,lp=2,lc=2\fP is the best. +\fBreadelf \-h\fP can be used to check if "RVC" appears on the "Flags" line. +.IP \(bu 3 +ARM64 is always 4\-byte aligned so \fBpb=2,lp=2,lc=2\fP is the best. +.IP \(bu 3 +The x86 filter is an exception. It's usually good to stick to LZMA2's +defaults (\fBpb=2,lp=0,lc=3\fP) when compressing x86 executables. +.RE +.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 +Display, in human\-readable format, how much physical memory (RAM) and how +many processor threads \fBxz\fP thinks the system has and the memory usage +limits for compression and decompression, and exit successfully. +.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" +The robot mode is activated with the \fB\-\-robot\fP option. It makes the output +of \fBxz\fP easier to parse by other programs. Currently \fB\-\-robot\fP is +supported only together with \fB\-\-list\fP, \fB\-\-filters\-help\fP, \fB\-\-info\-memory\fP, +and \fB\-\-version\fP. It will be supported for compression and decompression in +the future. +. +.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. +. +.SS "Filters help" +\fBxz \-\-robot \-\-filters\-help\fP prints the supported filters in the following +format: +.PP +\fIfilter\fP\fB:\fP\fIoption\fP\fB=<\fP\fIvalue\fP\fB>,\fP\fIoption\fP\fB=<\fP\fIvalue\fP\fB>\fP... +.TP +\fIfilter\fP +Name of the filter +.TP +\fIoption\fP +Name of a filter specific option +.TP +\fIvalue\fP +Numeric \fIvalue\fP ranges appear as \fB<\fP\fImin\fP\fB\-\fP\fImax\fP\fB>\fP. String +\fIvalue\fP choices are shown within \fB< >\fP and separated by a \fB|\fP +character. +.PP +Each filter is printed on its own line. +. +.SS "Information de limite de mémoire" +\fBxz \-\-robot \-\-info\-memory\fP prints a single line with multiple tab\-separated +columns: +.IP 1. 4 +Total amount of physical memory (RAM) in bytes. +.IP 2. 4 +Memory usage limit for compression in bytes (\fB\-\-memlimit\-compress\fP). A +special value of \fB0\fP indicates the default setting which for +single\-threaded mode is the same as no limit. +.IP 3. 4 +Memory usage limit for decompression in bytes (\fB\-\-memlimit\-decompress\fP). A +special value of \fB0\fP indicates the default setting which for +single\-threaded mode is the same as no limit. +.IP 4. 4 +Since \fBxz\fP 5.3.4alpha: Memory usage for multi\-threaded decompression in +bytes (\fB\-\-memlimit\-mt\-decompress\fP). This is never zero because a +system\-specific default value shown in the column 5 is used if no limit has +been specified explicitly. This is also never greater than the value in the +column 3 even if a larger value has been specified with +\fB\-\-memlimit\-mt\-decompress\fP. +.IP 5. 4 +Since \fBxz\fP 5.3.4alpha: A system\-specific default memory usage limit that is +used to limit the number of threads when compressing with an automatic +number of threads (\fB\-\-threads=0\fP) and no memory usage limit has been +specified (\fB\-\-memlimit\-compress\fP). This is also used as the default value +for \fB\-\-memlimit\-mt\-decompress\fP. +.IP 6. 4 +Since \fBxz\fP 5.3.4alpha: Number of available processor threads. +.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 Version +\fBxz \-\-robot \-\-version\fP prints the version number of \fBxz\fP and liblzma in +the following format: +.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. +. +.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 Utils: <https://xz.tukaani.org/xz\-utils/> +.br +XZ Embedded: <https://xz.tukaani.org/xz\-embedded/> +.br +LZMA SDK: <https://7\-zip.org/sdk.html> diff --git a/po4a/man/fr/xzdec.1 b/po4a/man/fr/xzdec.1 new file mode 100644 index 00000000..f2e7939c --- /dev/null +++ b/po4a/man/fr/xzdec.1 @@ -0,0 +1,90 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" french translation of XZ Utils man +.\" Copyright (C) 2021 Debian French l10n team <debian-l10n-french@lists.debian.org> +.\" Translator +.\" bubu <bubub@no-log.org>, 2021. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 2024\-01\-19 Tukaani "Utilitaires XZ" +.SH NOM +xzdec, lzmadec \- Small .xz et .lzma decompresseurs +.SH SYNOPSIS +\fBxzdec\fP [\fIoption...\fP] [\fIfichier...\fP] +.br +\fBlzmadec\fP [\fIoption...\fP] [\fIfichier...\fP] +.SH DESCRIPTION +\fBxzdec\fP est un outil uniquement de décompression, basé sur liblzma pour les +fichiers \fB.xz\fP (et seulement \fB.xz\fP). \fBxzdec\fP est destiné à remplacer +\fBxz\fP(1) dans les situations les plus courantes où un script a été écrit +pour utiliser \fBxz \-\-decompress \-\-stdout\fP (et possiblement quelques autres +options courantes) pour décompresser des fichiers \fB.xz\fP. \fBlzmadec\fP est +identique à \fBxzdec\fP, sauf que \fBlzmadec\fP prend en charge les fichiers +\&\fB.lzma\fP au lieu des fichiers \fB.xz\fP. +.PP +Pour réduire la taille de l'exécutable, \fBxzdec\fP ne prend en charge ni le +multithreading ni la localisation et ne lit pas les options des variables +d'environnement \fBXZ_DEFAULTS\fP et \fBXZ_OPT\fP. \fBxzdec\fP ne gère pas +l'affichage d'information sur la progression du traitement : envoyer +\fBSIGINFO\fP à \fBxzdec\fP ne fait rien, mais envoyer \fBSIGUSR1\fP termine le +processus au lieu d'afficher de l'information sur la progression. +.SH OPTIONS +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +Ignoré pour la compatibilité avec \fBxz\fP(1), \fBxzdec\fP ne gère que la +décompression. +.TP +\fB\-k\fP, \fB\-\-keep\fP +Ignoré pour la compatibilité avec \fBxz\fP(1), \fBxzdec\fP ne crée ni ne supprime +jamais aucun fichier. +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +Ignoré pour la compatibilité avec \fBxz\fP(1), \fBxzdec\fP écrit toujours les +données décompressées sur la sortie standard. +.TP +\fB\-q\fP, \fB\-\-quiet\fP +Spécifier cela une fois ne fait rien, car \fBxzdec\fP n'affiche jamais aucun +avertissement ou notification. Spécifier cela deux fois pour supprimer les +erreurs. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +Ignoré pour la compatibilité avec \fBxz\fP(1), \fBxzdec\fP n'utilise jamais le +satut de sortie 2. +.TP +\fB\-h\fP, \fB\-\-help\fP +Afficher un message d'aide et quitter. +.TP +\fB\-V\fP, \fB\-\-version\fP +Afficher le numéro de version de \fBxzdec\fP et liblzma. +.SH "STATUT DE SORTIE" +.TP +\fB0\fP +Tout s'est bien passé. +.TP +\fB1\fP +Une erreur est survenue. +.PP +A la différence de \fBxz\fP(1),\fBxzdec\fP n'a pas de messages d'avertissement, et +donc le statut de sortie 2 n'est pas utilisé par \fBxzdec\fP. +.SH NOTES +Utilisez \fBxz\fP(1) au lieu de \fBxzdec\fP ou \fBlzmadec\fP pour un usage normal de +tous les jours. \fBxzdec\fP ou \fBlzmadec\fP ne sont utiles que pour les +situations où il est important d'avoir un plus petit décompresseur que le +\fBxz\fP(1) complet. +.PP +\fBxzdec\fP et \fBlzmadec\fP ne sont en fait pas vraiment si petits. La taille +peut être encore réduite en abandonnant des fonctionnalités de liblzma au +moment de la compilation, mais cela ne devrait pas être fait pour des +exécutables distribués sur des systèmes d'exploitation classique non +embarqués. Si vous avez besoin d'un décompresseur vraiment petit, pensez à +utiliser XZ Embedded. +.SH "VOIR AUSSI" +\fBxz\fP(1) +.PP +XZ Embedded: <https://xz.tukaani.org/xz\-embedded/> diff --git a/po4a/man/fr/xzless.1 b/po4a/man/fr/xzless.1 new file mode 100644 index 00000000..8ba93070 --- /dev/null +++ b/po4a/man/fr/xzless.1 @@ -0,0 +1,49 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" french translation of XZ Utils man +.\" Copyright (C) 2021 Debian French l10n team <debian-l10n-french@lists.debian.org> +.\" Translator +.\" bubu <bubub@no-log.org>, 2021. +.\" +.\" (Note that this file is not based on gzip's zless.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZLESS 1 2024\-02\-12 Tukaani "Utilitaires XZ" +.SH NOM +xzless, lzless \- Voir le contenu des fichiers (texte) compressés xz ou lzma +.SH SYNOPSIS +\fBxzless\fP [\fIfichier\fP...] +.br +\fBlzless\fP [\fIfichier\fP...] +.SH DESCRIPTION +\fBxzless\fP is a filter that displays text from compressed files to a +terminal. Files supported by \fBxz\fP(1) are decompressed; other files are +assumed to be in uncompressed form already. If no \fIfiles\fP are given, +\fBxzless\fP reads from standard input. +.PP +\fBxzless\fP utilise \fBless\fP(1) pour afficher sa sortie. Contrairement à +\fBxzmore\fP, son choix d'afficheur ne peut pas être modifié en indiquant une +variable d'environnement. Les commandes sont basées sur \fBmore\fP(1) et +\fBvi\fP(1) et permettent des déplacements en avant et en arrière et des +recherches. Voir le manuel de \fBless\fP(1) pour plus d'information. +.PP +La commande nommée \fBlzless\fP est fournie pour la rétrocompatibilité avec les +utilitaires LZMA. +.SH ENVIRONNEMENT +.TP +\fBLESSMETACHARS\fP +Une liste de caractères spéciaux pour l'interpréteur. Définis par \fBxzless\fP +à moins qu'ils ne l'aient déjà été dans l'environnement. +.TP +\fBLESSOPEN\fP +Définir en ligne de commande le décompresseur \fBxz\fP(1) à invoquer pour +préparer les fichiers en entrée pour \fBless\fP(1). +.SH "VOIR AUSSI" +\fBless\fP(1), \fBxz\fP(1), \fBxzmore\fP(1), \fBzless\fP(1) diff --git a/po4a/man/ko/lzmainfo.1 b/po4a/man/ko/lzmainfo.1 new file mode 100644 index 00000000..718ad0a7 --- /dev/null +++ b/po4a/man/ko/lzmainfo.1 @@ -0,0 +1,38 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" Korean translation for the xz-man +.\" Seong-ho Cho <darkcircle.0426@gmail.com>, 2023, 2024. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LZMAINFO 1 2013\-06\-30 Tukaani "XZ 유틸리티" +.SH 이름 +lzmainfo \- .lzma 파일 헤더에 들어있는 정보를 보여줍니다 +.SH 요약 +\fBlzmainfo\fP [\fB\-\-help\fP] [\fB\-\-version\fP] [\fI<파일>...\fP] +.SH 설명 +\fBlzmainfo\fP 는 \fB.lzma\fP 파일 헤더에 들어있는 정보를 보여줍니다. 지정 \fI<파일>\fP에서 13바이트를 +우선 읽어 헤더를 디코딩한 후, 가독 형식으로 표준 출력에 보여줍니다. \fI<파일>\fP을 지정하지 않거나 +\fI<파일>\fP 값이 \fI\-\fP 이면 표준 입력을 읽습니다. +.PP +보통 대부분 관심있는 정보는 압축 해제 용량과 딕서너리 크기입니다. 압축 해제 용량의 경우 파일이 비스트림 \fB.lzma\fP 형식 계열인 +경우에만 나타납니다. 파일 압축 해제 필요 메모리 용량은 수십 킬로바이트에 딕셔너리 크기를 합친 값입니다. +.PP +\fBlzmainfo\fP 는 LZMA 유틸리티 하위 호환성을 목적으로 XZ 유틸리티에 기본으로 들어있습니다. +.SH "종료 상태" +.TP +\fB0\fP +모든 상태 양호. +.TP +\fB1\fP +오류 발생. +.SH 버그 +\fBlzmainfo\fP 프로그램은 \fBMiB\fP (2^20 바이트) 용량 단위인데 (실제로) \fBMB\fP를 사용합니다. LZMA 유틸리티 +출력 호환 유지가 목적입니다. +.SH "추가 참조" +\fBxz\fP(1) diff --git a/po4a/man/ko/xz.1 b/po4a/man/ko/xz.1 new file mode 100644 index 00000000..5abc72ce --- /dev/null +++ b/po4a/man/ko/xz.1 @@ -0,0 +1,1525 @@ +'\" t +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" Korean translation for the xz-man +.\" Seong-ho Cho <darkcircle.0426@gmail.com>, 2023, 2024. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 2024\-02\-13 Tukaani "XZ 유틸리티" +. +.SH 이름 +xz, unxz, xzcat, lzma, unlzma, lzcat \- .xz 파일과 .lzma 파일을 압축 또는 압축 해제합니다 +. +.SH 요약 +\fBxz\fP [\fI<옵션>...\fP] [\fI<파일>...\fP] +. +.SH "명령 별칭" +\fBunxz\fP 명령은 \fBxz \-\-decompress\fP 명령과 동일합니다. +.br +\fBxzcat\fP 명령은 \fBxz \-\-decompress \-\-stdout\fP 명령과 동일합니다. +.br +\fBlzma\fP 명령은 \fBxz \-\-format=lzma\fP 명령과 동일합니다. +.br +\fBunlzma\fP 명령은 \fBxz \-\-format=lzma \-\-decompress\fP 명령과 동일합니다. +.br +\fBlzcat\fP 명령은 \fBxz \-\-format=lzma \-\-decompress \-\-stdout\fP 명령과 동일합니다. +.PP +파일 압축을 해제해야 하는 셸 스크립트를 작성할 때, \fBunxz\fP 와 \fBxzcat\fP 이름 대신 \fBxz\fP 명령과 적절한 인자 +값(\fBxz \-d\fP 또는 \fBxz \-dc\fP)의 사용을 추천드립니다. +. +.SH 설명 +\fBxz\fP는 \fBgzip\fP(1) 과 \fBbzip2\fP(1) 과 비슷한 명령행 문법을 지닌 범용 데이터 압축 도구입니다. 자체 파일 +형식은 \fB.xz\fP 형식이나, LZMA 유틸리티에서 사용하는 예전 \fB.lzma\fP 형식과 형식 헤더가 없는 RAW 압축 스트림도 +지원합니다. 게다가, \fBlzip\fP에서 활용하는 \fB.lz\fP 형식 압축 해제도 지원합니다. +.PP +각 \fI파일\fP 에 대한 \fBxz\fP 압축 또는 압축 해제는 선택 동작 모드에 따릅니다. \fI<파일>\fP 값이 주어졌거나 +\fI<파일>\fP 값이 \fB\-\fP이면, \fBxz\fP 명령에서 표준 입력을 읽고 처리한 데이터를 표준 출력에 기록합니다. +\fBxz\fP 에서는 터미널에서 활용할 경우 압축 데이터를 표준 압축으로 기록하는 동작을 거절(오류를 출력하고 \fI<파일>\fP을 +건너뜀)합니다. 이와 비슷하게, \fBxz\fP 유틸리티를 터미널에서 실행하면 표준 입력의 압축 데이터 읽기를 거절합니다. +.PP +\fB\-\-stdout\fP 을 지정하지 않는 한, \fB\-\fP가 아닌 \fI<파일>\fP을 원본 \fI<파일>\fP 이름에서 +가져온 새 파일 이름으로 기록합니다: +.IP \(bu 3 +압축할 때, 대상 파일 형식의 접미사(\fB.xz\fP or \fB.lzma\fP) 는 원본 파일 이름 뒤에 붙어 대상 파일이름이 됩니다. +.IP \(bu 3 +압축 해제할 때, \fB.xz\fP, \fB.lzma\fP, \fB.lz\fP 접미사를 파일 이름에서 제거하고 대상 파일 이름을 알아냅니다. +\fBxz\fP에서는 \fB.txz\fP, \fB.tlz\fP 접미사도 인식하며, \fB.tar\fP 접미사로 치환합니다. +.PP +대상 파일이 이미 있으면, 오류를 나타내고 \fI<파일>\fP을 건너뜁니다. +.PP +표준 출력으로 기록하기 전에는, \fBxz\fP는 경고를 나타내며, 다음 조건에 만족할 경우 \fI<파일>\fP을 건너뜁니다: +.IP \(bu 3 +\fI<파일>\fP이 일반 파일이 아닐 때. 심볼릭 링크는 따라가지 않기에, 일반 파일로 간주하지 않습니다. +.IP \(bu 3 +\fI<파일>\fP이 하나 이상의 하드 링크일 떄. +.IP \(bu 3 +\fI<파일>\fP에 setuid, setgid, 끈적이 비트 집합이 붙어있을 떄. +.IP \(bu 3 +동작 모드를 압축으로 설정하고, \fI<파일>\fP은 대상 파일 형식의 접미사를 이미 붙였을 때(\fB.xz\fP 형식으로 압축하면 +\&\fB.xz\fP 또는 \fB.txz\fP, \fB.lzma\fP 형식으로 압축하면 \fB.lzma\fP 또는 \fB.tlz\fP). +.IP \(bu 3 +동작 모드를 압축 해제로 설정하고, \fI<파일>\fP에 지원 파일 형식 접미사(\fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, +\&\fB.tlz\fP, \fB.lz\fP)를 붙이지 않았을 때. +.PP +\fI<파일>\fP 의 압축 또는 압축 해제를 성공하고 나면, \fBxz\fP는 소유자, 소유그룹, 권한, 접근 시각, 수정 시각 +정보를 원본 \fI<파일>\fP에서 대상 파일로 그대로 복사합니다. 그룹 정보 복사에 실패하면, 권한을 수정하여 원본 +\fI<파일>\fP에 접근 권한이 없는 사용자가 대상 파일로 접근하지 못하게 합니다. \fBxz\fP는 아직 접근 제어 목록이나 +확장 속성 등의 기타 메타데이터를 복사하는 기능은 지원하지 않습니다. +.PP +대상 파일을 온전히 닫고 나면, \fB\-\-keep\fP 옵션을 지원하지 않았을 경우 원본 \fI<파일>\fP을 제거합니다. 원본 +\fI<파일>\fP은 출력을 표준 출력으로 기록했거나 오류가 발생했을 경우 제거하지 않습니다. +.PP +\fBxz\fP 프로세스에 \fBSIGINFO\fP 시그널 또는 \fBSIGUSR1\fP 시그널을 보내면 표준 출력으로 진행 정보를 출력합니다. 표준 +오류가 터미널일 경우일 경우에만 제한하며 \fB\-\-verbose\fP 옵션을 지정하면 진행 표시줄을 자동으로 나타냅니다. +. +.SS "메모리 사용" +\fBxz\fP 메모리 사용은 수백 킬로바이트로 시작하여 수 기가바이트까지 압축 설정에 따라 다릅니다. 압축 해제 프로그램이 필요로 하는 +메모리 공간을 결정하는 파일 압축시에 설정 값을 활용합니다. 보통 압축 해제 프로그램은 파일을 만들 때, 압축 프로그램 메모리 사용량의 +5% 에서 20% 정도 필요합니다. 예를 들면, \fBxz \-9\fP로 압축한 파일 압축 해제시 현재 65MiB 메모리 용량이 필요합니다. +여전하게도, 압축 해제시 수 기가 바이트의 메모리가 필요한 \fB.xz\fP 파일에도 가능한 이야기입니다. +.PP +특히 이전 시스템 사용자의 경우 메모리 사용량이 엄청나게 늘어나는 점에 짜증이 날 수 있습니다. 이런 불편한 상황을 피하기 위해, +\fBxz\fP에 기본적으로 비활성 상태인 내장 메모리 사용 제한 기능을 넣었습니다. 일부 운영체제에서 처리 중 메모리 사용을 제한하는 +수단을 제공하긴 하지만, 여기에 의지하기에는 충분히 유연하지 않습니다(예를 들면, \fBulimit\fP(1)을 사용하면 가상 메모리를 +제한하여 \fBmmap\fP(2)을 먹통으로 만듭니다). +.PP +메모리 사용 제한 기능은 \fB\-\-memlimit=\fP\fI<제한용량>\fP 명령행 옵션으로 사용할 수 있습니다. 종종 +\fBXZ_DEFAULTS=\-\-memlimit=150MiB\fP와 같이 \fBXZ_DEFAULTS\fP 환경 변수를 설정하여 제한 기능을 켜는게 더 +편합니다. \fB\-\-memlimit\-compress=\fP\fI<제한용량>\fP 옵션과 +\fB\-\-memlimit\-decompress=\fP\fI<제한용량>\fP 옵션을 활용하여 압축 및 압축 해제시 별도로 한계 값을 +설정할 수 있습니다. 이 두 가지 옵션의 \fBXZ_DEFAULTS\fP 환경 변수 밖에서의 사용은, \fBxz\fP를 단일 실행할 때 압축 및 +압축 해제 동작을 동시에 수행하지 않으며, 앞서 언급한 두가지 옵션을 명령행에 입력하기에는 +\fB\-\-memlimit=\fP\fI<제한용량>\fP(또는 \fB\-M\fP \fI<제한용량>\fP)이 더 짧기 때문에 별로 쓸모가 +없습니다. +.PP +압축 해제시 메모리 사용 제한 지정 한계를 초과하면, \fBxz\fP 유틸리티에서 오류를 나타내며 파일 압축 해제는 실패합니다. 압축을 +실행할 때 사용 제한 지정 한계를 넘어서면 \fBxz\fP에서는 설정 값을 줄여서 어쨌든 한계를 넘지 못하게 +합니다(\fB\-\-format=raw\fP 옵션 또는 \fB\-\-no\-adjust\fP 옵션 사용시 제외). 설정 한계 값이 엄청 작지 않은 이상 이 +방식대로 처리하면 어쨌든 실패하지 않습니다. 설정 값조정은 압축 래벨 사전 설정과 일치하지 않을 때 단계적으로 진행하는데, 이를테면, +\fBxz \-9\fP 명령 수행에 필요한 양보다 한계 값이 약간 작으면, 설정 값을 \fBxz \-8\fP에 못미치게 약간 줄여서 진행합니다. +. +.SS ".xz 파일 결합 및 패딩" +\&\fB.xz\fP 파일을 있는 그대로 합칠 수 있습니다. \fBxz\fP는 \fB.xz\fP 파일을 단독 파일일 때 처럼 압축해제합니다. +.PP +결합 부분과 마지막 부분 뒤에 패딩을 추가할 수 있습니다. 패딩은 널 바이트로 구성해야 하며 패딩 길이는 4바이트로 구성해야 합니다. +512 바이트 블록으로 파일 크기를 이루는 매체에 \fB.xz\fP 파일을 저장했을 경우에 요긴할 수 있습니다. +.PP +\&\fB.lzma\fP 파일 또는 원시 스트림의 경우 결합과 패딩을 허용하지 않습니다. +. +.SH 옵션 +. +.SS "정수 접두사와 별도 값" +정수 인자값이 필요한 대부분 위치에서는, 큰 정수값을 나타내기 쉽게 하도록 추가 접미사를 지원합니다. 정수와 접미사 사이에 어떤 공백이 +있으면 안됩니다. +.TP +\fBKiB\fP +1,024 (2^10) 배수 정수값. \fBKi\fP, \fBk\fP, \fBkB\fP, \fBK\fP, \fBKB\fP 단위를 \fBKiB\fP 동의어로 받아들입니다. +.TP +\fBMiB\fP +1,048,576 (2^20) 배수 정수값. \fBMi\fP, \fBm\fP, \fBM\fP, \fBMB\fP 단위를 \fBMiB\fP 동의어로 받아들입니다. +.TP +\fBGiB\fP +1,073,741,824 (2^30) 배수 정수값. \fBGi\fP, \fBg\fP, \fBG\fP, \fBGB\fP 단위를 \fBGiB\fP 동의어로 +받아들입니다. +.PP +특수 값 \fBmax\fP는 옵션에서 지원하는 정수 최대 값을 나타낼 때 사용할 수 있습니다. +. +.SS "동작 모드" +여러 동작 모드를 보여드리겠습니다만, 마지막에 주어진 동작 모드로 동작합니다. +.TP +\fB\-z\fP, \fB\-\-compress\fP +압축합니다. 어떤 동작 모드 옵션도 지정하지 않고 다른 동작 모드를 명령행에 따로 지정하지 않았다면 이 동작 모드는 기본입니다(예: +\fBunxz\fP 는 \fB\-\-decompress\fP를 암시). +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +압축을 해제합니다. +.TP +\fB\-t\fP, \fB\-\-test\fP +압축 \fI<파일>\fP의 무결성을 시험해봅니다. 이 옵션은 압축 해제 데이터를 표준 출력으로 기록하는 대신 버린다는 점을 +제외하고 \fB\-\-decompress \-\-stdout\fP과 동일합니다. 어떤 파일도 만들거나 제거하지 않습니다. +.TP +\fB\-l\fP, \fB\-\-list\fP +압축 \fI<파일>\fP 정보를 출력합니다. 압축 해제 출력을 내보내지 않으며, 어떤 파일도 만들거나 제거하지 않습니다. 이 +조회 모드에서, 프로그램은 표준 입력 또는 기타 탐색 불가능한 원본에서 압축 데이터를 읽을 수 없습니다. +.IP "" +\fI<파일>\fP 기본 정보를 파일 당 한 줄 씩 기본으로 보여줍니다. 더 자세한 정보를 보려면 \fB\-\-verbose\fP +옵션을 사용하십시오. 더 자세한 정보는 \fB\-\-verbose\fP 옵션을 두번 사용하면 되지만, 추가 정보를 더 많이 가져오면서 탐색 +횟수가 늘어나는 문제로 인해 느려질 수 있습니다. 세부 출력 너비는 80 문자를 초과하며, 예를 들어 출력을 파이핑한다면, 터미널이 +충분히 너비가 넓지 못할 경우 \fBless\ \-S\fP 명령이 편리할 수 있습니다. +.IP "" +정확한 출력은 \fBxz\fP 버전과 다른 로캘에 따라 바뀔 수 있습니다. 기계 판독용 출력시 \fB\-\-robot \-\-list\fP 옵션을 +사용합니다. +. +.SS "동작 수정자" +.TP +\fB\-k\fP, \fB\-\-keep\fP +입력 파일을 삭제하지 않습니다. +.IP "" +\fBxz\fP 5.2.6 부터는 이 옵션으로 입력 파일이 일반 파일을 참조하는 심볼릭 링크나 하나 이상의 하드 링크, 내지는 setuid, +setgid, 끈적이 비트 세트를 설정한 상태라도 압축하거나 압축을 풀 수 있습니다. setuid, setgid, 끈적이 비트는 대상 +파일에 복사하지 않습니다. 이전 버전에서는 \fB\-\-force\fP 옵션을 지정했을 때만 가능했습니다. +.TP +\fB\-f\fP, \fB\-\-force\fP +이 옵션은 몇가지 동작에 영향을 줍니다: +.RS +.IP \(bu 3 +대상 파일이 이미 있으면, 압축 또는 압축 해제 전 삭제합니다. +.IP \(bu 3 +입력 파일이 일반 파일을 참조하는 심볼릭 링크나 하나 이상의 하드 링크, 내지는 setuid, setgid, 끈적이 비트 세트를 설정한 +상태라도 압축 또는 압축 해제를 진행합니다. setuid, setgid, 끈적이 비트는 대상 파일에 복사하지 않습니다. +.IP \(bu 3 +\fB\-\-decompress\fP \fB\-\-stdout\fP 옵션을 같이 사용하는 상황에서 \fBxz\fP 명령이 원본 파일의 형식을 알아내지 못할 때, +원본 파일의 사본을 표준 출력으로 보냅니다. 이렇게 하면 \fBxzcat\fP \fB\-\-force\fP 명령을 \fBxz\fP 명령으로 압축하지 않은 +파일에 대해 \fBcat\fP(1) 을 사용하는 것처럼 사용할 수 있습니다. 참고로 나중에, \fBxz\fP에서 \fBxz\fP로 하여금 여러 형식의 +파일을 표준 출력으로 복사하는 대신 압축을 해제하도록 새 압축 파일 형식을 지원할 예정입니다. +\fB\-\-format=\fP\fI<형식>\fP 옵션은 \fBxz\fP 명령에 단일 파일 형식만 압축 해제하도록 제한할 때 사용할 수 +있습니다. +.RE +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +파일 대신 표준 출력으로 압축 또는 압축 해제한 데이터를 기록합니다. \fB\-\-keep\fP를 생략했습니다. +.TP +\fB\-\-single\-stream\fP +처음 \fB.xz\fP 스트림만 압축 해제하며, 스트림에 뒤따라오는 나머지 입력 데이터는 조용히 무시합니다. 보통 뒤따라오는 쓰레기 값에 +대해서는 \fBxz\fP 에서 오류를 나타냅니다. +.IP "" +\fBxz\fP는 \fB.lzma\fP 파일 또는 원시 스트림에서 온 하나 이상의 스트림에 대해 압축 해제동작을 취하지 않지만, 이 옵션을 사용하면 +\fBxz\fP에서 \fB.lzma\fP 파일 또는 원시 스트림을 처리한 다음에 뒤따라오는 데이터를 무시하도록 합니다. +.IP "" +이 옵션은 동작 모드가 \fB\-\-decompress\fP 또는 \fB\-\-test\fP가 아니면 동작에 아무런 영향을 주지 않습니다. +.TP +\fB\-\-no\-sparse\fP +희소 파일을 만들지 않습니다. 기본적으로 일반 파일로 압축 해제할 경우 \fBxz\fP 에서는 압축 해제한 파일에 이진 0값이 길게 늘어질 +경우 희소 배열 파일을 만들려고 합니다. 표준 출력의 내용 길이만큼 연결한 일반 파일로 기록할 때도 동작하며 희소 파일을 만드는 동안 +아무런 문제가 나타나지 않게 각각의 추가 조건을 만족합니다. 희소 파일을 만들면 디스크 공간을 절약할 수 있으며 디스크 입출력을 줄여 +압축 해제 속도를 올릴 수 있습니다. +.TP +\fB\-S\fP \fI.suf\fP, \fB\-\-suffix=\fP\fI.suf\fP +압축할 때, 대상 파일의 접두사를 \fB.xz\fP 또는 \fB.lzma\fP 대신 \fI.suf\fP로 사용하십시오. 표준 출력으로 기록하지 않고 +원본 파일에 \fI.suf\fP 접두사가 붙어있으면, 경고를 나타내고 해당 파일을 건너뜁니다. +.IP "" +압축 해제할 때, \fI.suf\fP 접미사로 파일을 인식하기도 하고, \fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP, +\&\fB.lz\fP 접미사가 붙은 파일도 인식합니다. 원본 파일에 \fI.suf\fP 접미사가 붙어있으면, 해당 접미사를 제거하여 대상 파일 이름을 +알아냅니다. +.IP "" +원시 스트림 압축 및 압축 해제시(\fB\-\-format=raw\fP) 원시 스트림에 기본 접미사가 없기 때문에, 표준 출력으로 기록하지 않는 +한 접미사를 반드시 지정해야 합니다. +.TP +\fB\-\-files\fP[\fB=\fP\fI<파일>\fP] +\fI<파일>\fP에서 처리할 파일 이름을 읽습니다. \fI<파일>\fP을 생략하면 파일 이름은 표준 입력에서 +불러옵니다. 파일 이름은 개행 문자로 끝나야 합니다. 대시 문자(\fB\-\fP)는 일반 파일 이름으로 취급하며 표준 입력을 의미하지 +않습니다. 파일 이름을 명령행 인자로 지정하면, \fI<파일>\fP에서 파일 이름을 읽어들이기 전 해당 명령행 인자를 먼저 +처리합니다. +.TP +\fB\-\-files0\fP[\fB=\fP\fI<파일>\fP] +각 파일 이름이 널 문자로 끝나야 한다는 점만 제외하면 \fB\-\-files\fP[\fB=\fP\fI<파일>\fP] 옵션과 동일합니다. +. +.SS "기본 파일 형식 및 압축 옵션" +.TP +\fB\-F\fP \fIformat\fP, \fB\-\-format=\fP\fI<형식>\fP +압축 또는 압축해제 파일 \fI<형식>\fP을 지정합니다: +.RS +.TP +\fBauto\fP +기본 값입니다. 압축할 때, \fBauto\fP는 \fBxz\fP의 기본 동작과 동일합니다. 압축을 해제할 때, 입력 파일 형식을 자동으로 +찾습니다. 참고로 원시 스트림(\fB\-\-format=raw\fP)의 경우 자동으로 찾을 수 없습니다. +.TP +\fBxz\fP +\&\fB.xz\fP 파일 형식으로 압축하거나, 압축 해제시 \fB.xz\fP 파일만 받아들입니다. +.TP +\fBlzma\fP, \fBalone\fP +이전 \fB.lzma\fP 파일 형식으로 압축하거나, 압축 해제시 \fB.lzma\fP 파일만 받아들입니다. \fBalone\fP 대체 명령은 LZMA +유틸리티 하위 호환성을 목적으로 제공합니다. +.TP +\fBlzip\fP +압축 해제시 \fB.lz\fP 파일만 받아들입니다. 압축은 지원하지 않습니다. +.IP "" +\&\fB.lz\fP 형식 버전 0과 비확장 버전 1을 지원합니다. 버전 0파일은 \fBlzip\fP 1.3 이전에서만 만듭니다. 일반적이진 않지만 +일부 파일의 경우 이 형식과 관련된 원본 패키지로 보관한 파일을 찾을 수도 있습니다. 개인적으로 이 형식으로 압축한 오래된 개인 파일을 +가지고 있을 수도 있습니다. 형식 버전 0 압축 해제 지원은 \fBlzip\fP 1.18에서 제거했습니다. +.IP "" +\fBlzip\fP 1.4 이상에서는 버전 1형식의 파일을 만듭니다. 형식 버전 1로의 동기화 제거 마커 확장은 \fBlzip\fP 1.6에 +추가했습니다. 이 확장은 거의 쓰지 않으며 \fBxz\fP 에서 조차도 지원하지 않습니다(손상된 입력 파일로 진단함). +.TP +\fBraw\fP +원시 스트림으로 압축하거나 압축을 해제합니다(헤더 없음). 고급 사용자 전용입니다. 원시 스트림을 디코딩하려면, +\fB\-\-format=raw\fP 옵션을 사용하고 분명하게 필터 체인을 지정하여 컨테이너 헤더에 필요한 정보를 저장하게 끔 해야합니다. +.RE +.TP +\fB\-C\fP \fI<검사방식>\fP, \fB\-\-check=\fP\fI<검사방식>\fP +무결성 검사 방식을 지정합니다. 검사 방식은 \fB.xz\fP 파일에 저장하며 압축 해제 데이터를 계산합니다. 이 옵션은 \fB.xz\fP +형식으로 압축할 때만 효력이 있습니다: \fB.lzma\fP 형식은 무결성 겁사를 지원하지 않습니다. 무결성 검사는 \fB.xz\fP 파일 압축을 +풀었을 때에 검사합니다. +.IP "" +지원 \fI검사\fP 형식: +.RS +.TP +\fBnone\fP +어떤 경우에도 무결성 검사 계산을 수행하지 않습니다. 보통 바람직하지 못한 생각입니다. 데이터 무결성을 다른 방식으로라도 검증해야 +하는 상황이면 쓸만할 수 있습니다. +.TP +\fBcrc32\fP +IEEE\-802.3 (이더넷)의 다항 연산으로 CRC32를 계산합니다. +.TP +\fBcrc64\fP +ECMA\-182의 다항식 연산으로 CRC64를 계산합니다. 이 동작이 기본 동작이기 때문에 CRC32가 깨진 파일을 찾을 때보다는 좀 +낮은 편이며 속도 차이도 거의 없습니다. +.TP +\fBsha256\fP +SHA\-256 해시를 계산합니다. CRC32와 CRC64 보다는 좀 느립니다. +.RE +.IP "" +\&\fB.xz\fP 헤더 무결성은 항상 CRC32로 검증하빈다. 이를 바꾸거나 It is not possible to change or +disable it. +.TP +\fB\-\-ignore\-check\fP +압축 데이터를 압축해제할 경우 압축 데이터의 무결성 검증을 진행하지 않습니다. \fB.xz\fP 헤더의 CRC32 값은 그래도 여전히 보통 +방식으로 검증합니다. +.IP "" +\fB이 옵션이 정확히 무슨 동작을 하는지 알기 전에는 사용하지 마십시오.\fP 이 옵션을 사용하는 타당한 이유로: +.RS +.IP \(bu 3 +깨진 .xz 파일에서 데이터 복구를 시도합니다. +.IP \(bu 3 +압축 해제 속도를 늘립니다. SHA\-256 또는 압축 파일에 들어간 그 무언가를 엄청 빨리 처리합니다. 다른 방식으로 파일 무결성을 +검증해야 하는 목적이 아니라면 이 옵션을 사용하지 않는게 좋습니다. +.RE +.TP +\fB\-0\fP ... \fB\-9\fP +압축 사전 설정 수준을 선택합니다. 기본값은 \fB\-6\fP입니다. 다중 수준을 지정하면 가장 마지막 수준 옵션을 적용합니다. 개별 필터 +체인을 이미 지정했다면, 압축 사전 설정 수준 값을 설정할 때 개별 필터 체인을 정리합니다. +.IP "" +사전 설정간 차이는 \fBgzip\fP(1)과 \fBbzip2\fP(1)을 사용할 때보다 더 비중을 차지합니다. 선택한 압축 설정은 압축 해제시 +필요한 메모리 사용량을 셜정하므로 사전 설정 수준 값을 너무 높게 지정하면 RAM 용량이 적은 오래된 시스템에서 파일 압축 해제시 실패할 +수 있습니다. 게다가, \fBgzip\fP(1) 과 \fBbzip2\fP(1)에서 처럼 종종 \fB모든 동작에 \-9를 몰래 활용하는건 바람직하지 않습니다\fP. +.RS +.TP +\fB\-0\fP ... \fB\-3\fP +동작이 빠른 사전 설정 부류입니다. \fB\-0\fP은 때로는 \fBgzip \-9\fP 명령보다 압축율이 훨씬 우수하면서도 더 빠릅니다. 더 큰 +값은 보통 \fBbzip2\fP(1) 명령과 비교했을 떄 압축 결과가 압축 데이터에 따라 달라지더라도, 비교할 법한 속도 또는 더 나은 +압축율을 보입니다. +.TP +\fB\-4\fP ... \fB\-6\fP +오래된 시스템에서 조차도 압축 해제 프로그램의 적절한 메모리 사용량을 보이면서 양호하거나 최적의 압축율을 보여줍니다. \fB\-6\fP 옵션은 +압축 해제시 메모리 사용량이 16MiB 밖에 안되기 때문에 파일을 배포할 때 최적의 선택인 기본 값입니다. (\fB\-5e\fP 또는 +\fB\-6e\fP도 역시 고려할 만합니다. \fB\-\-extreme\fP을 참고하십시오.) +.TP +\fB\-7 ... \-9\fP +\fB\-6\fP과 비슷하지만 압축 및 압축 해제시 요구 메모리 사용량이 더 높습니다. 압축 파일이 각각 8MiB, 16MiB, 32MiB +보다 클 경우에만 쓸만한 옵션입니다. +.RE +.IP "" +동일한 하드웨어에서, 압축 해제 속도는 압축한 데이터의 초당 정적 바이트 처리 수의 어림 평균입니다. 다시 말해, 압축율을 더 올리면, +압축 해제 속도도 역시 올라갑니다. 이는 곧 초당 비압축 데이터 출력 양이 달라질 수 있단 뜻입니다. +.IP "" +다음 표에 사전 설정 기능을 정리했습니다: +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +Preset;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 "" +컬럼 설명: +.RS +.IP \(bu 3 +DictSize는 LZMA2 딕셔너리 크기입니다. 압축 해제 파일의 크기보다 딕셔너리에서 사용하는 낭비 메모리 용량입니다. 실제로 +필요하지 않은 \fB\-7\fP ... \fB\-9\fP 사전 설정값을 피해야 하는 적절한 이유이기도 합니다. \fB\-6\fP 이하에서는 소모 메모리 양이 +충분히 적거나 따로 신경쓸 필요가 없습니다. +.IP \(bu 3 +CompCPU는 압축 속도에 영향을 주는 LZMA2 설정의 단순화 표기 값입니다. 딕셔너리 크기는 속도에도 영향을 주기 때문에 +CompCPU는 \fB\-6\fP ... \fB\-9\fP 수준값과 동일한데, 고수준 값은 여전히 조금 더 느려질 수 있습니다. 느려지는 만큼 +압축율은 가능한 한 더 좋아집니다. \fB\-\-extreme\fP을 참고하십시오. +.IP \(bu 3 +CompMem은 단일\-스레드 모드에서 필요한 압축 프로그램의 메모리 점유 용량입니다. \fBxz\fP 버전에 따라 다를 수 있습니다. +.IP \(bu 3 +DecMem은 압축 해제 프로그램의 메모리 점유용량입니다. 이는 곧, 압축 해제 프로그램에서 필요한 메모리 사용량을 압축 설정에서 +결정한다는 의미가 들어있습니다. 정확한 압축 해제 프로그램의 메모리 사용량은 LZMA2 딕셔너리 크기 보다는 조금 많지만 테이블의 값은 +MiB 용량으로 완전히 반올림한 값입니다. +.RE +.IP "" +다중\-스레드 모드에서 필요한 메모리 용량은 단일\-스레드 모드보단 약간 더 많습니다. \fB\-\-block\-size\fP 기본값에 따라, 각 +스레드에서는 3*3*딕셔녀리_크기 + 압축시_메모리용량 또는 압축_해제시_메모리용량 정도가 필요합니다. 예를 들면, 스레드 넷에 사전 +설정 옵션 \fB\-6\fP을 사용한다면, 660\(en670 MiB 메모리 용량이 필요합니다. +.TP +\fB\-e\fP, \fB\-\-extreme\fP +기대하는 만큼의 좀 더 나은 압축율을 확보하려 선택한 압축 사전 설정 수준의 느린 변형 옵션을 사용하지만, 재수 없는 와중에 골로 가는 +경우가 생기기도 합니다. 압축 해제 프로그램의 메모리 사용에는 영향을 주지 않지만, 압축 프로그램의 메모리 사용량은 \fB\-0\fP +\&... \fB\-3\fP 사전 설정 수준에서 약간 더 올라갈 뿐입니다. +.IP "" +4MiB와 8MiB 두 가지 딕셔너리 용량 설정이 있기 때문에 \fB\-3e\fP 와 \fB\-5e\fP 사전 설정을 (CompCPU 수치를 낮춰서) +각각 \fB\-4e\fP 와 \fB\-6e\fP 보다 약간 더 빠르게 설정할 수 있습니다. 이런 식으로 두 사전 설정이 동일하지 않습니다. +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +Preset;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 "" +예를 들면, 8MiB 딕셔너리를 활용하는 네가지 사전 설정이 있다고 할 때, 빠른 순으로 설정을 나열하자면, \fB\-5\fP, \fB\-6\fP, +\fB\-5e\fP, \fB\-6e\fP 입니다. +.TP +\fB\-\-fast\fP +.PD 0 +.TP +\fB\-\-best\fP +.PD +이 옵션은 \fB\-0\fP 과 \fB\-9\fP의 별칭으로 각각 오해할 수 있습니다. LZMA 유틸리티의 하위 호환성을 목적으로 제공합니다. 이 +옵션 사용은 피하십시오. +.TP +\fB\-\-block\-size=\fP\fI<크기>\fP +\&\fB.xz\fP 형식으로 압축할 때, 입력 데이터를 \fI<크기>\fP 바이트 블록으로 입력 데이터를 쪼갭니다. 각각의 블록은 +다중\-스레드 방식으로 처리할 수 있고 임의 접근 압축 해제 가능성을 제한할 수 있게 개별적으로 압축 처리합니다. 이 옵션은 보통 +다중\-스레드 모드에서 기본 블록 크기를 지정할 때 사용하지만, 단일\-스레드 모드에서도 사용할 수 있습니다. +.IP "" +다중\-스레드 모드에서는 약 3배 용량의 \fI<크기>\fP 바이트만큼 각 스레드 별로 입출력 버퍼링용 공간을 할당합니다. 기본 +\fI<크기>\fP는 LZMA2 딕셔너리 크기 또는 1MiB 중 가장 큰 쪽의 세 배입니다. 보통 적절한 값으로 LZMA2 +딕셔너리 크기 또는 최소한 1MiB 용량의 2\(en4배입니다. LZMA2 딕셔너리 크기보다 작은 \fI<크기>\fP는 램의 +소모적 사용 공간으로 할당하는데 LZMA2 딕셔너리 버퍼를 할당한 용량 크기 전체를 다 사용하지 않기 때문입니다. 다중\-스레드 모드에서 +블록 크기는 블록 헤더에 저장하며, 이 크기 정보는 다중\-스레드 압축 해제시 필요합니다. +.IP "" +단일\-스레드 모드에서는 기본적으로 블록 쪼개기를 하지 않습니다. 이 옵션을 설정한다고 해서 메모리 사용에 영향을 주지는 않습니다. +블록 헤더에 크기 정보를 저장하지 않기 때문에 단일\-스레드 모드에서 만든 파일은 다중\-스레드 모드에서 만든 파일과 동일하지 않습니다. +크기 정보의 누락은 또한 \fBxz\fP에서 다중\-스레드 모드로 압축 해제를 진행할 수 없음을 의미하기도 합니다. +.TP +\fB\-\-block\-list=\fP\fI<항목>\fP +\&\fB.xz\fP 형식으로 압축할 때, 압축하지 않은 데이터로 부터 일정 간격 이후에 새 블록 처리를 시작합니다. +.IP "" +\fI<항목>\fP은 쉼표로 구분한 목록으로 지정합니다. 각 항목은 콜론 (\fB:\fP)으로 구분한 0부터 9까지의 추가 필터 +체인 번호 값으로 이루어져 있으며, 압축하지 않은 데이터의 크기 값이 필요합니다. 항목을 생략하면(둘 이상의 쉼표 연속 표기) 이전 +항목의 크기와 필터를 활용하겠다는 함축 의미를 넣을 수 있습니다. +.IP "" +입력 파일이 \fI<항목>\fP 크기의 합보다 크면, 마지막 항목을 파일의 끝까지 반복합니다. 특별히 \fB0\fP 값을 마지막 +값으로 사용하여 파일 나머지 부분을 단일 블록으로 인코딩해야 한다는 의미를 나타낼 수도 있습니다. +.IP "" +\fB\-\-filters1=\fP\fI<필터>\fP \&...\& \fB\-\-filters9=\fP\fI<필터>\fP 옵션 조합으로 +각 블록별 별도 필터 체인을 지정할 수 있습니다. 이 옵션은 1\(en9번 필터 체인을 지정합니다. 필터 체인 0번은 필터 체인을 +지정하지 않았을 때와 동일한 기본 필터 체인으로 참조할 수 있습니다. 필터 체인 식별 번호는 비 압축 크기 앞에 콜론(\fB:\fP)을 붙여 +사용할 수 있습니다. 예를 들면, \fB\-\-block\-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB\fP 옵션을 +지정했을 경우 다음 규칙대로 블록을 만듭니다: +.RS +.IP \(bu 3 +\fB\-\-filters1\fP 필터 체인에서는 2MiB 입력을 +.IP \(bu 3 +\fB\-\-filters3\fP 필터 체인에서는 2MiB 입력을 +.IP \(bu 3 +\fB\-\-filters2\fP 필터 체인에서는 4MiB 입력을 +.IP \(bu 3 +\fB\-\-filters2\fP 필터 체인에서는 4MiB 입력을 +.IP \(bu 3 +기본 필터 체인에서는 2MiB 입력을 +.IP \(bu 3 +입력이 끝나기 전의 모든 블록에는 기본 필터 체인과 4MiB 입력을 적용합니다. +.RE +.IP "" +인코더 블록 크기를 초과하는 크기 값을 지정하면(스레드 모드 기본값 또는 \fB\-\-block\-size=\fP\fI<크기>\fP +옵션으로 지정한 값), 인코더는 \fI<크기>\fP 지정 용량 범위는 유지하면서 추가 블록을 만듭니다. 예를 들면 +\fB\-\-block\-size=10MiB\fP \fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP 옵션을 지정하고 +입력 파일을 80MiB 용량으로 전달하면, 각각 5, 10, 8, 10, 2, 10, 10, 4, 10, 10, 1 MiB 용량을 +차지하는 블록 11개를 결과물로 내줍니다. +.IP "" +다중\-스레드 모드에서 블록 크기는 블록 헤더에 저장합니다. 단일\-스레드 모드에서는 저장하지 않기 때문에 인코딩 처리한 출력은 +다중\-스레드 모드의 출력 결과물과는 다릅니다. +.TP +\fB\-\-flush\-timeout=\fP\fI<제한시간>\fP +압축할 때, 이전 데이터를 소거하고 다음 입력을 블록 단위로 더 읽는데 \fI<제한시간>\fP 밀리초(양의 정수값)가 지났을 +경우, 대기중이던 모든 입력 데이터를 인코더에서 소거한 다음 출력 스트림에 전달합니다. 이런 동작은 네트워크로 스트리밍한 데이터를 +\fBxz\fP로 압축할 때 쓸만합니다. \fI<제한시간>\fP 값을 적게 지정하면 적은 지연 시간에 데이터를 받아낼 수 있지만 +\fI<제한시간>\fP 값을 크게 하면 압축율을 높일 수 있습니다. +.IP "" +이 기능은 기본적으로 꺼져있습니다. 이 옵션을 한번 이상 지정하면, 마지막 옵션의 값대로 동작합니다. 특별히 +\fI<제한시간>\fP 값을 \fB0\fP으로 설정하면 이 설정을 완전히 끌 수 있습니다. +.IP "" +이 기능은 POSIX 시스템이 아닌 곳에서는 사용할 수 없습니다. +.IP "" +.\" FIXME +\fB이 기능은 여전히 시험중입니다\fP. 현재로서는, \fBxz\fP 버퍼링 처리 방식 때문에 \fBxz\fP의 실시간 스트림 압축 해제 기능 활용은 +적절하지 않습니다. +.TP +\fB\-\-memlimit\-compress=\fP\fI<제한용량>\fP +압축 수행시 메모리 사용 한계를 지정합니다. 이 옵션을 여러번 지정하면 마지막 값을 취합니다. +.IP "" +압축 설정이 \fI<제한용량>\fP을 초과하면, \fBxz\fP는 설정 값의 하향 조정을 시도하여 한계 값을 더이상 넘치지 않게 하고 +자동 조절을 끝냈다는 알림을 표시합니다. 조정은 다음 순서대로 진행합니다. 스레드 수를 줄입니다. 다중\-스레드 모드에서 스레드 하나의 +할당 한계치가 \fI<제한용량>\fP을 넘으면 단일\-스레드 모드로 전환합니다. 그 다음 마지막으로 LZMA2 딕셔너리 크기를 +줄입니다. +.IP "" +\fB\-\-format=raw\fP 또는 \fB\-\-no\-adjust\fP 미지정 상황에서 압축할 때, 압축 데이터 출력에 영향을 주지 않고 스레드 +처리 수만 줄일 수 있습니다. +.IP "" +\fI<제한용량>\fP 값이 아래 설명한 조건에 맞지 않으면, 오류가 나타나고 \fBxz\fP 명령은 종료 상태 1번을 반환하며 +빠져나갑니다. +.IP "" +\fI<제한용량>\fP 값은 여러 방식으로 지정할 수 있습니다: +.RS +.IP \(bu 3 +\fI<제한용량>\fP 값은 바이트 용량 절대값입니다. 정수 값을 사용하되 \fBMiB\fP와 같은 접미사를 사용하는게 좋습니다. +예: \fB\-\-memlimit\-compress=80MiB\fP +.IP \(bu 3 +\fI<제한용량>\fP 값은 총 물리 메모리(RAM) 용량의 백분율로 지정할 수도 있습니다. 다른 컴퓨터끼리 공유하는 셸 +초기화 스크립트의 \fBXZ_DEFAULTS\fP 환경 변수에 값을 설정할 때 특히 쓸만합니다. 이런 방식으로 설정하면 시스템의 메모리 설치 +용량에 따라 자동으로 늘어납니다. 예: \fB\-\-memlimit\-compress=70%\fP +.IP \(bu 3 +\fI<제한용량>\fP 값은 \fB0\fP 기본값으로 설정하여 초기화할 수 있습니다. 현재로서는 \fI<제한용량>\fP +값이 \fImax\fP(최대) (메모리 사용 한계 없음) 인 상태와 동일합니다. +.RE +.IP "" +\fBxz\fP 32비트 버전에서는 몇가지 특별한 경우가 있습니다. \fI<제한용량>\fP 값이 \fB4020MiB\fP를 넘으면 +\fI<제한용량>\fP을 \fB4020MiB\fP로 고정합니다. MIPS32에서는 \fB2000MiB\fP로 대신 고정합니다. +(\fB0\fP과 \fBmax\fP는 이 경우에 해당하지 않습니다. 압축 해제시 비슷한 기능은 없습니다.) 이 경우 32비트 실행 파일이 +4GiB(MIPS32의 경우 2GiB) 주소 영역에 접근할 때 매우 용이하며, 다른 경우에는 원하는대로 문제를 일으키지 않습니다. +.IP "" +\fB메모리 활용\fP 섹션도 참고하십시오. +.TP +\fB\-\-memlimit\-decompress=\fP\fI<제한용량>\fP +압축 해제시 메모리 사용 한계 용량을 설정합니다. \fB\-\-list\fP 모드에도 영향을 줍니다. \fI<제한용량>\fP을 넘기지 +않고서는 동작이 진행이 안될 경우, \fBxz\fP 에서는 오류를 나타내고 파일 압축 해제를 실패로 +간주합니다. \fI<제한용량>\fP을 지정하는 가능한 방법에 대해서는 +\fB\-\-memlimit\-compress=\fP\fI<제한용량>\fP 옵션을 참고하십시오. +.TP +\fB\-\-memlimit\-mt\-decompress=\fP\fI<제한용량>\fP +다중\-스레드 모드 압축 해제시 메모리 사용 한계 용량을 설정합니다. 스레드 수에 영향을 줄 수도 있습니다. \fBxz\fP에서 파일 압축 +해제를 거부하게 하진 않습니다. \fI<제한용량>\fP 수치가 다중\-스레드로 처리하기에 너무 낮다면, +\fI<제한용량>\fP 값을 무시하고 \fBxz\fP 동작을 단일\-스레드 모드로 계속 진행합니다. 참고로 +\fB\-\-memlimit\-decompress\fP 옵션도 사용하면, 단일\-스레드 모드와 다중\-스레드 모드 두 경우에 모두 적용하기에, +다중\-스레드 모드에 적용할 \fI<제한용량>\fP 값은 \fB\-\-memlimit\-decompress\fP에 설정하는 제한 값보다 더 +크면 안됩니다. +.IP "" +다른 메모리 사용 용량 제한 옵션과는 달리, \fB\-\-memlimit\-mt\-decompress=\fP\fI<제한용량>\fP 옵션은 +시스템별 기본 \fI<제한용량>\fP 값을 지닙니다. 현재 설정 값은 \fBxz \-\-info\-memory\fP 명령으로 확인해볼 수 +있습니다. +.IP "" +이 옵션과 기본 값은 한계 값을 주지 않으면 스레드 기반 압축 해제 프로그램이 일부 입력 파일에 대해 정신나간 수준의 메모리 용량을 +할당해서 동작이 끝나버릴 수 있습니다. 기본 \fI<제한용량>\fP이 시스템의 사양에 비해 낮다면, +\fI<제한용량>\fP 값을 자유롭게 올리시되, \fBxz\fP 에서 적은 스레드 수에도 메모리 공간 할당을 시도하는 만큼, 입력 +파일에 적절한 수준으로 가용 RAM 용량을 넘는 큰 값을 설정하지 마십시오. 메모리나 스와핑 영역 공간이 줄어들면 압축해제 성능을 +개선하지 못합니다. +.IP "" +\fI<제한용량>\fP 값을 지정하는 가능한 방법을 보려면 +\fB\-\-memlimit\-compress=\fP\fI<제한용량>\fP 옵션을 참고하십시오. \fI<제한용량>\fP 값을 +\fB0\fP으로 설정하면 \fI<제한용량>\fP 값이 시스템 지정 기본값으로 바뀝니다. +.TP +\fB\-M\fP \fI<제한용량>\fP, \fB\-\-memlimit=\fP\fI<제한용량>\fP, \fB\-\-memory=\fP\fI<제한용량>\fP +\fB\-\-memlimit\-compress=\fP\fI<제한용량>\fP +\fB\-\-memlimit\-decompress=\fP\fI<제한용량>\fP +\fB\-\-memlimit\-mt\-decompress=\fP\fI<제한용량>\fP 지정과 동일합니다. +.TP +\fB\-\-no\-adjust\fP +압축 출력 결과에 영향을 주는 설정을 조정하지 않고는 메모리 사용 용량 제한 조건이 맞지 않으면 오류를 표시하고 빠져나갑니다. 이 +옵션은 \fBxz\fP가 다중\-스레드 모드에서 단일\-스레드 모드로 전환하고 LZMA2 딕셔너리 크기를 줄이는 동작을 막아줍니다. 심지어 이 +옵션을 사용하면 메모리 사용 한계를 만족하도록 스레드 수를 줄여 압축 결과물 출력에 영향이 가지 않게 합니다. +.IP "" +원시 스트림(\fB\-\-format=raw\fP)을 만들 떄 자동 조정은 항상 꺼집니다. +.TP +\fB\-T\fP \fI<스레드수>\fP, \fB\-\-threads=\fP\fI<스레드수>\fP +활용할 작업 스레드 수를 지정합니다. \fI<스레드수>\fP 값을 \fB0\fP 값으로 설정하면, \fBxz\fP는 시스템에서 지원하는 +최대 프로세서 스레드 수를 모두 확보합니다. 실제 스레드 수는 입력 파일이 주어진 설정대로 스레드 처리를 할 만큼 그렇게 크지 않을 +경우, 내지는 더 많은 스레드를 사용했을 때 메모리 사용량 한계를 초과할 경우 \fI<스레드수>\fP 보다 적을 수 있습니다. +.IP "" +단일\-스레드와 다중\-스레드 압축 프로그램은 다른 출력 결과물을 냅니다. 단일\-스레드 압축 프로그램은 작은 파일 크기 결과물을 내놓지만, +다중\-스레드 압축 프로그램의 경우 다중\-스레드 압축 프로그램에서 내놓은 결과물은 다중\-스레드로만 압축을 해제할 수 있습니다. +\fI<스레드수>\fP를 \fB1\fP로 설정하면 단일\-스레드 모드를 사용합니다. \fI<스레드수>\fP를 \fB0\fP과 다른 +값으로 설정하면, 시스템에서 실제로 하드웨어 스레드가 1개만 지원한다 하더라도, 다중\-스레드 압축 프로그램을 사용합니다. (\fBxz\fP +5.2.x에서는 이 경우 단일\-스레드 모드를 활용합니다.) +.IP "" +단일\-스레드로 다중\-스레드 모드를 사용하려면, \fI<스레드수>\fP를 \fB+1\fP로 설정하십시오. \fB+\fP 접두사는 \fB1\fP +이외의 값에는 영향을 주지 않습니다. 메모리 사용량 한계 설정은 \fBxz\fP을 \fB\-\-no\-adjust\fP 옵션을 쓰기 전까지는 +단일\-스레드로 전환하게 합니다. \fB+\fP 접두사 지원은 \fBxz\fP 5.4.0에 추가했습니다. +.IP "" +자동 스레드 수를 요청했고 메모리 사용 한계를 지정하지 않았다면, 시스템에 맞게끔 가능한 스레드 수를 제한하는 기본 소프트 제한 값을 +사용합니다. 스레드 수가 한개가 되면 무시하는 이런 개념이 소프트 제한이기에, \fBxz\fP로 하여금 압축 동작 및 압축 해제 동작 수행시 +멈추지 않습니다. 이 가본 소프트 제한 값은 \fBxz\fP 실행 도중 다중\-스레드 모드에서 단일\-스레드 모드로 바뀌게 하지는 않습니다. +활성 제한 값은 \fBxz \-\-info\-memory\fP 명령으로 볼 수 있습니다. +.IP "" +현재 스레딩 처리 방식은 입력을 블록 단위로 쪼개고 각각의 블록을 독립적으로 압축하는 동작을 취합니다. 기본 블록 크기는 압축 수준에 +따라 다르며 \fB\-\-block\-size=\fP\fI<크기>\fP 옵션으로 재지정할 수 있습니다. +.IP "" +스레드 압축 해제 방식은 여러 블록이 블록 헤더에 넣은 크기 정보와 함께 들어간 파일에만 동작합니다. 다중\-스레드 모드에서 압축한 +충분히 큰 모든 파일은 이 조건에 만족하지만, 단일\-스레드 모드에서 압축한 파일은 +\fB\-\-block\-size=\fP\fI<크기>\fP 옵션을 지정하더라도 조건에 만족하지 않습니다. +.IP "" +\fI스레드\fP 기본 값은 \fB0\fP입니다. \fBxz\fP 5.4.x 이전의 기본값은 \fB1\fP입니다. +. +.SS "개별 압축 필터 체인 설정" +개별 필터 체인은 사전 설정에 엮인 설정에 의존하는 대신 압축 설정을 세부적으로 하나하나 설정할 수 있게 합니다. 개별 필터 체인을 +지정하면, 명령행에 앞서 지정한 사전 설정 옵션(\fB\-0\fP \&...\& \fB\-9\fP 과 \fB\-\-extreme\fP)은 무시합니다. 사전 +설정 옵션을 하나 이상의 필터 체인 옵션 다음에 지정하면, 새 사전 설정을 취하며, 앞서 지정한 개별 필터 체인 옵션은 무시합니다. +.PP +필터 체인은 명령행 파이핑에 비교할 수 있습니다. 압축할 때, 압축하지 않은 입력을 첫번째 필터로 놓고, 출력 대상(이 있으면)을 다음 +필터로 지정합니다. 최종 필터의 출력은 압축 파일로 기옥합니다. 체인의 최대 필터 수는 4이지만, 필터 체인상 필터 갯수는 보통 +1~2개입니다. +.PP +수많은 필터가 필터 체인 상에서 제약점을 가지고 있습니다. 일부 필터는 체인의 마지막 필터로만 동작하며, 일부 다른 필터는 마지막이 아닌 +필터로, 어떤 동작은 체인의 어떤 위치에든 둡니다. 필터에 따라, 이 제한은 필터 설계를 따르거나 보안 문제를 막기 위해 존재하기도 +합니다. +.PP +개별 필터 체인은 두가지 방식으로 지정할 수 있습니다. \fB\-\-filters=\fP\fI<필터>\fP와 +\fB\-\-filters1=\fP\fI<필터>\fP \&...\& \fB\-\-filters9=\fP\fI<필터>\fP 옵션으로 +liblzma 필터 문자열 문법에 따라 한가지 옵션을 필터 체인 전체를 지정할 수 있습니다. 대신, 하나 이상의 개별 필터 옵션을 +원하는 필터 체인 순서대로 지정할 수도 있습니다. 이 말인 즉슨, 개별 필터 옵션의 순서가 중요하단 뜻입니다! 원시 스트림을 디코딩할 +때(\fB\-\-format=raw\fP), 압축했을 때 지정했던 필터와 같은 순서로 필터 체인을 지정해야 합니다. 전체 체인 +옵션(\fB\-\-filters=\fP\fI<필터>\fP) 보다 우선 지정한 개별 필터 또는 사전 설정 옵션은 까먹을 수도 있습니다. +전체 체인 옵션 다음에 개별 필터를 지정할 경우 필터 체인의 동작을 무효로 합니다. +.PP +필터는 쉼표로 구분하는 필터별 \fI<옵션>\fP이 있습니다. \fI<옵션>\fP에 추가로 입력한 쉼표는 +무시합니다. 모든 옵션 값에는 기본값이 있어, 값을 바꾸려면 지정해야합니다. +.PP +전체 필터 체인과 \fI<옵션>\fP을 보려면 \fBxz \-vv\fP (\fB\-\-verbose\fP 두 번)명령을 사용하십시오. 이 +명령은 사전 설정이 사용하는 필터 체인 옵션도 볼 수 있습니다. +.TP +\fB\-\-filters=\fP\fI<필터>\fP +전체 필터 체인 또는 사전 설정을 단일 옵션으로 지정합니다. 각 필터는 공백 문자 또는 대시 문자 두번 입력(\fB\-\-\fP)으로 +구분합니다. 셸 명령행에서 \fI필터\fP는 따옴표로 감싸서 단일 옵션으로 해석하도록 해야 합니다. \fI옵션\fP을 표기하려면 \fB:\fP 또는 +\fB=\fP을 활용하십시오. 사전 설정 앞에 \fB\-\fP를 붙일 수 있고 0개 또는 하나 이상의 플래그를 붙일 수 있습니다. 유일하게 +지원하는 플래그는 \fB\-\-extreme\fP과 동일한 \fBe\fP입니다. +.TP +\fB\-\-filters1\fP=\fI<필터>\fP ... \fB\-\-filters9\fP=\fI<필터>\fP +\fB\-\-block\-list\fP와 사용할 수 있는 추가 필터 체인을 최대 9개까지 지정합니다. +.IP "" +예를 들어 텍스트 파일과 실행 파일의 아카이브를 압축할 때 실행 부분에 BCJ 필터 체인을 사용하고 텍스트 부분은 LZMA2 필터를 +사용할 수 있습니다. +.TP +\fB\-\-filters\-help\fP +\fB\-\-filters\fP와 \fB\-\-filters1=\fP\fI<필터>\fP \&...\& +\fB\-\-filters9=\fP\fI<필터>\fP 옵션의 사전 설정 필터와 개별 설정 필터 체인을 지정하는 방법을 설명하는 도움말 +메시지를 출력하고 완전히 빠져나갑니다. +.TP +\fB\-\-lzma1\fP[\fB=\fP\fI<옵션>\fP] +.PD 0 +.TP +\fB\-\-lzma2\fP[\fB=\fP\fI<옵션>\fP] +.PD +LZMA1 또는 LZMA2 필터를 필터 체인에 추가합니다. 이 필터는 필터 체인의 마지막 요소로만 사용할 수 있습니다. +.IP "" +LZMA1은 고전 필터로, LZMA1만 지원하는 고전 \fB.lzma\fP 파일 형식에서만 지원합니다. LZMA2는 LZMA1의 업데이트 +버전으로 LZMA1의 실질적 문제를 해결했습니다. \fB.xz\fP 형식은 LZMA2 필터를 사용하며 LZMA1 필터는 전적으로 지원하지 +않습니다. 압축 속도와 압축율은 LZMA1과 LZMA2가 실질적으로 동일합니다. +.IP "" +LZMA1과 LZMA2는 동일한 \fI<옵션>\fP 집합을 공유합니다: +.RS +.TP +\fBpreset=\fP\fI<사전설정>\fP +LZMA1 또는 LZMA2의 모든 \fI<옵션>\fP을 \fI<사전설정>\fP으로 +초기화합니다. \fI<사전설정>\fP 값은 정수 값으로 이루어져 있으며, 사전 설정에 변형을 줄 떄 단일 문자가 따라올 수도 +있습니다. 정수 값은 \fB0\fP에서 \fB9\fP 까지이며, 명령행 옵션에서 \fB\-0\fP \&...\& \fB\-9\fP로 대응합니다. 변형 옵션으로 +지원하는 문자는 현재 \fBe\fP 뿐이며, \fB\-\-extreme\fP에 대응합니다. \fI<사전설정>\fP 값을 지정하지 않으면, +LZMA1 또는 LZMA2 기본값을 사전 설정 \fB6\fP에서 가져온 \fI<옵션>\fP으로 취합니다. +.TP +\fBdict=\fP\fI<크기>\fP +딕셔너리(기록 버퍼) \fI<크기>\fP는 최근 처리한 비압축 데이터를 바이트 단위로 메모리에 얼마나 유지하는지 나타냅니다. +알고리즘은 비압축 데이터상 바이트 시퀀스(일치 항목) 반복 탐색을 시도하며, 해당 부분을 딕셔너리의 현재 참조로 치환합니다. 딕셔너리가 +크면 일치하는 항목을 찾을 기회가 더 많아집니다. 따라서, 딕셔너리 \fI<크기>\fP를 더욱 크게 설정하면 압축율을 증가할 +수는 있지만, 압축하지 않은 파일보다 딕셔너리가 크면 메모리 낭비율이 올라갑니다. +.IP "" +보통 딕셔너리 \fI<크기>\fP는 64KiB 에서 64MiB 정도 됩니다. 최소 4KiB 입니다. 압축시 최대 용량은 현재 +1.5GiB(1536MiB)로 나타납니다. 압축 해제 프로그램에도 4GiB 미만으로 딕셔너리 크기를 이미 지원하며 4GiB 라는 수치는 +LZMA1과 LZMA2 스트림 형식의 최대값입니다. +.IP "" +딕셔너리 \fI<크기>\fP와 검색기(\fImf\fP)는 LZMA1 또는 LZMA 인코더의 메모리 사용량을 함께 결정합니다. +동일한(또는 더 큰) 딕셔너리 \fI<크기>\fP가 데이터를 압축했을 때만큼 압축 해제할 떄 필요하기 때문에, 디코더의 메모리 +사용량은 압축할 때의 딕셔너리 크기로 결정합니다. \fB.xz\fP 헤더에는 딕셔너리 \fI<크기>\fP를 2^\fIn\fP 또는 +2^\fIn\fP + 2^(\fIn\fP\-1) 으로 저장하기에, 이 \fI<크기>\fP 값을 압축할 때 선호하는 편입니다. 다른 +\fI<크기>\fP 값은 \fB.xz\fP 헤더에 저장할 때 반올림합니다. +.TP +\fBlc=\fP\fIlc\fP +리터럴 컨텍스트 비트 수를 지정합니다. 최소 값은 0이고 최대 값은 4입니다. 기본 값은 3입니다. 추가로, \fIlc\fP 값과 +\fIlp\fP 값의 합은 4를 넘으면 안됩니다. +.IP "" +조건이 일치하지 않아 인코딩할 수 없는 모든 바이트는 리터럴로 인코딩합니다. 이 말인 즉슨, 간단히 8비트 바이트로서의 리터럴을 한번에 +하나씩 인코딩합니다. +.IP "" +리터럴 코딩을 할 때 이전 비압축 바이트와 다음 바이트와의 관련성을 가진 가장 많은 \fIlc\fP 비트 수를 가정합니다. 예를 들면, 보통 +영문 문장의 경우 대문자 다음에 종종 소문자가 오고, 소문자 다음에 다른 소문자가 따라옵니다. US\-ASCII 문자 세트에서는 가장 긴 +비트 3개는 대문자에 대해 010, 소문자에 대해 011입니다. \fIlc\fP 값이 최소한 3이면, 리터럴 코딩시 비압축 데이터에 대해 +이런 속성의 장점을 취할 수 있습니다. +.IP "" +(어쨌거나) 기본값 (3)은 보통 적절합니다. 최대 압축을 원한다면 \fBlc=4\fP 값을 시험해보십시오. 때로는 약간 도움이 되기도 +하겠지만, 오히려 결과가 안좋을 수도 있습니다. 결과가 엄한 방향으로 간다면, \fBlc=2\fP 값도 시험해보십시오. +.TP +\fBlp=\fP\fIlp\fP +리터럴 위치 비트 수를 지정하빈다. 최소 값은 0이고 최대 값은 4입니다. 기본 값은 0입니다. +.IP "" +\fIlp\fP 값은 리터럴 인코딩 진행시 비압축 데이터 정렬 방식 고려에 영향을 줍니다. 정렬 방식에 대한 자세한 정보는 하단 \fIpb\fP를 +참고하십시오. +.TP +\fBpb=\fP\fIpb\fP +위치 비트 수를 지정합니다. 최소 값은 0이며 최대 값은 4입니다. 기본값은 2입니다. +.IP "" +\fIpb\fP 값은 보통 압축하지 않은 데이터에 어떤 정렬 방식을 고려하느냐에 영향을 줍니다. 기본적으로 4바이트 +정렬(2^\fIpb\fP=2^2=4)을 의미하는데, 이보다 더 나은 추측 값이 없어서 종종 최적의 선택으로 간주합니다. +.IP "" +정렬 상태를 알지 못할 경우, \fIpb\fP 설정 값이 파일 크기를 조금 줄일 수 있습니다. 예를 들면, 텍스트 파일이 단일 바이트 단위로 +정돈된 상태(US\-ASCII, ISO\-8859\-*, UTF\-8)라면, \fBpb=0\fP 설정 값으로 압축율을 조금 개선할 수 있습니다. +UTF\-16 텍스트의 경우, \fBpb=1\fP 설정 값이 좋은 선택입니다. 정렬 바이트가 3 바이트 같은 홀수 바이트일 경우, +\fBpb=0\fP 설정 값이 최적의 선택일지도 모릅니다. +.IP "" +가정 정렬을 \fIpb\fP 값과 \fIlp\fP 값으로 조정하긴 하지만, LZMA1과 LZMA2는 여전히 16바이트 정렬 방식으로 선호합니다. +LZMA1 또는 LZMA2로 종종 압축하는 파일 형식이라고 하면 고려해볼만 합니다. +.TP +\fBmf=\fP\fImf\fP +일치 검색기는 인코더 속도, 메모리 사용량, 압축율에 주된 영향을 줍니다. 보통 해시 체인 검색기는 이진 트리 검색기보다 빠르긴 +합니다. 기본 값은 \fI<사전설정>\fP에 따라 다릅니다. 0은 \fBhc3\fP을, 1\(en3은 \fBhc4\fP를, 나머지는 +\fBbt4\fP를 활용합니다. +.IP "" +다음 검색 필터를 지원합니다. 메모리 사용 공식은 \fIdict\fP 값이 2의 승수일 경우 실제에 가까운 근사치입니다. +.RS +.TP +\fBhc3\fP +2바이트, 3바이트 해싱 체인 +.br +\fInice\fP 최소값: 3 +.br +메모리 사용: +.br +\fIdict\fP * 7.5 (조건: \fIdict\fP <= 16 MiB); +.br +\fIdict\fP * 5.5 + 64 MiB (조건: \fIdict\fP > 16 MiB) +.TP +\fBhc4\fP +2바이트, 3바이트, 4바이트 해싱 체인 +.br +\fInice\fP 최소값: 4 +.br +메모리 사용: +.br +\fIdict\fP * 7.5 (조건: \fIdict\fP <= 32 MiB); +.br +\fIdict\fP * 6.5 (조건: \fIdict\fP > 32 MiB) +.TP +\fBbt2\fP +2바이트 해싱 이진 트리 +.br +\fInice\fP 최소값: 2 +.br +메모리 사용: \fIdict\fP * 9.5 +.TP +\fBbt3\fP +2바이트, 3바이트 해싱 이진트리 +.br +\fInice\fP 최소값: 3 +.br +메모리 사용: +.br +\fIdict\fP * 11.5 (조건: \fIdict\fP <= 16 MiB); +.br +\fIdict\fP * 9.5 + 64 MiB (조건: \fIdict\fP > 16 MiB) +.TP +\fBbt4\fP +2바이트, 3바이트, 4바이트 해싱 이진 트리 +.br +\fInice\fP 최소값: 4 +.br +메모리 사용: +.br +\fIdict\fP * 11.5 (조건: \fIdict\fP <= 32 MiB); +.br +\fIdict\fP * 10.5 (조건: \fIdict\fP > 32 MiB) +.RE +.TP +\fBmode=\fP\fI<모드>\fP +압축 \fI<모드>\fP 값은 일치 검색기에서 생산하는 데이터 분석 방식을 지정합니다. 지원하는 \fI<모드>\fP는 +\fBfast\fP와 \fBnormal\fP 입니다. 기본값은 \fI<사전설정>\fP값 0\(en3에 대해 \fBfast\fP, +\fI<사전설정>\fP값 4\(en9에 대해 \fBnormal\fP입니다. +.IP "" +보통 \fBfast\fP는 해시 체인 검색기에서 사용하며 \fBnormal\fP은 이진 트리 검색기에서 사용합니다. 이 동작은 또한 +\fI<사전설정>\fP 값이 할 일이기도 합니다. +.TP +\fBnice=\fP\fInice\fP +일치하는 nice 길이를 지정합니다. 최소한 \fInice\fP 바이트 정도 일치하면, 알고리즘이 가능한 최선의 부분을 찾는 동작을 +멈춥니다. +.IP "" +\fInice\fP 값은 2\(en273 바이트입니다. 값이 클 수록 속도 면에서는 손해를 보겠지만 압축율은 더욱 올라갑니다. 기본 값은 +\fI<사전설정>\fP값에 따라 다릅니다. +.TP +\fBdepth=\fP\fI<깊이>\fP +일치 검색기에서의 최대 검색 깊이를 지정합니다. 기본값은 특별한 값 0으로 지정하며, 이 값으로 압축 프로그램이 \fImf\fP 와 +\fInice\fP간 적절한 \fI<깊이>\fP 값을 결정합니다. +.IP "" +적절한 해시 체인 \fI<깊이>\fP 값은 이진 트리에서 4\(en100 그리고 16\(en1000 입니다. 상당히 큰 값을 +\fI<깊이>\fP 값으로 사용하면 일부 파일에 대해 인코더가 매우 느리게 동작할 수가 있습니다. 압축 시간이 너무 오래걸려서 +동작을 중간에 끊을 준비가 되지 않은 이상 \fI<깊이>\fP 설정 값은 1000을 넘지 않게하십시오. +.RE +.IP "" +원시 스트림(\fB\-\-format=raw\fP)을 디코딩할 때, LZMA2는 딕셔너리 \fI<크기>\fP만 필요합니다. LZMA1는 +\fIlc\fP, \fIlp\fP, \fIpb\fP 값이 모두 필요합니다. +.TP +\fB\-\-x86\fP[\fB=\fP\fI<옵션>\fP] +.PD 0 +.TP +\fB\-\-arm\fP[\fB=\fP\fI<옵션>\fP] +.TP +\fB\-\-armthumb\fP[\fB=\fP\fI<옵션>\fP] +.TP +\fB\-\-arm64\fP[\fB=\fP\fI<옵션>\fP] +.TP +\fB\-\-powerpc\fP[\fB=\fP\fI<옵션>\fP] +.TP +\fB\-\-ia64\fP[\fB=\fP\fI<옵션>\fP] +.TP +\fB\-\-sparc\fP[\fB=\fP\fI<옵션>\fP] +.PD +브랜치/호출/점프(BCJ) 필터를 필터 체인에 추가합니다. 이 필터는 필터 체인의 비종결 필터로만 사용할 수 있습니다. +.IP "" +BCJ 필터는 머신 코드의 상대 주소를 절대 주소로 변환합니다. 데이터 크기를 바꾸지는 않지만 LZMA2에서 \fB.xz\fP 파일을 +0\(en15% 정도 줄여주게 하는 중복성이 늘어납니다. BCJ 필터는 언제든 뒤집을 수 있어, 데이터에 적절하지 않은 BCJ 필터 +형식을 활용하면, 그냥 가만히 두면 압축율이 약간 떨어지게 한다 하더라도, 데이터를 잃을 수가 있습니다. BCJ 필터는 굉장히 빠르며 +메모리 공간을 적게 활용합니다. +.IP "" +이 BCJ 필터에는 압축율 관련 몇가지 문제가 있습니다: +.RS +.IP \(bu 3 +실행 코드가 들어있는 몇가지 파일 형식(예: 목적 파일, 정적 라이브러리, 리눅스 커널 모듈)의 경우 필터 값으로 채운 명령 주소가 +있습니다. 여기 BCJ 필터의 경우 파일의 압축율을 떨어뜨리는 주소 변환을 수행합니다. +.IP \(bu 3 +BCJ 필터를 아카이브에 적용하면, BCJ 필터를 사용하지 않았을 때보다 압축율이 떨어질 수가 있습니다. 예를 들면, 유사하거나 동일한 +실행 파일 여럿이 있으면 필터를 사용하여 파일을 덜 비슷하게 만들어 압축율이 떨어지게 합니다. 동일한 아카이브 파일에서 비 실행 파일의 +내용에 대해서도 비슷한 일이 벌어질 수 있습니다. 실제로 하나는 BCJ 필터를 걸고 하나는 제외하여 각 경우에 대해 어떤 경우가 결과가 +우수한 지 살펴보겠습니다. +.RE +.IP "" +다른 명령 세트는 다른 정렬 상태에 놓여있습니다. 실행 파일은 필터가 제대로 동작하게 하려면 입력 데이터에 있는 이 값의 배수로 +정돈해야합니다. +.RS +.RS +.PP +.TS +tab(;); +l n l +l n l. +필터;정렬;참고 +x86;1;32\-bit 또는 64\-bit x86 +ARM;4; +ARM\-Thumb;2; +ARM64;4;4096 바이트 정렬이 가장 좋습니다 +PowerPC;4;빅엔디안 전용 +IA\-64;16;Itanium +SPARC;4; +RISC\-V;2; +.TE +.RE +.RE +.IP "" +BCJ 필터를 사용한 데이터는 LZMA2로 보통 압축하기 때문에 LZMA2 옵션을 선택한 BCJ 필터의 정렬기준에 맞추도록 설정하면 +압축율을 좀 더 개선할 수 있습니다. 예를 들면: +.RS +.IP \(bu 3 +IA\-64 필터는 16\-바이트 정렬 방식으로 동작하기에 LZMA2 필터에 \fBpb=4,lp=4,lc=0\fP 옵션(2^4=16)을 주는게 +좋습니다. +.IP \(bu 3 +RISC\-V 코드에는 16\-비트 압축 명령(C 확장) 적재 여부에 따라 2\-바이트 또는 4\-바이트 정렬 방식을 채택합니다. 16\-비트 +명령을 사용하면, \fBpb=2,lp=1,lc=3\fP 또는 \fBpb=1,lp=1,lc=3\fP 옵션 값 사용이 바람직합니다. 16\-비트 명령이 +없다면, \fBpb=2,lp=2,lc=2\fP 옵션 값을 활용하는게 좋습니다. "RVC"가 "Flags"행에 나타나는지 확인할 때 +\fBreadelf \-h\fP 명령을 사용할 수 있습니다. +.IP \(bu 3 +ARM64는 항상 4\-바이트 정렬 방식을 택하기에 \fBpb=2,lp=2,lc=2\fP 옵션 값을 활용하는게 좋습니다. +.IP \(bu 3 +x86 필터는 예외입니다. x86 실행 파일을 압축할 경우에는 보통 LZMA2 기본 옵션 값(\fBpb=2,lp=0,lc=3\fP)을 그대로 +사용하는게 좋습니다. +.RE +.IP "" +모든 BCJ 필터는 동일한 \fI옵션\fP을 지원합니다: +.RS +.TP +\fBstart=\fP\fI<오프셋>\fP +상대 주소와 절대 주소를 변환할 때 사용할 시작 \fI<오프셋>\fP을 지정합니다. \fI<오프셋>\fP에는 필터 +정렬 배수여야 합니다(상단 테이블 참조). 기본값은 0입니다. 실제로 기본값이 낫습니다. 개별 \fI<오프셋>\fP 지정 +값은 거의 쓸모가 없습니다. +.RE +.TP +\fB\-\-delta\fP[\fB=\fP\fI<옵션>\fP] +필터 체인에 델타 필터를 추가합니다. 델타 필터는 필터 체인에서 마지막에 지정하지 않은 필터로만 사용할 수 있습니다. +.IP "" +현재로서는 바이트 단위 단순 델타계산 결과만 보여줍니다. 예를 들면, 압축하지 않은 비트맵 그림 또는 압축하지 않은 PCM 오디오를 +압축할 때 쓸만합니다. 그러나 특별한 목적으로 활용하는 알고리즘은 델타 + LZMA2 보다 더 나은 결과를 가져다 주기도 합니다. +이는 특히 오디오의 경우 맞는 이야기인데, \fBflac\fP(1)의 경우 더 빠르고 우수한 압축율을 보여줍니다. +.IP "" +지원 \fI옵션\fP: +.RS +.TP +\fBdist=\fP\fI<차이>\fP +바이트 단위 델터 계산 \fI<차이>\fP를 지정합니다. \fI<차이>\fP값은 1\(en256 이어야합니다. 기본 +값은 1입니다. +.IP "" +예를 들어, \fBdist=2\fP 옵션과 A1 B1 A2 B3 A3 B5 A4 B7 입력 값을 주면, 출력 값은 A1 B1 01 02 01 +02 01 02 입니다. +.RE +. +.SS "기타 옵션" +.TP +\fB\-q\fP, \fB\-\-quiet\fP +경고 및 알림을 끕니다. 두 번 지정하면 오류 메시지 표시도 끕니다. 이 옵션은 종료 상태에 영향을 주지 않습니다. 경고 표시를 +끄더라도, 종료 상태에서는 여전히 경고가 나타났음을 알려줍니다. +.TP +\fB\-v\fP, \fB\-\-verbose\fP +출력 내용이 많아집니다. 표준 오류를 터미널에 연결했다면 \fBxz\fP는 진행 표시를 나타냅니다. \fB\-\-verbose\fP를 두번 지정하면 +더 많은 내용을 표시합니다. +.IP "" +진행 표시에서는 다음 정보를 나타냅니다: +.RS +.IP \(bu 3 +입력 파일의 크기를 알고 있을 경우 완료 백분율. 파이프 처리시에는 백분율을 나타낼 수 없습니다. +.IP \(bu 3 +산출 압축 데이터 용량 (압축) 또는 소모 공간 용량 (압축 해제). +.IP \(bu 3 +비압축 데이터 소모 용량 (압축) 또는 산출 용량 (압축 해제). +.IP \(bu 3 +압축 데이터 산출 용량을 비압축 데이터 처리 용량으로 나누어 계산한 압축율. +.IP \(bu 3 +압축 또는 압축 해제 속도. 초당 비압축 데이터 소모량(압축) 또는 산출 용량(압축 해제)를 측정한 값입니다. \fBxz\fP에서 파일 +처리를 시작한 몇 초 후 나타납니다. +.IP \(bu 3 +경과 시간 형식은 M:SS 또는 H:MM:SS 입니다. +.IP \(bu 3 +추산 여분 시간은 \fBxz\fP가 파일을 처리하기 시작한 이후 입력 파일의 크기를 알고 몇 초가 지난 후에야 보여줍니다. 시간은 콜론 +문자를 사용하지 않고 덜 자세한 형식으로, 예를 들면, 2분 30초 와 같은 형식으로 보여줍니다. +.RE +.IP "" +표준 오류가 터미널이 아니라면 \fB\-\-verbose\fP는 \fBxz\fP에서 파일 이름, 압축 크기, 압축 해제 용량, 압축율, 그리고 +가능하다면 파일을 압축 또는 압축 해제한 후 표준 오류로 속도와 걸린 시간을 나타내도록 합니다. 속도와 걸린 시간 정보는 동작을 +처리하는데 최소한 몇초 정도 소요했을 경우에만 들어갑니다. 동작이 끝나지 않았다면, 이를테면 사용자의 중단 요청이 있었을 경우 입력 +파일의 크기를 알고 있을 때 압축 백분율 정보도 들어갑니다. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +경고로 알릴 만한 상황을 만났다 하더라도 종료 상태 2번을 설정하지 않습니다. 이 옵션은 출력 수준에 영향을 주지 않기 때문에, +\fB\-\-quiet\fP 옵션과 \fB\-\-no\-warn\fP 옵션을 경고 표시를 막고 종료 상태를 바꾸지 않을 목적으로 사용합니다. +.TP +\fB\-\-robot\fP +머신에서 해석할 형식으로 메시지를 나타냅니다. liblzma 대신 \fBxz\fP를 활용하려는 다양상 스크립트로서의 프론트엔드를 쉽게 +작성하도록 하기 위함입니다. 이 옵션을 지정한 출력은 \fBxz\fP 릴리스가 어떻게 되든 안정 버전이란 의미입니다. 자세한 내용은 +\fB로봇 모드\fP 섹션을 참고하십시오. +.TP +\fB\-\-info\-memory\fP +압축 및 압축 해제시 물리 메모리 용량 (RAM), \fBxz\fP에서 파악하는 프로세서 스레드 갯수, 메모리 사용량 한계를 파악하기 쉬운 +형식으로 나타내고 무사히 나갑니다. +.TP +\fB\-h\fP, \fB\-\-help\fP +보통 사용하는 옵션을 설명하는 도움말 메시지를 출력한 후, 완전히 빠져나갑니다. +.TP +\fB\-H\fP, \fB\-\-long\-help\fP +\fBxz\fP의 모든 기능을 설명하는 도움말 메시지를 출력한 후, 완전히 빠져나갑니다 +.TP +\fB\-V\fP, \fB\-\-version\fP +\fBxz\fP와 liblzma 버전 번호를 가독 형식으로 출력합니다. 기계 해석 가능 형식을 가져오려면 \fB\-\-version\fP 앞에 +\fB\-\-robot\fP을 지정하십시오. +. +.SH "로봇 모드" +로봇 모드는 \fB\-\-robot\fP 옵션으로 동작합니다. \fBxz\fP 출력을 다른 프로그램에서 해석하기 쉽게 해줍니다. 현재로서는 +\fB\-\-robot\fP 옵션은 \fB\-\-list\fP, \fB\-\-filters\-help\fP, \fB\-\-info\-memory\fP, \fB\-\-version\fP +옵션하고만 사용할 수 있습니다. 앞으로는 압축 및 압축 해제 동작에 대해서도 지원합니다. +. +.SS "목록 모드" +\fBxz \-\-robot \-\-list\fP 명령은 탭으로 구분한 출력 형태를 활용합니다. 모든 행의 첫번째 컬럼에는 해당 행에서 찾을 수 +있는 정보의 형식을 나타냅니다: +.TP +\fB이름\fP +이 행은 항상 파일 목록 시작 부분의 첫번째 줄에 있습니다. 이 행의 두번째 컬럼에 파일 이름이 들어있습니다. +.TP +\fB파일\fP +이 행에는 \fB.xz\fP 파일의 전반적인 정보가 들어있습니다. 이 행은 항상 \fB이름\fP 행 다음에 있습니다. +.TP +\fB스트림\fP +이 행 형식은 \fB\-\-verbose\fP 옵션을 지정했을 때만 사용합니다. \fB.xz\fP 파일의 \fB스트림\fP 행 수만큼 나타납니다. +.TP +\fB블록\fP +이 행 형식은 \fB\-\-verbose\fP 옵션을 지정했을 때만 사용합니다. \fB.xz\fP 파일의 블록 수만큼 \fB블록\fP 행이 나타납니다. +\fB블록\fP 행은 모든 \fB스트림\fP 행 다음에 나타납니다. 다른 형식의 행이 끼어들지는 않습니다. +.TP +\fB요약\fP +이 행 형식은 \fB\-\-verbose\fP 옵션을 두번 지정했을 때만 사용합니다. 이 행은 모든 \fB블록\fP 행 다음에 출력합니다. +\fB파일\fP 행과 비슷하게, \fB요약\fP 행에는 \fB.xz\fP 파일의 전반적인 정보가 담겨있습니다. +.TP +\fB총계\fP +이 행은 목록 출력의 가장 마지막에 항상 나타납니다. 총 갯수와 크기를 나타냅니다. +.PP +\fB파일\fP 행 컬럼: +.PD 0 +.RS +.IP 2. 4 +파일 스트림 갯수 +.IP 3. 4 +스트림의 블록 총 갯수 +.IP 4. 4 +파일 압축 크기 +.IP 5. 4 +파일 압축 해제 크기 +.IP 6. 4 +예를 들면, \fB0.123\fP과 같은 압축율 입니다. 비율이 9.999라면, 대시 문자 3개 (\fB\-\-\-\fP)를 비율 값 대신 나타냅니다. +.IP 7. 4 +쉼표로 구분한 무결성 검사 이름 목록입니다. \fBNone\fP, \fBCRC32\fP, \fBCRC64\fP, \fBSHA\-256\fP 문자열을 알려진 +검사 형식으로 사용합니다. 알 수 없는 검사 형식에 대해서는 \fBUnknown\-\fP\fIN\fP을 사용하며, 여기서 \fIN\fP은 (한 두자리) +정수형 숫자값으로 이루어진 검사 ID 입니다. +.IP 8. 4 +파일의 스트림 패딩 총 길이 +.RE +.PD +.PP +\fB스트림\fP 행 컬럼: +.PD 0 +.RS +.IP 2. 4 +스트림 번호 (첫 스트림은 1번) +.IP 3. 4 +스트림의 블록 총 갯수 +.IP 4. 4 +압축 시작 오프셋 +.IP 5. 4 +비압축 시작 오프셋 +.IP 6. 4 +압축 크기 (스트림 패딩 미포함) +.IP 7. 4 +압축 해제 용량 +.IP 8. 4 +압축율 +.IP 9. 4 +무결성 검사 이름 +.IP 10. 4 +스트림 패딩 길이 +.RE +.PD +.PP +\fB블록\fP 행 컬럼: +.PD 0 +.RS +.IP 2. 4 +이 블록이 들어간 스트림 갯수 +.IP 3. 4 +스트림 시작 부분의 블록 번호 (첫번째 블록은 1번) +.IP 4. 4 +파일 시작 부분의 블록 번호 +.IP 5. 4 +파일 시작 부분의 압축 시작 오프셋 +.IP 6. 4 +파일 시작 부분의 비압축 시작 오프셋 +.IP 7. 4 +총 블록 압축 크기 (헤더 포함) +.IP 8. 4 +압축 해제 용량 +.IP 9. 4 +압축율 +.IP 10. 4 +무결성 검사 이름 +.RE +.PD +.PP +\fB\-\-verbose\fP를 두 번 지정하면, 추가 컬럼을 \fB블록\fP 행에 넣습니다. \fB\-\-verbose\fP 단일 지정시에는 이 정보를 볼 +때 탐색을 여러번 수행해야 하기 때문에 실행 과정이 느려질 수 있어서 나타내지 않습니다: +.PD 0 +.RS +.IP 11. 4 +16진수 무결성 검사값 +.IP 12. 4 +블록 헤더 크기 +.IP 13. 4 +블록 플래그: \fBc\fP는 압축 크기가 현재 값임을 나타내고, \fBu\fP는 압축 전 원본 크기가 현재 값임을 나타냅니다. 플래그를 설정하지 +않았다면, 문자열 길이를 유지할 목적으로 대시 \fB\-\fP 를 대신 나타냅니다. 새 플래그는 나중에 문자열 끝 부분에 추가할 예정입니다. +.IP 14. 4 +블록에 압축 해서 넣은 데이터의 실제 츠기 (블록 헤더, 블록 패딩, 검사 필드 제외) +.IP 15. 4 +이 \fBxz\fP 버전에서 이 블록의 압축을 해제할 때 필요한 (바이트 단위) 메모리 용량 +.IP 16. 4 +필터 체인. 대부분 사용하는 옵션은 압축 해제시 필요한 옵션만을 \fB.xz\fP 헤더에 저장하기 때문에 압축 시간에 알 수 없습니다. +.RE +.PD +.PP +\fB요약\fP 행 컬럼: +.PD 0 +.RS +.IP 2. 4 +이 \fBxz\fP 버전에서 이 파일 압축을 해제할 때 필요한 (바이트 단위) 메모리 용량 +.IP 3. 4 +모든 블록 헤더에 압축 크기와 압축 전 원본 크기 정보가 들어갔는지 여부를 나타내는 \fByes\fP 또는 \fBno\fP 값 +.PP +\fBxz\fP \fI5.1.2alpha\fP \fI부터:\fP +.IP 4. 4 +파일 압축 해제시 필요한 최소 \fBxz\fP 버전 +.RE +.PD +.PP +\fB총계\fP 행 컬럼: +.PD 0 +.RS +.IP 2. 4 +스트림 갯수 +.IP 3. 4 +블록 갯수 +.IP 4. 4 +압축 크기 +.IP 5. 4 +압축 해제 용량 +.IP 6. 4 +평균 압축율 +.IP 7. 4 +파일에 들어 있어 쉼표로 구분한 무결성 검사 이름 목록 +.IP 8. 4 +스트림 패딩 길이 +.IP 9. 4 +파일 갯수. \fB파일\fP 행의 컬럼 순서를 따라갑니다. +.PD +.RE +.PP +\fB\-\-verbose\fP 옵션을 두 번 지정하면, \fB총계\fP 행에 추가 컬럼이 들어갑니다: +.PD 0 +.RS +.IP 10. 4 +이 \fBxz\fP 버전에서 파일 압축을 해제할 떄 필요한 (바이트 단위) 최대 메모리 사용량 +.IP 11. 4 +모든 블록 헤더에 압축 크기와 압축 전 원본 크기 정보가 들어갔는지 여부를 나타내는 \fByes\fP 또는 \fBno\fP 값 +.PP +\fBxz\fP \fI5.1.2alpha\fP \fI부터:\fP +.IP 12. 4 +파일 압축 해제시 필요한 최소 \fBxz\fP 버전 +.RE +.PD +.PP +차후 버전에서는 새 행 형식을 추가하고 기존 행 형식에 추가할 수 있는 새 컬럼을 넣기 까지는 알 수 있겠지만, 기존 컬럼은 바꾸지 않을 +예정입니다. +. +.SS "필터 도움말" +\fBxz \-\-robot \-\-filters\-help\fP 는 다음 형식의 지원 필터 목록을 출력합니다: +.PP +\fI<필터>\fP\fB:\fP\fI<옵션>\fP\fB=<\fP\fI값\fP\fB>,\fP\fI<옵션>\fP\fB=<\fP\fI값\fP\fB>\fP... +.TP +\fI<필터>\fP +필터 이름 +.TP +\fI<옵션>\fP +필터별 옵션 이름 +.TP +\fI<값>\fP +숫자 \fI값\fP 범위는 \fB<\fP\fI최소\fP\fB\-\fP\fI최대\fP\fB>\fP입니다. 문자열 \fI값\fP은 \fB< >\fP 범위 +내에서 선택하며 \fB|\fP 문자로 구분합니다. +.PP +각 필터는 한 줄에 하나씩 출력합니다. +. +.SS "메모리 제한 정보" +\fBxz \-\-robot \-\-info\-memory\fP 명령은 탭으로 나뉜 여러 컬럼을 단일 행으로 나타냅니다: +.IP 1. 4 +물리 메모리(RAM)의 바이트 단위 총량. +.IP 2. 4 +압축 진행시 바이트 단위 메모리 사용 한계값 (\fB\-\-memlimit\-compress\fP). 특수 값 \fB0\fP은 단일\-스레드 모드에서 +제한을 두지 않는 기본 설정임을 나타냅니다. +.IP 3. 4 +압축 해제시 바이트 단위 메모리 사용 한계값 (\fB\-\-memlimit\-decompress\fP). 특수 값 \fB0\fP은 단일\-스레드 모드에서 +제한을 두지 않는 기본 설정임을 나타냅니다. +.IP 4. 4 +\fBxz\fP 5.3.4alpha 이후: 다중\-스레드 기반 압축 해제시 바이트 단위 메모리 +사용량(\fB\-\-memlimit\-mt\-decompress\fP). 분명하게 제한을 걸어두지 않았을 경우 5번째 컬럼에 나타난 시스템별 +기본값을 사용하기 때문에 0 값을 지정하면 안됩니다. 또한 \fB\-\-memlimit\-mt\-decompress\fP로 세번째 컬럼 값보다 더 +크게 지정을 한다 할지라도 이 값이 세번째 컬럼 값보다 크면 안됩니다. +.IP 5. 4 +\fBxz\fP 5.3.4alpha 이후: A system\-specific default memory usage limit that is +used to limit the number of threads when compressing with an automatic +number of threads (\fB\-\-threads=0\fP) and no memory usage limit has been +specified (\fB\-\-memlimit\-compress\fP). This is also used as the default value +for \fB\-\-memlimit\-mt\-decompress\fP. +.IP 6. 4 +\fBxz\fP 5.3.4alpha 이후: Number of available processor threads. +.PP +차후, \fBxz \-\-robot \-\-info\-memory\fP 출력에는 더 많은 내용이 들어가지만, 한 줄 이상은 넘어가지 않습니다. +. +.SS 버전 +\fBxz \-\-robot \-\-version\fP 은 \fBxz\fP 와 liblzma의 버전 번호를 다음 형식으로 나타냅니다: +.PP +\fBXZ_VERSION=\fP\fIXYYYZZZS\fP +.br +\fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP +.TP +\fIX\fP +주 버전. +.TP +\fIYYY\fP +부 버전. 짝수가 안정 버전입니다. 홀수는 알파 또는 베타 버전입니다. +.TP +\fIZZZ\fP +안정 릴리스의 패치 수준 또는 개발 릴리스의 횟수입니다. +.TP +\fIS\fP +안정도. 0은 알파 버전, 1은 베타 버전을 나타내며, 2는 안정 버전을 나타냅니다. \fIS\fP는 \fIYYY\fP 값이 짝수라 해도 항상 +2여야 합니다. +.PP +\fBxz\fP 명령과 liblzma이 동일한 XZ 유틸리티 릴리스에서 나왔다면 두 행의 \fIXYYYZZZS\fP 값은 같습니다. +.PP +예제: 4.999.9beta는 \fB49990091\fP이며, 5.0.0은 \fB50000002\fP입니다. +. +.SH "종료 상태" +.TP +\fB0\fP +모든 상태 양호. +.TP +\fB1\fP +오류 발생. +.TP +\fB2\fP +눈여겨볼 경고가 나타났지만, 실제 오류는 일어나지 않음. +.PP +표준 오류에 출력하는 알림(경고 또는 오류 아님)는 종료 상태에 영향을 주지 않습니다. +. +.SH 환경 +\fBxz\fP는 빈칸으로 구분한 옵션 값 목록을 \fBXZ_DEFAULTS\fP, \fBXZ_OPT\fP 환경 변수에서 순서대로, 명령행에서 옵션을 +해석하기 전에 불러옵니다. 참고로 환경 변수에서 옵션만 해석하며, 옵션이 아닌 부분은 조용히 무시합니다. 해석은 +\fBgetopt_long\fP(3)으로 가능하며, 명령행 인자로 활용하기도 합니다. +.TP +\fBXZ_DEFAULTS\fP +사용자별, 시스템 범위 기본 옵션입니다. 보통 \fBxz\fP의 메모리 사용량 제한을 기본으로 걸어둘 경우 셸 초기화 스크립트에 +설정합니다. 셸 초기화 스크립트와 별도의 유사한 경우를 제외하고라면, 스크립트에서는 \fBXZ_DEFAULTS\fP 환경 변수를 설정하지 +말거나 설정을 해제해야합니다. +.TP +\fBXZ_OPT\fP +\fBxz\fP 명령행으로 옵션 설정 값을 직접 전달할 수 없을 경우 \fBxz\fP에 옵션을 전달하는 환경 변수입니다. 예를 들어, \fBxz\fP를 +스크립트 또는 도구에서 실행할 경우 GNU \fBtar\fP(1) 라면: +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=\-2v tar caf foo.tar.xz foo\fP +.fi +.RE +.RE +.IP "" +예를 들면, 스크립트에서 \fBXZ_OPT\fP 를 활용하여, 스크립트별로 기본 압축 옵션을 지정할 수 있습니다. 적절한 이유가 있다면 +\fBXZ_OPT\fP 옵션 값을 사용자가 바꾸는걸 추천합니다. 예를 들면, \fBsh\fP(1) 스크립트에서 다음처럼 활용할 수도 있습니다: +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=${XZ_OPT\-"\-7e"} export XZ_OPT\fP +.fi +.RE +.RE +. +.SH "LZMA 유틸리티 호환성" +\fBxz\fP의 명령행 문법은 실제로 LZMA 유틸리티 4.32.x에서 찾을 수 있는 \fBlzma\fP, \fBunlzma\fP \fBlzcat\fP의 +상위 집합입니다. 대부분의 경우 LZMA 유틸리티를 XZ 유틸리티로 기존에 작성한 스크립트를 깨지 않고도 바꿀 수 있습니다. 몇가지 +비호환성 문제 때문에 문제가 일어날 수는 있습니다. +. +.SS "압축 사전 설정 단계" +압축 수준 사전 설정의 번호 부여 방식은 \fBxz\fP와 LZMA 유틸리티가 동일하지 않습니다. 가장 중요한 차이는 다른 사전 설정에 대해 +딕셔너리 크기를 어떻게 대응했느냐 여부입니다. 딕셔너리 크기는 압축 해제시 메모리 사용량과 거의 비슷합니다. +.RS +.PP +.TS +tab(;); +c c c +c n n. +단계;xz;LZMA 유틸리티 +\-0;256 KiB;없음 +\-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 +딕셔너리 크기 차이는 압축 프로그램 메모리 사용에 영향을 주지만, LZMA 유틸리티와 XZ 유틸리티에서 사용량이 늘어나는 다른 차이점이 +있습니다: +.RS +.PP +.TS +tab(;); +c c c +c n n. +단계;xz;LZMA 유틸리티 4.32.x +\-0;3 MiB;없음 +\-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 +XZ 유틸리티의 기본 사전 설정 수준값은 \fB\-6\fP이지만 LZMA 유틸리티의 기본 사전 설정 수준값은 \fB\-7\fP입니다. 두 프로그램의 +딕셔너리 메모리 기본 사용량은 8MiB입니다. +. +.SS "스트림 vs 비스트림 .lzma 파일" +파일을 압축하지 않은 크기는 \fB.lzma\fP 헤더에 저장합니다. LZMA 유틸리티는 일반 파일을 압축할 때 압축하지 않은 파일의 크기를 +저장합니다. 이 대신 압축하지 않은 크기를 '알 수 없음' 으로 저장하고 압축 해제 프로그램이 멈춰야 할 지점에 +end\-of\-payload 마커를 사용하는 방법도 있습니다. LZMA 유틸리티는 파이프로 들어온 입력과 같이 압축하지 않은 파일의 +크기를 알 수 없을 때 이런 방식을 활용합니다. +.PP +\fBxz\fP는 \fB.lzma\fP 파일을 end\-of\-payload 마커의 유무와 관계없이 압축 해제 방식을 모두 지원하지만, \fBxz\fP로 +만든 모든 \fB.lzma\fP 파일은 end\-of\-payload 마커를 사용하며, \fB.lzma\fP 헤더에 압축하지 않은 파일 크기를 '알 수 +없음'으로 표기합니다. 이 방식은 드문 상황에서 문제를 야기할 수 있습니다. 예를 들면, 임베디드 장치의 \fB.lzma\fP 압축 해제 +프로그램은 압축을 해제했을 때 크기를 알아야 동작합니다. 이 문제를 만나면, LZMA 유틸리티 또는 LZMA SDK를 활용하여 +\&\fB.lzma\fP 파일에 압축 전 파일 크기 정보를 저장해야합니다. +. +.SS "지원하지 않는 .lzma 파일" +\&\fB.lzma\fP 형식은 \fIlc\fP 값을 8까지 받아들이며, \fIlp\fP 값은 4까지 받아들입니다. LZMA 유틸리티는 어떤 \fIlc\fP 값과 +\fIlp\fP 값을 받아들이고도 압축을 해제할 수 있지만, 파일을 만들 때는 늘 \fBlc=3\fP 값과 \fBlp=0\fP 값을 활용합니다. 다른 +\fIlc\fP 값과 \fIlp\fP 값으로의 파일 압축은 \fBxz\fP와 LZMA SDK에서만 가능합니다. +.PP +liblzma의 LZMA1 필터 구현체에서는 \fIlc\fP 값과 \fIlp\fP 값의 합이 4를 넘어가면 안됩니다. 그래서 \fB.lzma\fP +파일의 경우 이 제한을 넘어가면 \fBxz\fP로 압축을 해제할 수 없습니다. +.PP +LZMA 유틸리티는 2^\fIn\fP (2의 승수)크기를 지닌 딕셔너리를 가진 \fB.lzma\fP 파일만 만들지만 받아들이는 파일의 딕셔너리 +크기는 어떤 크기든 상관 없습니다. liblzma에서는 2^\fIn\fP, 2^\fIn\fP + 2^(\fIn\fP\-1) 딕셔너리 크기를 가진 +\&\fB.lzma\fP 파일 만 받아들입니다. 이로 인해 \fB.lzma\fP 파일을 확인할 때 거짓 양성율이 늘어납니다. +.PP +모든 \fB.lzma\fP 파일을 liblzma 에서 받아들일 수 있도록 압축하기 때문에 이 제한이 실제로는 문제가 되지 않습니다. +. +.SS "뒤따라오는 쓰레기 값" +압축 해제할 때, LZMA 유틸리티는 \fB.lzma\fP 스트림 처음 부분 다음 나머지를 다 조용히 무시합니다. 대부분의 경우, +버그입니다. LZMA 유틸리티에서 \fB.lzma\fP 결합 파일 압축 해제를 지원하지 않음을 의미하기도 합니다. +.PP +\&\fB.lzma\fP 스트림 처음부분 바로 다음에 데이터가 남아있을 경우, \fBxz\fP 에서는 \fB\-\-single\-stream\fP 옵션을 사용하지 +않으면 깨진 파일로 간주합니다. 이 동작으로 하여금 뒤따라오는 쓰레기 값을 무시하도록 간주하는 애매한 스크립트 동작을 깰 수가 +있습니다. +. +.SH 참고 +. +.SS "출력 결과물이 달라짐" +압축하지 않은 입력 파일로부터 얻어낸 정확한 압축 출력 결과물은 압축 옵션이 완전히 동일하더라도 XZ 유틸리티의 버전에 따라 달라질 수 +있습니다. 파일 형식에 영향을 주지 않고 인코더 그 자체를 개선(더 빠르게 하거나 더 나은 압축율로)하기 때문입니다. XZ 유틸리티 +버전이 동일하더라도 빌드 옵션을 달리하여 빌드 상태가 제각각인 경우 출력 결과물이 달라질 수 있습니다. +.PP +\fB\-\-rsyncable\fP 기능을 넣었을 경우 동일한 xz 버전에서 이전 파일과 새 파일로 별도로 압축하지 않는 한 결과 파일을 (두 +파일이 서로 다른 파일이 아니므로) rsync 처리할 필요가 없습니다. 이 문제는 인코더 구현체 기능 개발이 끝나서 xz 버전이 +다르더라도 안정적인 rsync 가능한 출력 결과물을 유지할 수 있을 때여야 해결할 수 있습니다. +. +.SS "내장 .xz 압축 해제 프로그램" +XZ 임베디드와 같은 내장 \fB.xz\fP 압축 해제 구현체는 지원 파일의 무결성 \fI검사\fP 형식을 \fInone\fP과 \fIcrc32\fP 이외의 +설정으로 만들 필요가 없습니다. 기본값이 \fB\-\-check=crc64\fP일 경우에만, 임베디드 시스템에서 파일을 만들 때 +\fB\-\-check=none\fP 또는 \fB\-\-check=crc32\fP 옵션을 사용해야합니다. +.PP +임베디드 시스템이 아니라면, 모든 \fB.xz\fP 형식 압축 해제 프로그램에서는 모든 \fI검사\fP 형식을 지원하거나, 일부 \fI검사\fP 방식을 +지원하지 않는다면, 최소한, 무결성 검사로 검증하지 않고 압축을 해제할 수 있습니다. +.PP +XZ 임베디드는 BCJ 필터를 지원하지만, 기본 시작 오프셋만 지정할 수 있습니다. +. +.SH 예제 +. +.SS 기본 +\fIfoo\fP 파일을 기본 압축 수준 (\fB\-6\fP) 으로 \fIfoo.xz\fP 파일에 압축해 넣고, 압축 과정이 무사히 끝나면 \fIfoo\fP를 +삭제합니다: +.RS +.PP +.nf +\f(CWxz foo\fP +.fi +.RE +.PP +\fIbar.xz\fP를 \fIbar\fP 에 압축을 해제한 후 압축 해제가 무사히 끝나도 \fIbar.xz\fP를 삭제하지 않습니다: +.RS +.PP +.nf +\f(CWxz \-dk bar.xz\fP +.fi +.RE +.PP +기본 사전 설정 \fB\-6\fP 보다는 느리지만, 압축 및 압축 해제시 메모리를 적게 차지(각각 48\ Mib, 5\MiB)는 \fB\-4e\fP +사전 설정(\fB\-4 \-\-extreme\fP)을 활용하여 \fIbaz.tar.xz\fP 파일을 만듭니다: +.RS +.PP +.nf +\f(CWtar cf \- baz | xz \-4e > baz.tar.xz\fP +.fi +.RE +.PP +압축 및 비압축 파일을 단일 명령으로 표준 출력에 압축해제할 수 있습니다: +.RS +.PP +.nf +\f(CWxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fP +.fi +.RE +. +.SS "다중 파일 병렬 압축" +GNU와 *BSD에서는 \fBfind\fP(1) 명령과 \fBxargs\fP(1) 명령으로 여러 파일의 압축을 병렬 처리할 수 있습니다: +.RS +.PP +.nf +\f(CWfind . \-type f \e! \-name '*.xz' \-print0 \e | xargs \-0r \-P4 \-n16 xz \-T1\fP +.fi +.RE +.PP +\fBxargs\fP(1) 의 \fB\-P\fP 옵션으로 \fBxz\fP 프로세스의 병렬 처리 갯수를 지정합니다. \fB\-n\fP 옵션의 최적 값은 압축할 +파일 수에 달려있습니다. 압축할 파일이 몇개밖에 없다면 1이어야합니다. 파일이 수천 수만개 정도 된다면 \fBxargs\fP(1) 이 +어쨌든지간에 만들어낼 \fBxz\fP 프로세스의 겟수를 100으로 하거나 아니면 적당한 값을 지정하여 줄이는게 좋습니다. +.PP +\fBxz\fP에 \fB\-T1\fP옵션을 지정하면 단일\-스레드 모드로 강제합니다. \fBxargs\fP(1) 에서 병렬 처리 갯수를 제어할 수 있기 +때문입니다. +. +.SS "로봇 모드" +여러 파일을 압축한 후 저장할 바이트 용량을 계산합니다: +.RS +.PP +.nf +\f(CWxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fP +.fi +.RE +.PP +이 스크립트에서는 충분히 최신의 \fBxz\fP 명령을 사용하는지 알아보려 합니다. 다음 \fBsh\fP(1) 스크립트에서는 \fBxz\fP 도구의 +버전 번호가 최소한 5.0.0인지 여부를 검사합니다. 이 방식은 \fB\-\-robot\fP 옵션을 지원하지 않는 오래된 베타 버전과도 호환성이 +있습니다: +.RS +.PP +.nf +\f(CWif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" || [ "$XZ_VERSION" \-lt 50000002 ]; then echo "Your xz is too old." fi unset XZ_VERSION LIBLZMA_VERSION\fP +.fi +.RE +.PP +\fBXZ_OPT\fP 환경 변수로 압축 해제시 메뢰 사용량 한계를 설정하지만, 한계 값을 이미 설정했다면, 값을 늘리지 않습니다: +.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 "개별 압축 필터 체인 설정" +개별 설정 필터 체인의 초단순 사용방식은 LZMA2 사전 설정 값을 별도로 설정하는 방식입니다. 사전 설정은 잠재적으로 쓸만한 압축 +설정 조합만 다루기 때문에 꽤 쓸모가 있을 수도 있습니다. +.PP +\fB\-0\fP ... \fB\-9\fP 옵션의 설명에서 테이블의 CompCPU 컬럼과 \fB\-\-extreme\fP 옵션은 LZMA2 사전 설정을 +개별적으로 맞췄을 때 쓸만할 수도 있습니다. 여기 관련내용을 테이블 둘로 정리해서 모아보았습니다: +.RS +.PP +.TS +tab(;); +c c +n n. +Preset;CompCPU +\-0;0 +\-1;1 +\-2;2 +\-3;3 +\-4;4 +\-5;5 +\-6;6 +\-5e;7 +\-6e;8 +.TE +.RE +.PP +어떤 파일을 압축할 때 상당히 큰 딕셔너리(예: 32MiB)가 필요 하다는걸 알아채셨지만, \fBxz \-8\fP 명령이 압축할 때보다 더 빠른 +속도로 압축하려 한다면, 더 큰 딕셔너리 사용을 위해 더 낮은 CompCPU 사전 설정 값(예: 1)으로 수정할 수 있습니다: +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=1,dict=32MiB foo.tar\fP +.fi +.RE +.PP +각 파일에 대해, 위 명령은 압축율이 더 좋아지면서도 \fBxz \-6\fP보다 더 빨라집니다. 그러나, CompCPU 값을 낮게 유지하는 +대신 큰 딕셔너리에서 일부 파일을 강조해야 합니다. 큰 딕셔너리가 대부분의 도움을 주는 매우 명백한 상황에서는 최소한 몇 메가바이트의 +매우 유사한 각 파일이 아카이브에 들어갑니다. 딕셔너리 크기는 LZMA2가 연속으로 존재하는 각 파일의 유사성으로부터 얻는 장점을 취할 +수 있을 때 일부 개별 파일보다 훨씬 더 커집니다. +.PP +압축 프로그램과 압축 해제 프로그램에서 메모리를 엄청 많이 사용해도 상관 없고, 파일을 수백 메가 바이트 메모리 용량을 활용하여 +압축한다면, \fBxz \-9\fP 명령에 64MiB 용량을 초과하는 딕셔너리를 사용할 수 있게 하는 방법도 쓸만할 지도 모릅니다: +.RS +.PP +.nf +\f(CWxz \-vv \-\-lzma2=dict=192MiB big_foo.tar\fP +.fi +.RE +.PP +위 예제에서와 같이 \fB\-vv\fP (\fB\-\-verbose \-\-verbose\fP) 옵션을 사용하면 압축 및 압축 해제 과정에서 필요한 메모리 +용량을 살펴보는데 요긴할 수 있습니다. 압축 해제한 파일 크기보다 더 큰 딕셔너리를 사용하면 불필요한 메모리 소모량이 발생하여 위 +명령이 작은 파일에는 쓸모 없음을 기억하십시오. +.PP +때로는 압축 시간이 딱히 상관이 없을 수도 있습니다만, 압축 해제시 메모리 사용량을 적게 유지해야 할 수도 있습니다. 예를 들면, +임베디드 시스템에서 파일 압축을 해제할 수도 있습니다. 다음 명령의 경우 \fB\-6e\fP (\fB\-6 \-\-extreme\fP) 옵션을 기반 +옵션을 사용하며 딕셔너리 크기를 64KiB만 사용하도록 제한합니다. 결과 파일은 XZ 임베디드(이게 \fB\-\-check=crc32\fP +옵션이 있는 이유)로 100KiB 메모리 용량을 활용하여 풀어낼 수 있습니다. +.RS +.PP +.nf +\f(CWxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo\fP +.fi +.RE +.PP +가능한 한 수 바이트를 더 쥐어 짜내고 싶을 때, 리터럴 문맥 비트 수(\fIlc\fP)와 위치 비트 수(\fIpb\fP)를 조정하면 도움이 될 +수도 있습니다. 리터럴 위치 비트 수(\fIlp\fP)를 조금 건드리는 것 또한 도움이 될 지도 모르겠지만 보통 \fIlc\fP 값과 \fIpb\fP +값이 더 중요합니다. 예를 들면, 소스 코드 저장 파일에는 US\-ASCII 텍스트가 대부분이기에, 다음과 같은 경우는 \fBxz \-6e\fP +명령을 실행했을 때부다는 아주 약간(거의 0.1% 수준) 작은 파일을 얻어낼 수도 있습니다(\fBlc=4\fP를 빼고도 시도해보십시오): +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=6e,pb=0,lc=4 source_code.tar\fP +.fi +.RE +.PP +LZMA2와 다른 필터를 함께 사용하면 일부 파일 형식에 대해 압축율을 개선할 수 있습니다. 예를 들면 x86\-32 또는 x86\-64 +공유 라이브러리를 x86 BCJ 필터를 활용하여 압축할 경우: +.RS +.PP +.nf +\f(CWxz \-\-x86 \-\-lzma2 libfoo.so\fP +.fi +.RE +.PP +참고로 필터 옵션의 순서는 상당히 중요합니다. \fB\-\-x86\fP을 \fB\-\-lzma\fP 이전에 지정하면 \fBxz\fP에서 오류가 나는데, +LZMA2 다음에는 어떤 필터든 설정할 수 없고, 옵션 체인상 마지막 필터로 x86 BCJ 필터를 사용할 수 없기 때문입니다. +.PP +LZMA2와 델타 필터는 비트맵 그림에 최적의 결과를 가져다줄 수 있습니다. PNG에 보통 안성맞춥인데, PNG에는 단순 델타 필터보단 +약간 더 고급진 필터를 사용하지만, 실제 압축을 진행할 때는 Deflate를 사용하기 때문입니다. +.PP +예를 들어 이미지를 압축하지 않은 비압축 TIFF로 저장해야 하는 경우가 있습니다. 델타 필터의 거리 매개변수는 그림에서 픽셀당 바이트 +수에 일치하도록 설정합니다. 예를 들면, 24비트 RGB 비트맵의 경우 \fBdist=3\fP 거리 매개변수 값을 설정해야 하며, LZMA2 +압축시 3바이트 정렬을 따르도록 \fBpb=0\fP 값을 전달하는 방법도 바람직합니다: +.RS +.PP +.nf +\f(CWxz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff\fP +.fi +.RE +.PP +여러 이미지를 단일 아카이브로 넣고 싶다면(예: \fB.tar\fP), 모든 이미지에 대해 동일한 픽셀당 바이트 수가 들어가는 경우에도 델타 +필터가 동작합니다. +. +.SH "추가 참조" +\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 유틸리티: <https://tukaani.org/xz\-utils/> +.br +XZ 임베디드: <https://tukaani.org/xz/embedded/> +.br +LZMA SDK: <https://7\-zip.org/sdk.html> diff --git a/po4a/man/ko/xzdec.1 b/po4a/man/ko/xzdec.1 new file mode 100644 index 00000000..3b0c6eb6 --- /dev/null +++ b/po4a/man/ko/xzdec.1 @@ -0,0 +1,72 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" Korean translation for the xz-man +.\" Seong-ho Cho <darkcircle.0426@gmail.com>, 2023, 2024. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 2024\-01\-19 Tukaani "XZ 유틸리티" +.SH 이름 +xzdec, lzmadec \- .xz와 .lzma용 작은 압축 해제 프로그램 +.SH 요약 +\fBxzdec\fP [\f\fI옵션\fP...\fP] [\fI<파일>...\fP] +.br +\fBlzmadec\fP [\f\fI옵션\fP...\fP] [\fI<파일>...\fP] +.SH 설명 +\fBxzdec\fP은 liblzma 기반 \fB.xz\fP (그리고 \fB.xz\fP 확장자만) 파일 압축 해제 전용 도구 프로그램입니다. +\fBxzdec\fP 은 \fBxz\fP(1) 명령을 활용하여 \fB.xz\fP 파일의 압축을 해제할 때 쓰던 \fBxz \-\-decompress \-\-stdout\fP (그리고 일반적으로 쓰던 몇가지 다른 옵션도 같이) 명령을 작성하던 일상적인 경우를 대신하려 만든 결과물입니다. +\fBlzmadec\fP 는 \fB.xz\fP 파일 대신 \fB.lzma\fP 파일을 지원하는 점만 다르며, 나머지는 \fBxzdec\fP과 동일합니다. +.PP +실행 파일 크기를 줄이려는 목적으로, \fBxzdec\fP 에서는 다중\-스레드 실행 또는 현지 언어 표기를 지원하지 않으며 +\fBXZ_DEFAULTS\fP 환경 변수와 \fBXZ_OPT\fP 환경 변수의 옵션 값을 읽지 않습니다. \fBxzdec\fP은 단계별 진행 정보를 +표시하지 않습니다. \fBxzdec\fP 명령어로 \fBSIGINFO\fP 시그널을 보내면 아무 동작도 취하지 않지만, \fBSIGUSR1\fP 시그널을 +보내면 프 정보를 표시하는 대신 프로세스를 끝냅니다. +.SH 옵션 +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +\fBxz\fP(1) 호환성을 문제로 무시합니다. \fBxzdec\fP은 압축 해제 기능만 지원합니다. +.TP +\fB\-k\fP, \fB\-\-keep\fP +\fBxz\fP(1) 호환성을 문제로 무시합니다. \fBxzdec\fP은 어떤 파일도 만들거나 제거하지 않습니다. +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +\fBxz\fP(1) 호환성을 문제로 무시합니다. \fBxzdec\fP은 항상 압축 해제한 데이터를 표준 출력으로만 기록합니다. +.TP +\fB\-q\fP, \fB\-\-quiet\fP +이 옵션을 한번 지정하면 \fBxzdec\fP에서 어떤 경고나 알림을 표시하지 않기 때문에 아무런 동작도 취하지 않습니다. 오류 메시지를 +표시하지 않으려면 이 옵션을 두번 지정하십시오. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +\fBxz\fP(1) 호환성을 문제로 무시합니다. \fBxzdec\fP은 종료 코드 2번을 사용하지 않습니다. +.TP +\fB\-h\fP, \fB\-\-help\fP +도움말 메시지를 나타내고 무사히 나갑니다. +.TP +\fB\-V\fP, \fB\-\-version\fP +\fBxzdec\fP과 liblzma의 버전 번호를 나타냅니다. +.SH "종료 상태" +.TP +\fB0\fP +모든 상태 양호. +.TP +\fB1\fP +오류 발생. +.PP +\fBxzdec\fP 은 \fBxz\fP에 있는 경고 메시지를 출력하지 않기 때문에 \fBxzdec\fP 에서는 종료 코드 2번을 사용하지 않습니다. +.SH 참고 +보통 매일 사용하실 목적이라면 \fBxzdec\fP 또는 \fBlzmadec\fP 대신 \fBxz\fP 명령을 사용하십시오. \fBxzdec\fP 또는 +\fBlzmadec\fP은 완전한 기능을 갖춘 \fBxz\fP(1) 보다는 작은 압축 해제 프로그램을 사용해야 할 경우에만 사용하라고 있는 +명령입니다. +.PP +\fBxzdec\fP 과 \fBlzmadec\fP 은 실제로 그렇게 작은건 아닙니다. 컴파일 시간에 liblzma에서 얼마나 기능을 떨궈내느냐에 +따라 더 줄어들 수도 있습니다만, 보통 임베디드 운영체제 배포판이 아닌 경우는 이렇게 할 수가 없습니다. 실제로 작은 \fB.xz\fP 압축 +해제 프로그램이 필요하다면 XZ 임베디드 사용을 고려하십시오. +.SH "추가 참조" +\fBxz\fP(1) +.PP +XZ 임베디드: <https://tukaani.org/xz/embedded/> diff --git a/po4a/man/ko/xzdiff.1 b/po4a/man/ko/xzdiff.1 new file mode 100644 index 00000000..20e5644f --- /dev/null +++ b/po4a/man/ko/xzdiff.1 @@ -0,0 +1,51 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" Korean translation for the xz-man +.\" Seong-ho Cho <darkcircle.0426@gmail.com>, 2023, 2024. +.\" +.\" (Note that this file is not based on gzip's zdiff.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDIFF 1 2024\-02\-13 Tukaani "XZ 유틸리티" +.SH 이름 +xzcmp, xzdiff, lzcmp, lzdiff \- 압축 파일을 비교합니다 +. +.SH 요약 +\fBxzcmp\fP [\fI<옵션>...\fP] \fI<파일1>\fP [\fI<파일2>\fP] +.br +\fBxzdiff\fP \&... +.br +\fBlzcmp\fP \&... +.br +\fBlzdiff\fP \&... +. +.SH 설명 +\fBxzcmp\fP 와 \fBxzdiff\fP 명령은 압축 해제한 두 파일의 내용을 비교합니다. 압축 해제한 파일의 데이터와 옵션은 +\fB\-\-help\fP 옵션 또는 \fB\-\-version\fP 옵션을 지정하지 않는다면, \fBcmp\fP(1) 또는 \fBdiff\fP(1) 명령으로 +전달합니다. +.PP +\fI<파일1>\fP 과 \fI<파일2>\fP를 모두 지정했다면, 지정한 파일은 이미 압축해제한 파일이거나, +\fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1), \fBlz4\fP(1) 명령으로 +압축해제할 수 있는 형식의 파일일 수 있습니다. 필요한 압축 해제 명령은 \fI<파일1>\fP 과 +\fI<파일2>\fP의 파일 이름 확장자로 결정합니다. 알 수 없는 확장자를 지닌 파일은 이미 압축을 해제했거나 +\fBxz\fP(1) 명령으로 압축 해제할 수 있는 형식으로 간주합니다. +.PP +파일 이름을 하나만 지정한다면, \fI<파일1>\fP의 확장자는 지원 압축 형식의 확장자여야 하며, +\fI<파일2>\fP는 \fI<파일1>\fP에서 압축 파일 확장자를 제거한 파일로 간주합니다. +.PP +\fBlzcmp\fP와 \fBlzdiff\fP 명령은 LZMA 유틸리티 하위 호환용으로 제공합니다. +. +.SH "종료 상태" +압축 해제 오류가 나타나는 경우, 종료 코드는 \fB2\fP입니다. 그렇지 않을 경우 \fBcmp\fP(1) 또는 \fBdiff\fP(1) 명령의 +종료 코드를 활용합니다. +. +.SH "추가 참조" +\fBcmp\fP(1), \fBdiff\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), +\fBzstd\fP(1), \fBlz4\fP(1) diff --git a/po4a/man/ko/xzgrep.1 b/po4a/man/ko/xzgrep.1 new file mode 100644 index 00000000..932ff9e9 --- /dev/null +++ b/po4a/man/ko/xzgrep.1 @@ -0,0 +1,84 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" Korean translation for the xz-man +.\" Seong-ho Cho <darkcircle.0426@gmail.com>, 2023, 2024. +.\" +.\" (Note that this file is not based on gzip's zgrep.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZGREP 1 2024\-02\-13 Tukaani "XZ 유틸리티" +.SH 이름 +xzgrep \- 패턴을 활용하여 가능한 방식으로 압축한 파일의 내용을 검색합니다 +. +.SH 요약 +\fBxzgrep\fP [\fI<옵션>...\fP] [\fI<패턴목록>\fP] [\fI<파일>...\fP] +.br +\fBxzegrep\fP \&... +.br +\fBxzfgrep\fP \&... +.br +\fBlzgrep\fP \&... +.br +\fBlzegrep\fP \&... +.br +\fBlzfgrep\fP \&... +. +.SH 설명 +\fBxzgrep\fP은 압축 해제한 파일의 내용에 \fBgrep\fP(1)을 실행합니다. \fI<파일>\fP 형식은 파일 이름 확장으로 +결정합니다. \fI<파일>\fP에서 지원하는 확장자는 \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), +\fBlzop\fP(1), \fBzstd\fP(1), \fBlz4\fP(1)로 압축 해제할 수 있는 파일의 확장자입니다. 다른 파일은 이미 압축을 해제한 +파일로 간주합니다. +.PP +지정한 \fI<파일>\fP이 없거나 \fI<파일>\fP 값이 \fB\-\fP이라면 표준 입력을 읽어들입니다. 표준 입력을 +읽어들일 때, \fBxz\fP(1) 방식으로 압축을 해제하는 파일만 지원합니다. 다른 파일은 이미 압축을 해제한 파일로 간주합니다. +.PP +대부분의 \fBgrep\fP(1)의 \fI<옵션>\fP을 지원합니다. 그러나 다음 옵션은 지원하지 않습니다: +.IP "" 4 +\fB\-r\fP, \fB\-\-recursive\fP +.IP "" 4 +\fB\-R\fP, \fB\-\-dereference\-recursive\fP +.IP "" 4 +\fB\-d\fP, \fB\-\-directories=\fP\fIaction\fP +.IP "" 4 +\fB\-Z\fP, \fB\-\-null\fP +.IP "" 4 +\fB\-z\fP, \fB\-\-null\-data\fP +.IP "" 4 +\fB\-\-include=\fP\fIglob\fP +.IP "" 4 +\fB\-\-exclude=\fP\fIglob\fP +.IP "" 4 +\fB\-\-exclude\-from=\fP\fIfile\fP +.IP "" 4 +\fB\-\-exclude\-dir=\fP\fIglob\fP +.PP +\fBxzegrep\fP은 \fBxzgrep \-E\fP 명령의 별칭입니다. \fBxzfgrep\fP은 \fBxzgrep \-F\fP 명령의 별칭입니다. +.PP +\fBlzgrep\fP, \fBlzegrep\fP, \fBlzfgrep\fP 명령은 LZMA 유틸리티 하위 호환용으로 제공합니다. +. +.SH "종료 상태" +.TP +0 +최소한 하나 이상의 파일에서 하나 이상의 일치하는 결과를 찾았습니다. 오류가 없습니다. +.TP +1 +어떤 입력 파일에서든 일치하는 내용이 없습니다. 오류가 없습니다. +.TP +>1 +하나 이상의 오류가 나타납니다. 일치하는 항목을 찾아낼 지 여부는 알 수 없습니다. +. +.SH 환경 +.TP +\fBGREP\fP +\fBGREP\fP 환경변수 값이 비어있지 않으면, \fBgrep\fP, \fBgrep \-E\fP, \fBgrep \-F\fP 명령 대신 활용합니다. +. +.SH "추가 참조" +\fBgrep\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1), +\fBlz4\fP(1), \fBzgrep\fP(1) diff --git a/po4a/man/ko/xzless.1 b/po4a/man/ko/xzless.1 new file mode 100644 index 00000000..0e4798f6 --- /dev/null +++ b/po4a/man/ko/xzless.1 @@ -0,0 +1,41 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" Korean translation for the xz-man +.\" Seong-ho Cho <darkcircle.0426@gmail.com>, 2023, 2024. +.\" +.\" (Note that this file is not based on gzip's zless.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZLESS 1 2024\-02\-12 Tukaani "XZ 유틸리티" +.SH 이름 +xzless, lzless \- xz 또는 lzma 압축 (텍스트) 파일을 봅니다 +.SH 요약 +\fBxzless\fP [\fI<파일>\fP...] +.br +\fBlzless\fP [\fI<파일>\fP...] +.SH 설명 +\fBxzless\fP는 압축 파일 내용을 터미널에 나타내는 필터 프로그램입니다. \fBxz\fP(1) 방식으로 압축을 해제하는 파일만 +지원합니다. 다른 파일은 이미 압축을 해제한 파일로 간주합니다. 주어진 \fI<파일>\fP 값이 없다면, \fBxzless\fP는 +표준 입력을 읽어들입니다. +.PP +\fBxzless\fP 는 \fBless\fP(1) 를 사용하여 출력을 막습니다. \fBxzmore\fP 와는 다르게, 환경 변수 설정으로 선택한 +페이저를 바꿀 수 없습니다. 명령은 \fBmore\fP(1) 와 \fBvi\fP(1) 가 기반이며, 앞뒤로 움직이고 검색할 수 있습니다. +자세한 정보는 \fBless\fP(1) 설명서를 참고하십시오. +.PP +\fBlzless\fP 명령은 LZMA 유틸리티 하위 호환용으로 제공합니다. +.SH 환경 +.TP +\fBLESSMETACHARS\fP +셸에서 동작할 수도 있는 특수 문자 목록입니다. 환경에 미리 설정해두지 않았다면 \fBxzless\fP에서 설정합니다. +.TP +\fBLESSOPEN\fP +입력 파일을 \fBless\fP(1) 에 전달하기 전에 \fBxz\fP(1) 압축 해제 프로그램을 실행해서 미리 처리하는 명령행을 설정합니다. +.SH "추가 참조" +\fBless\fP(1), \fBxz\fP(1), \fBxzmore\fP(1), \fBzless\fP(1) diff --git a/po4a/man/ko/xzmore.1 b/po4a/man/ko/xzmore.1 new file mode 100644 index 00000000..2caa95a5 --- /dev/null +++ b/po4a/man/ko/xzmore.1 @@ -0,0 +1,42 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" Korean translation for the xz-man +.\" Seong-ho Cho <darkcircle.0426@gmail.com>, 2023, 2024. +.\" +.\" (Note that this file is based on xzless.1 instead of gzip's zmore.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZMORE 1 2024\-02\-12 Tukaani "XZ 유틸리티" +.SH 이름 +xzmore, lzmore \- xz 압축 (텍스트) 파일 또는 lzma 압축 (텍스트) 파일을 봅니다 +. +.SH 요약 +\fBxzmore\fP [\fI<파일>\fP...] +.br +\fBlzmore\fP [\fI<파일>\fP...] +. +.SH 설명 +\fBxzmore\fP 명령은 압축 파일에 들어있는 텍스트를 \fBmore\fP(1) 명령으로 터미널에 나타냅니다. \fBxz\fP(1) 방식으로 +압축을 해제하는 파일만 지원합니다. 다른 파일은 이미 압축을 해제한 파일로 간주합니다. \fI<파일>\fP을 지정하지 +않으면, \fBxzmore\fP 프로그램에서는 표준 입력을 읽어들입니다. 키보드 명령 정보는 \fBmore\fP(1) 설명서를 참고하십시오. +.PP +참고로 \fBmore\fP(1) 명령 구현체에 따라 반대 방향(윗방향)으로의 스크롤은 못할 수도 있습니다. \fBxzmore\fP 명령이 +\fBmore\fP(1) 명령에 압축 해제한 데이터를 파이프로 전달하기 때문입니다. \fBxzless\fP(1)는 좀 더 나은 기능을 가진 +\fBless\fP(1) 명령을 활용합니다. +.PP +\fBlzmore\fP 명령은 LZMA 유틸리티 하위 호환용으로 제공합니다. +. +.SH 환경 +.TP +\fBPAGER\fP +\fBPAGER\fP 환경변수 값을 설정했다면 \fBmore\fP(1) 대신 해당 환경변수 값을 사용합니다. +. +.SH "추가 참조" +\fBmore\fP(1), \fBxz\fP(1), \fBxzless\fP(1), \fBzmore\fP(1) diff --git a/po4a/man/pt_BR/lzmainfo.1 b/po4a/man/pt_BR/lzmainfo.1 new file mode 100644 index 00000000..5566566a --- /dev/null +++ b/po4a/man/pt_BR/lzmainfo.1 @@ -0,0 +1,45 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" Brazilian Portuguese translations for xz package +.\" Traduções em português brasileiro para o pacote xz. +.\" Rafael Fontenelle <rafaelff@gnome.org>, 2022-2023. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LZMAINFO 1 2013\-06\-30 Tukaani "XZ Utils" +.SH NOME +lzmainfo \- mostra informações armazenadas no cabeçalho do arquivo .lzma +.SH SINOPSE +\fBlzmainfo\fP [\fB\-\-help\fP] [\fB\-\-version\fP] [\fIarquivo...\fP] +.SH DESCRIÇÃO +\fBlzmainfo\fP mostra as informações armazenadas no cabeçalho do arquivo +\&\fB.lzma\fP. Ele lê os primeiros 13 bytes do \fIarquivo\fP especificado, +decodifica o cabeçalho e o imprime na saída padrão em formato legível por +humanos. Se nenhum \fIarquivo\fP for fornecido ou \fIarquivo\fP for \fB\-\fP, a +entrada padrão será lida. +.PP +Normalmente, as informações mais interessantes são o tamanho descompactado e +o tamanho do dicionário. O tamanho não compactado pode ser mostrado apenas +se o arquivo estiver na variante de formato \fB.lzma\fP não transmitido. A +quantidade de memória necessária para descompactar o arquivo é de algumas +dezenas de kilobytes mais o tamanho do dicionário. +.PP +\fBlzmainfo\fP está incluído no XZ Utils principalmente para compatibilidade +com versões anteriores do LZMA Utils. +.SH "STATUS DE SAÍDA" +.TP +\fB0\fP +Está tudo bem. +.TP +\fB1\fP +Ocorreu um erro. +.SH BUGS +\fBlzmainfo\fP usa \fBMB\fP enquanto o sufixo correto seria \fBMiB\fP (2^20 +bytes). Isso é para manter a saída compatível com LZMA Utils. +.SH "VEJA TAMBÉM" +\fBxz\fP(1) diff --git a/po4a/man/pt_BR/xz.1 b/po4a/man/pt_BR/xz.1 new file mode 100644 index 00000000..02a2d7bf --- /dev/null +++ b/po4a/man/pt_BR/xz.1 @@ -0,0 +1,1928 @@ +'\" t +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" Brazilian Portuguese translations for xz package +.\" Traduções em português brasileiro para o pacote xz. +.\" Rafael Fontenelle <rafaelff@gnome.org>, 2022-2023. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 2024\-02\-13 Tukaani "XZ Utils" +. +.SH NOME +xz, unxz, xzcat, lzma, unlzma, lzcat \- Compacta ou descompacta arquivos .xz +e .lzma +. +.SH SINOPSE +\fBxz\fP [\fIopção...\fP] [\fIarquivo...\fP] +. +.SH "COMANDOS APELIDOS" +\fBunxz\fP é equivalente a \fBxz \-\-decompress\fP. +.br +\fBxzcat\fP é equivalente a \fBxz \-\-decompress \-\-stdout\fP. +.br +\fBlzma\fP é equivalente a \fBxz \-\-format=lzma\fP. +.br +\fBunlzma\fP é equivalente a \fBxz \-\-format=lzma \-\-decompress\fP. +.br +\fBlzcat\fP é equivalente a \fBxz \-\-format=lzma \-\-decompress \-\-stdout\fP. +.PP +Ao escrever scripts que precisam descompactar arquivos, é recomendável +sempre usar o nome \fBxz\fP com os argumentos apropriados (\fBxz \-d\fP ou \fBxz \-dc\fP) em vez dos nomes \fBunxz\fP e \fBxzcat\fP. +. +.SH DESCRIÇÃO +\fBxz\fP é uma ferramenta de compactação de dados de uso geral com sintaxe de +linha de comando semelhante ao \fBgzip\fP(1) e ao \fBbzip2\fP(1). O formato de +arquivo nativo é o formato \fB.xz\fP, mas o formato legado \fB.lzma\fP usado por +LZMA Utils e fluxos compactados brutos sem cabeçalhos de formato de +contêiner também são suportados. Além disso, a descompactação do formato +\&\fB.lz\fP usado por \fBlzip\fP é suportada. +.PP +\fBxz\fP compacta ou descompacta cada \fIarquivo\fP de acordo com o modo de +operação selecionado. Se nenhum \fIarquivo\fP for fornecido ou \fIarquivo\fP for +\fB\-\fP, \fBxz\fP lê da entrada padrão e grava os dados processados na saída +padrão. \fBxz\fP recusará (exibirá um erro e ignorará o \fIarquivo\fP) para gravar +dados compactados na saída padrão se for um terminal. Da mesma forma, \fBxz\fP +se recusará a ler dados compactados da entrada padrão se for um terminal. +.PP +A menos que \fB\-\-stdout\fP seja especificado, \fIarquivos\fP diferentes de \fB\-\fP +são gravados em um novo arquivo cujo nome é derivado do nome \fIarquivo\fP de +origem: +.IP \(bu 3 +Ao compactar, o sufixo do formato de arquivo de destino (\fB.xz\fP ou \fB.lzma\fP) +é anexado ao nome do arquivo de origem para obter o nome do arquivo de +destino. +.IP \(bu 3 +Ao descompactar, o sufixo \fB.xz\fP, \fB.lzma\fP ou \fB.lz\fP é removido do nome do +arquivo para obter o nome do arquivo de destino. \fBxz\fP também reconhece os +sufixos \fB.txz\fP e \fB.tlz\fP e os substitui pelo sufixo \fB.tar\fP. +.PP +Se o arquivo de destino já existir, um erro será exibido e \fIarquivo\fP será +ignorado. +.PP +A menos que grave na saída padrão, \fBxz\fP exibirá um aviso e pulará o +\fIarquivo\fP se qualquer um dos seguintes se aplicar: +.IP \(bu 3 +\fIArquivo\fP não é um arquivo normal. Links simbólicos não são seguidos e, +portanto, não são considerados arquivos comuns. +.IP \(bu 3 +\fIArquivo\fP tem mais de um link físico. +.IP \(bu 3 +\fIFile\fP tem setuid, setgid ou sticky bit definido. +.IP \(bu 3 +O modo de operação está definido para compactar e o \fIarquivo\fP já possui um +sufixo do formato de arquivo de destino (\fB.xz\fP ou \fB.txz\fP ao compactar para +o formato \fB.xz\fP e \fB.lzma \fP ou \fB.tlz\fP ao compactar para o formato +\&\fB.lzma\fP). +.IP \(bu 3 +O modo de operação está definido para descompactar e o \fIarquivo\fP não possui +um sufixo de nenhum dos formatos de arquivo suportados (\fB.xz\fP, \fB.txz\fP, +\&\fB.lzma\fP, \fB.tlz\fP , ou \fB.lz\fP). +.PP +Depois de compactar ou descompactar com êxito o \fIarquivo\fP, o \fBxz\fP copia o +dono, grupo, permissões, horário de acesso e horário de modificação do +\fIarquivo\fP de origem para o arquivo de destino. Se a cópia do grupo falhar, +as permissões serão modificadas para que o arquivo de destino não se torne +acessível a usuários que não têm permissão para acessar o \fIarquivo\fP de +origem. \fBxz\fP ainda não oferece suporte à cópia de outros metadados, como +listas de controle de acesso ou atributos estendidos. +.PP +Depois que o arquivo de destino for fechado com êxito, o \fIarquivo\fP de +origem será removido, a menos que \fB\-\-keep\fP tenha sido especificado. O +\fIarquivo\fP de origem nunca é removido se a saída for gravada na saída padrão +ou se ocorrer um erro. +.PP +O envio de \fBSIGINFO\fP ou \fBSIGUSR1\fP para o processo do \fBxz\fP faz com que ele +imprima informações de andamento para erro padrão. Isso tem uso limitado, +pois quando o erro padrão é um terminal, usar \fB\-\-verbose\fP exibirá um +indicador de progresso de atualização automática. +. +.SS "Uso de memória" +O uso de memória de \fBxz\fP varia de algumas centenas de kilobytes a vários +gigabytes, dependendo das configurações de compactação. As configurações +usadas ao compactar um arquivo determinam os requisitos de memória do +descompactador. Normalmente, o descompactador precisa de 5\ % a 20\ % da +quantidade de memória que o compactador precisou ao criar o arquivo. Por +exemplo, descompactar um arquivo criado com \fBxz \-9\fP atualmente requer 65\ MiB de memória. Ainda assim, é possível ter arquivos \fB.xz\fP que requerem +vários gigabytes de memória para descompactar. +.PP +Especialmente os usuários de sistemas mais antigos podem achar irritante a +possibilidade de uso de memória muito grande. Para evitar surpresas +desconfortáveis, o \fBxz\fP possui um limitador de uso de memória embutido, que +está desabilitado por padrão. Embora alguns sistemas operacionais forneçam +maneiras de limitar o uso de memória dos processos, confiar nele não foi +considerado flexível o suficiente (por exemplo, usar \fBulimit\fP(1) para +limitar a memória virtual tende a prejudicar \fBmmap\fP(2)). +.PP +O limitador de uso de memória pode ser ativado com a opção de linha de +comando \fB\-\-memlimit=\fP\fIlimite\fP. Geralmente é mais conveniente habilitar o +limitador por padrão definindo a variável de ambiente \fBXZ_DEFAULTS\fP, por +exemplo, \fBXZ_DEFAULTS=\-\-memlimit=150MiB\fP. É possível definir os limites +separadamente para compactação e descompactação usando +\fB\-\-memlimit\-compress=\fP\fIlimite\fP e \fB\-\-memlimit\-decompress=\fP\fIlimite\fP. Usar +essas duas opções fora de \fBXZ_DEFAULTS\fP raramente é útil porque uma única +execução de \fBxz\fP não pode fazer compactação e descompactação e +\fB\-\-memlimit=\fP\fIlimite\fP (ou \fB\-M\fP \fIlimite\fP ) é mais curto para digitar na +linha de comando. +.PP +Se o limite de uso de memória especificado for excedido durante a +descompactação, \fBxz\fP exibirá um erro e a descompactação do arquivo +falhará. Se o limite for excedido durante a compactação, \fBxz\fP tentará +reduzir as configurações para que o limite não seja mais excedido (exceto ao +usar \fB\-\-format=raw\fP ou \fB\-\-no\-adjust\fP). Dessa forma, a operação não +falhará, a menos que o limite seja muito pequeno. A escala das configurações +é feita em etapas que não correspondem às predefinições do nível de +compactação, por exemplo, se o limite for apenas um pouco menor que o valor +necessário para \fBxz \-9\fP, as configurações serão reduzidas apenas um pouco , +não até \fBxz \-8\fP. +. +.SS "Concatenação e preenchimento com arquivos .xz" +É possível concatenar arquivos \fB.xz\fP como estão. \fBxz\fP irá descompactar +tais arquivos como se fossem um único arquivo \fB.xz\fP. +.PP +É possível inserir preenchimento entre as partes concatenadas ou após a +última parte. O preenchimento deve consistir em bytes nulos e o tamanho do +preenchimento deve ser um múltiplo de quatro bytes. Isso pode ser útil, por +exemplo, se o arquivo \fB.xz\fP for armazenado em uma mídia que mede tamanhos +de arquivo em blocos de 512 bytes. +.PP +Concatenação e preenchimento não são permitidos com arquivos \fB.lzma\fP ou +fluxos brutos. +. +.SH OPÇÕES +. +.SS "Sufixos inteiros e valores especiais" +Na maioria dos lugares onde um argumento inteiro é esperado, um sufixo +opcional é suportado para indicar facilmente números inteiros grandes. Não +deve haver espaço entre o número inteiro e o sufixo. +.TP +\fBKiB\fP +Multiplica o inteiro por 1.024 (2^10). \fBKi\fP, \fBk\fP, \fBkB\fP, \fBK\fP e \fBKB\fP são +aceitos como sinônimos de \fBKiB\fP. +.TP +\fBMiB\fP +Multiplica o número inteiro por 1.048.576 (2^20). \fBMi\fP, \fBm\fP, \fBM\fP e \fBMB\fP +são aceitos como sinônimos de \fBMiB\fP. +.TP +\fBGiB\fP +Multiplica o número inteiro por 1.073.741.824 (2^30). \fBGi\fP, \fBg\fP, \fBG\fP e +\fBGB\fP são aceitos como sinônimos de \fBGiB\fP. +.PP +O valor especial \fBmax\fP pode ser usado para indicar o valor inteiro máximo +suportado pela opção. +. +.SS "Modo de operação" +Se várias opções de modo de operação forem dadas, a última entrará em vigor. +.TP +\fB\-z\fP, \fB\-\-compress\fP +Compacta. Este é o modo de operação padrão quando nenhuma opção de modo de +operação é especificada e nenhum outro modo de operação está implícito no +nome do comando (por exemplo, \fBunxz\fP implica em \fB\-\-decompress\fP). +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +Descompacta. +.TP +\fB\-t\fP, \fB\-\-test\fP +Testa a integridade de \fIarquivos\fP compactados. Esta opção é equivalente a +\fB\-\-decompress \-\-stdout\fP exceto que os dados descompactados são descartados +em vez de serem gravados na saída padrão. Nenhum arquivo é criado ou +removido. +.TP +\fB\-l\fP, \fB\-\-list\fP +Imprime informações sobre \fIarquivos\fP compactados. Nenhuma saída +descompactada é produzida e nenhum arquivo é criado ou removido. No modo de +lista, o programa não pode ler os dados compactados da entrada padrão ou de +outras fontes não pesquisáveis. +.IP "" +A listagem padrão mostra informações básicas sobre \fIarquivos\fP, um arquivo +por linha. Para obter informações mais detalhadas, use também a opção +\fB\-\-verbose\fP. Para obter ainda mais informações, use \fB\-\-verbose\fP duas +vezes, mas observe que isso pode ser lento, porque obter todas as +informações extras requer muitas buscas. A largura da saída detalhada excede +80 caracteres, portanto, canalizar a saída para, por exemplo, \fBless\ \-S\fP +pode ser conveniente se o terminal não tiver largura o suficiente. +.IP "" +A saída exata pode variar entre versões \fBxz\fP e localidades diferentes. Para +saída legível por máquina, \fB\-\-robot \-\-list\fP deve ser usado. +. +.SS "Modificadores de operação" +.TP +\fB\-k\fP, \fB\-\-keep\fP +Não exclui os arquivos de entrada. +.IP "" +Desde \fBxz\fP 5.2.6, esta opção também faz \fBxz\fP compactar ou descompactar +mesmo se a entrada for um link simbólico para um arquivo comum, tiver mais +de um link físico ou tiver o setuid, setgid ou sticky bit definir. Os bits +setuid, setgid e sticky não são copiados para o arquivo de destino. Nas +versões anteriores, isso era feito apenas com \fB\-\-force\fP. +.TP +\fB\-f\fP, \fB\-\-force\fP +Esta opção tem vários efeitos: +.RS +.IP \(bu 3 +Se o arquivo de destino já existir, o exclui antes de compactar ou +descompactar. +.IP \(bu 3 +Compacta ou descompacta, mesmo que a entrada seja um link simbólico para um +arquivo normal, tenha mais de um link físico ou tenha setuid, setgid ou +sticky bit definido. Os bits setuid, setgid e sticky não são copiados para o +arquivo de destino. +.IP \(bu 3 +Quando usado com \fB\-\-decompress\fP \fB\-\-stdout\fP e \fBxz\fP não consegue reconhecer +o tipo do arquivo de origem, copia o arquivo de origem como está na saída +padrão. Isso permite que \fBxzcat\fP \fB\-\-force\fP seja usado como \fBcat\fP(1) para +arquivos que não foram compactados com \fBxz\fP. Observe que, no futuro, o +\fBxz\fP pode oferecer suporte a novos formatos de arquivo compactado, o que +pode fazer com que o \fBxz\fP descompacte mais tipos de arquivos em vez de +copiá\-los como na saída padrão. \fB\-\-format=\fP\fIformato\fP pode ser usado para +restringir \fBxz\fP para descompactar apenas um único formato de arquivo. +.RE +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +Grava os dados compactados ou descompactados na saída padrão em vez de em um +arquivo. Isso implica em \fB\-\-keep\fP. +.TP +\fB\-\-single\-stream\fP +Descompacta apenas o primeiro fluxo de \fB.xz\fP e ignora silenciosamente +possíveis dados de entrada restantes após o fluxo. Normalmente, esse +restante posterior sem uso faz com que \fBxz\fP exiba um erro. +.IP "" +\fBxz\fP nunca descompacta mais de um fluxo de arquivos \fB.lzma\fP ou fluxos +brutos, mas esta opção ainda faz \fBxz\fP ignorar os possíveis dados +posteriores após o arquivo \fB.lzma\fP ou fluxo bruto. +.IP "" +Esta opção não tem efeito se o modo de operação não for \fB\-\-decompress\fP ou +\fB\-\-test\fP. +.TP +\fB\-\-no\-sparse\fP +Desativa a criação de arquivos esparsos. Por padrão, ao descompactar em um +arquivo normal, \fBxz\fP tenta tornar o arquivo esparso se os dados +descompactados contiverem longas sequências de zeros binários. Ele também +funciona ao gravar na saída padrão, desde que a saída padrão esteja +conectada a um arquivo normal e certas condições adicionais sejam atendidas +para torná\-la segura. A criação de arquivos esparsos pode economizar espaço +em disco e acelerar a descompactação, reduzindo a quantidade de E/S do +disco. +.TP +\fB\-S\fP \fI.suf\fP, \fB\-\-suffix=\fP\fI.suf\fP +Ao compactar, usa \fI.suf\fP como sufixo para o arquivo de destino em vez de +\&\fB.xz\fP ou \fB.lzma\fP. Se não estiver gravando na saída padrão e o arquivo de +origem já tiver o sufixo \fI.suf\fP, um aviso será exibido e o arquivo será +ignorado. +.IP "" +Ao descompactar, reconhece arquivos com o sufixo \fI.suf\fP além de arquivos +com o sufixo \fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP ou \fB.lz\fP . Se o arquivo de +origem tiver o sufixo \fI.suf\fP, o sufixo será removido para obter o nome do +arquivo de destino. +.IP "" +Ao compactar ou descompactar fluxos brutos (\fB\-\-format=raw\fP), o sufixo +sempre deve ser especificado, a menos que seja gravado na saída padrão, +porque não há sufixo padrão para fluxos brutos. +.TP +\fB\-\-files\fP[\fB=\fP\fIarquivo\fP] +Lê os nomes dos arquivos a serem processados em \fIarquivo\fP; se \fIarquivo\fP +for omitido, os nomes dos arquivos serão lidos da entrada padrão. Os nomes +de arquivo devem terminar com o caractere de nova linha. Um traço (\fB\-\fP) é +considerado um nome de arquivo regular; não significa entrada padrão. Se os +nomes de arquivo forem fornecidos também como argumentos de linha de +comando, eles serão processados antes da leitura dos nomes de arquivo de +\fIarquivo\fP. +.TP +\fB\-\-files0\fP[\fB=\fP\fIarquivo\fP] +Isso é idêntico a \fB\-\-files\fP[\fB=\fP\fIarquivo\fP], exceto que cada nome de +arquivo deve ser finalizado com o caractere nulo. +. +.SS "Opções básicas de formato de arquivo e de compactação" +.TP +\fB\-F\fP \fIformato\fP, \fB\-\-format=\fP\fIformato\fP +Especifica o \fIformato\fP de arquivo para compactar ou descompactar: +.RS +.TP +\fBauto\fP +Este é o padrão. Ao compactar, \fBauto\fP é equivalente a \fBxz\fP. Ao +descompactar, o formato do arquivo de entrada é detectado +automaticamente. Observe que os fluxos brutos (criados com \fB\-\-format=raw\fP) +não podem ser detectados automaticamente. +.TP +\fBxz\fP +Compacta no formato de arquivo \fB.xz\fP ou aceite apenas arquivos \fB.xz\fP ao +descompactar. +.TP +\fBlzma\fP, \fBalone\fP +Compacta no formato de arquivo legado \fB.lzma\fP ou aceite apenas arquivos +\&\fB.lzma\fP ao descompactar. O nome alternativo \fBalone\fP é fornecido para +compatibilidade com versões anteriores do LZMA Utils. +.TP +\fBlzip\fP +Aceita apenas arquivos \fB.lz\fP ao descompactar. Sem suporte a compactação. +.IP "" +O formato \fB.lz\fP versão 0 e a versão não estendida 1 são suportados. Os +arquivos da versão 0 foram produzidos por \fBlzip\fP 1.3 e anteriores. Esses +arquivos não são comuns, mas podem ser encontrados em arquivos compactados, +pois alguns pacotes de origem foram lançados nesse formato. As pessoas +também podem ter arquivos pessoais antigos neste formato. O suporte de +descompactação para o formato versão 0 foi removido em \fBlzip\fP 1.18. +.IP "" +\fBlzip\fP 1.4 e posteriores criam arquivos no formato versão 1. A extensão do +marcador de descarga de sincronização para o formato versão 1 foi adicionada +em \fBlzip\fP 1.6. Esta extensão raramente é usada e não é suportada por \fBxz\fP +(diagnosticada como entrada corrompida). +.TP +\fBraw\fP +Compacta ou descompacta um fluxo bruto (sem cabeçalhos). Isso é destinado +apenas a usuários avançados. Para decodificar fluxos brutos, você precisa +usar \fB\-\-format=raw\fP e especificar explicitamente a cadeia de filtros, que +normalmente seria armazenada nos cabeçalhos do contêiner. +.RE +.TP +\fB\-C\fP \fIverificação\fP, \fB\-\-check=\fP\fIverificação\fP +Especifica o tipo de verificação de integridade. A verificação é calculada a +partir dos dados descompactados e armazenados no arquivo \fB.xz\fP. Esta opção +tem efeito somente ao compactar no formato \fB.xz\fP; o formato \fB.lzma\fP não +oferece suporte a verificações de integridade. A verificação de integridade +(se for o caso) é verificada quando o arquivo \fB.xz\fP é descompactado. +.IP "" +Tipos de \fIverificação\fP suportados: +.RS +.TP +\fBnone\fP +Não calcula uma verificação de integridade. Isso geralmente é uma má +ideia. Pode ser útil quando a integridade dos dados é verificada por outros +meios. +.TP +\fBcrc32\fP +Calcula CRC32 usando o polinômio do IEEE\-802.3 (Ethernet). +.TP +\fBcrc64\fP +Calcula CRC64 usando o polinômio de ECMA\-182. Este é o padrão, pois é um +pouco melhor que o CRC32 na detecção de arquivos danificados e a diferença +de velocidade é insignificante. +.TP +\fBsha256\fP +Calcula SHA\-256. Isso é um pouco mais lento do que CRC32 e CRC64. +.RE +.IP "" +A integridade dos cabeçalhos de \fB.xz\fP é sempre verificada com CRC32. Não é +possível alterá\-la ou desativá\-la. +.TP +\fB\-\-ignore\-check\fP +Não confere a verificação de integridade dos dados compactados ao +descompactar. Os valores CRC32 nos cabeçalhos \fB.xz\fP ainda serão conferidos +normalmente. +.IP "" +\fBNão use esta opção a menos que saiba o que está fazendo.\fP Possíveis razões +para usar esta opção: +.RS +.IP \(bu 3 +Tentativa de recuperar dados de um arquivo .xz corrompido. +.IP \(bu 3 +Acelerar a descompactação. Isso é importante principalmente com SHA\-256 ou +com arquivos extremamente bem compactados. É recomendável não usar essa +opção para essa finalidade, a menos que a integridade do arquivo seja +verificada externamente de alguma outra forma. +.RE +.TP +\fB\-0\fP ... \fB\-9\fP +Seleciona um nível de predefinição de compactação. O padrão é \fB\-6\fP. Se +vários níveis de predefinição forem especificados, o último terá efeito. Se +uma cadeia de filtro personalizada já foi especificada, especificar um nível +de predefinição de compactação limpa a cadeia de filtro personalizada. +.IP "" +As diferenças entre as predefinições são mais significativas do que com +\fBgzip\fP(1) e \fBbzip2\fP(1). As configurações de compactação selecionadas +determinam os requisitos de memória do descompactador, portanto, usar um +nível de predefinição muito alto pode dificultar a descompactação do arquivo +em um sistema antigo com pouca RAM. Especificamente, \fBnão é uma boa ideia usar cegamente \-9 para tudo\fP como costuma acontecer com \fBgzip\fP(1) e +\fBbzip2\fP(1). +.RS +.TP +\fB\-0\fP ... \fB\-3\fP +Estas são predefinições um tanto rápidas. \fB\-0\fP às vezes é mais rápida que +\fBgzip \-9\fP ao mesmo tempo que compacta muito melhor. As mais altas +geralmente têm velocidade comparável ao \fBbzip2\fP(1) com taxa de compactação +comparável ou melhor, embora os resultados dependam muito do tipo de dados +que estão sendo compactados. +.TP +\fB\-4\fP ... \fB\-6\fP +Compactação boa a muito boa, mantendo o uso de memória do descompactador +razoável mesmo para sistemas antigos. \fB\-6\fP é o padrão, que geralmente é uma +boa escolha para distribuir arquivos que precisam ser descompactáveis, mesmo +em sistemas com apenas 16\ MiB de RAM. (\fB\-5e\fP ou \fB\-6e\fP também vale a pena +considerar. Veja \fB\-\-extreme\fP.) +.TP +\fB\-7 ... \-9\fP +Eles são como \fB\-6\fP, mas com requisitos de memória de compressor e +descompressor mais altos. Eles são úteis apenas ao compactar arquivos +maiores que 8\ MiB, 16\ MiB e 32\ MiB, respectivamente. +.RE +.IP "" +No mesmo hardware, a velocidade de descompactação é aproximadamente um +número constante de bytes de dados compactados por segundo. Em outras +palavras, quanto melhor a compactação, mais rápida será a +descompactação. Isso também significa que a quantidade de saída não +compactada produzida por segundo pode variar muito. +.IP "" +A tabela a seguir resume os recursos das predefinições: +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +Predefinição;DicTam;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 "" +Descrições das colunas: +.RS +.IP \(bu 3 +DicTam é o tamanho do dicionário LZMA2. É desperdício de memória usar um +dicionário maior que o tamanho do arquivo descompactado. É por isso que é +bom evitar usar as predefinições \fB\-7\fP ... \fB\-9\fP quando não há real +necessidade deles. Em \fB\-6\fP e inferior, a quantidade de memória desperdiçada +geralmente é baixa o suficiente para não importar. +.IP \(bu 3 +CompCPU é uma representação simplificada das configurações LZMA2 que afetam +a velocidade de compactação. O tamanho do dicionário também afeta a +velocidade, portanto, embora o CompCPU seja o mesmo para os níveis \fB\-6\fP +\&... \fB\-9\fP, níveis mais altos ainda tendem a ser um pouco mais lentos. Para +obter uma compactação ainda mais lenta e possivelmente melhor, consulte +\fB\-\-extreme\fP. +.IP \(bu 3 +CompMem contains the compressor memory requirements in the single\-threaded +mode. It may vary slightly between \fBxz\fP versions. +.IP \(bu 3 +DecMem contém os requisitos de memória do descompactador. Ou seja, as +configurações de compactação determinam os requisitos de memória do +descompactador. O uso exato da memória do descompactador é um pouco maior do +que o tamanho do dicionário LZMA2, mas os valores na tabela foram +arredondados para o próximo MiB completo. +.RE +.IP "" +Memory requirements of the multi\-threaded mode are significantly higher than +that of the single\-threaded mode. With the default value of +\fB\-\-block\-size\fP, each thread needs 3*3*DictSize plus CompMem or DecMem. For +example, four threads with preset \fB\-6\fP needs 660\(en670\ MiB of memory. +.TP +\fB\-e\fP, \fB\-\-extreme\fP +Usa uma variante mais lenta do nível de predefinição de compactação +selecionado (\fB\-0\fP ... \fB\-9\fP) para obter uma taxa de compactação um pouco +melhor, mas, com azar, isso também pode piorar. O uso da memória do +descompressor não é afetado, mas o uso da memória do compactador aumenta um +pouco nos níveis de predefinição \fB\-0\fP ... \fB\-3\fP. +.IP "" +Como existem duas predefinições com tamanhos de dicionário 4\ MiB e 8\ MiB, +as predefinições \fB\-3e\fP e \fB\-5e\fP usam configurações um pouco mais rápidas +(CompCPU inferior) do que \fB\-4e\fP e \fB\-6e\fP, respectivamente. Dessa forma, não +há duas predefinições idênticas. +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +Predefinição;DicTam;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 "" +Por exemplo, há um total de quatro predefinições que usam o dicionário 8\ MiB, cuja ordem do mais rápido ao mais lento é \fB\-5\fP, \fB\-6\fP, \fB\-5e\fP e +\fB\-6e\fP. +.TP +\fB\-\-fast\fP +.PD 0 +.TP +\fB\-\-best\fP +.PD +Esses são apelidos um tanto enganosos para \fB\-0\fP e \fB\-9\fP, +respectivamente. Eles são fornecidos apenas para compatibilidade com versões +anteriores do LZMA Utils. Evite usar essas opções. +.TP +\fB\-\-block\-size=\fP\fItamanho\fP +Ao compactar para o formato \fB.xz\fP, divida os dados de entrada em blocos de +\fItamanho\fP bytes. Os blocos são compactados independentemente uns dos +outros, o que ajuda no multi\-threading e torna possível a descompactação +limitada de acesso aleatório. Essa opção normalmente é usada para substituir +o tamanho de bloco padrão no modo multi\-thread, mas também pode ser usada em +thread única. +.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. In +multi\-threaded mode, the sizes of the blocks are stored in the block +headers. This size information is required for multi\-threaded +decompression. +.IP "" +In single\-threaded mode no block splitting is done by default. Setting this +option doesn't affect memory usage. No size information is stored in block +headers, thus files created in single\-threaded mode won't be identical to +files created in multi\-threaded mode. The lack of size information also +means that \fBxz\fP won't be able decompress the files in multi\-threaded mode. +.TP +\fB\-\-block\-list=\fP\fIitems\fP +When compressing to the \fB.xz\fP format, start a new block with an optional +custom filter chain after the given intervals of uncompressed data. +.IP "" +The \fIitems\fP are a comma\-separated list. Each item consists of an optional +filter chain number between 0 and 9 followed by a colon (\fB:\fP) and a +required size of uncompressed data. Omitting an item (two or more +consecutive commas) is a shorthand to use the size and filters of the +previous item. +.IP "" +If the input file is bigger than the sum of the sizes in \fIitems\fP, the last +item is repeated until the end of the file. A special value of \fB0\fP may be +used as the last size to indicate that the rest of the file should be +encoded as a single block. +.IP "" +An alternative filter chain for each block can be specified in combination +with the \fB\-\-filters1=\fP\fIfilters\fP \&...\& \fB\-\-filters9=\fP\fIfilters\fP options. +These options define filter chains with an identifier between 1\(en9. +Filter chain 0 can be used to refer to the default filter chain, which is +the same as not specifying a filter chain. The filter chain identifier can +be used before the uncompressed size, followed by a colon (\fB:\fP). For +example, if one specifies \fB\-\-block\-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB\fP +then blocks will be created using: +.RS +.IP \(bu 3 +The filter chain specified by \fB\-\-filters1\fP and 2 MiB input +.IP \(bu 3 +The filter chain specified by \fB\-\-filters3\fP and 2 MiB input +.IP \(bu 3 +The filter chain specified by \fB\-\-filters2\fP and 4 MiB input +.IP \(bu 3 +The filter chain specified by \fB\-\-filters2\fP and 4 MiB input +.IP \(bu 3 +The default filter chain and 2 MiB input +.IP \(bu 3 +The default filter chain and 4 MiB input for every block until end of input. +.RE +.IP "" +If one specifies a size that exceeds the encoder's block size (either the +default value in threaded mode or the value specified with +\fB\-\-block\-size=\fP\fIsize\fP), the encoder will create additional blocks while +keeping the boundaries specified in \fIitems\fP. For example, if one specifies +\fB\-\-block\-size=10MiB\fP \fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP and the +input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, +10, 10, and 1 MiB. +.IP "" +No modo multi\-thread, os tamanhos dos blocos são armazenados nos cabeçalhos +dos blocos. Isso não é feito no modo de thread única, portanto, a saída +codificada não será idêntica à do modo multi\-thread. +.TP +\fB\-\-flush\-timeout=\fP\fItempo_limite\fP +Ao compactar, se mais de \fItempo_limite\fP milissegundos (um número inteiro +positivo) se passaram desde a liberação anterior e a leitura de mais entrada +seria bloqueada, todos os dados de entrada pendentes serão liberados do +codificador e disponibilizados no fluxo de saída. Isso pode ser útil se +\fBxz\fP for usado para compactar dados transmitidos por uma rede. Valores +\fItempo_limite\fP pequenos tornam os dados disponíveis na extremidade +receptora com um pequeno atraso, mas valores \fItempo_limite\fP grandes +oferecem melhor taxa de compactação. +.IP "" +Esse recurso está desabilitado por padrão. Se esta opção for especificada +mais de uma vez, a última terá efeito. O valor especial \fItempo_limite\fP de +\fB0\fP pode ser usado para desabilitar explicitamente esse recurso. +.IP "" +Este recurso não está disponível em sistemas não\-POSIX. +.IP "" +.\" FIXME +\fBEste recurso ainda é experimental.\fP Atualmente, \fBxz\fP não é adequado para +descompactar o fluxo em tempo real devido à forma como \fBxz\fP faz o buffer. +.TP +\fB\-\-memlimit\-compress=\fP\fIlimite\fP +Define um limite de uso de memória para compactação. Se esta opção for +especificada várias vezes, a última entrará em vigor. +.IP "" +Se as configurações de compactação excederem o \fIlimite\fP, \fBxz\fP tentará +ajustar as configurações para baixo para que o limite não seja mais excedido +e exibirá um aviso de que o ajuste automático foi feito. Os ajustes são +feitos nesta ordem: reduzindo o número de encadeamentos, alternando para o +modo sigle\-thread se até mesmo uma thread no modo multi\-thread exceder o +\fIlimite\fP e, finalmente, reduzindo o tamanho do dicionário LZMA2. +.IP "" +Ao compactar com \fB\-\-format=raw\fP ou se \fB\-\-no\-adjust\fP tiver sido +especificado, apenas o número de threads pode ser reduzido, pois isso pode +ser feito sem afetar a saída compactada. +.IP "" +Se o \fIlimite\fP não puder ser alcançado mesmo com os ajustes descritos acima, +um erro será exibido e \fBxz\fP sairá com status de saída 1. +.IP "" +O \fIlimite\fP pode ser especificado de várias maneiras: +.RS +.IP \(bu 3 +O \fIlimite\fP pode ser um valor absoluto em bytes. Usar um sufixo inteiro como +\fBMiB\fP pode ser útil. Exemplo: \fB\-\-memlimit\-compress=80MiB\fP +.IP \(bu 3 +O \fIlimite\fP pode ser especificado como uma porcentagem da memória física +total (RAM). Isso pode ser útil especialmente ao definir a variável de +ambiente \fBXZ_DEFAULTS\fP em um script de inicialização de shell que é +compartilhado entre diferentes computadores. Dessa forma o limite é +automaticamente maior em sistemas com mais memória. Exemplo: +\fB\-\-memlimit\-compress=70%\fP +.IP \(bu 3 +O \fIlimite\fP pode ser redefinido para seu valor padrão, definindo\-o como +\fB0\fP. Atualmente, isso equivale a definir \fIlimite\fP como \fBmax\fP (sem limite +de uso de memória). +.RE +.IP "" +Para \fBxz\fP de 32 bits, há um caso especial: se o \fIlimite\fP estiver acima de +\fB4020\ MiB\fP, o \fIlimite\fP é definido como \fB4020\ MiB\fP. No MIPS32 \fB2000\ MiB\fP é usado em seu lugar. (Os valores \fB0\fP e \fBmax\fP não são afetados por +isso. Um recurso semelhante não existe para descompactação.) Isso pode ser +útil quando um executável de 32 bits tem acesso a espaço de endereço de 4\ GiB (2 GiB no MIPS32) enquanto espero não causar danos em outras situações. +.IP "" +Consulte também a seção \fBUso de memória\fP. +.TP +\fB\-\-memlimit\-decompress=\fP\fIlimite\fP +Define um limite de uso de memória para descompactação. Isso também afeta o +modo \fB\-\-list\fP. Se a operação não for possível sem exceder o \fIlimite\fP, +\fBxz\fP exibirá um erro e a descompactação do arquivo falhará. Consulte +\fB\-\-memlimit\-compress=\fP\fIlimite\fP para possíveis maneiras de especificar o +\fIlimite\fP. +.TP +\fB\-\-memlimit\-mt\-decompress=\fP\fIlimite\fP +Define um limite de uso de memória para descompactação multi\-thread. Isso +pode afetar apenas o número de threads; isso nunca fará com que \fBxz\fP se +recuse a descompactar um arquivo. Se \fIlimite\fP for muito baixo para permitir +qualquer multi\-thread, o \fIlimite\fP será ignorado e \fBxz\fP continuará no modo +de thread única. Observe que se \fB\-\-memlimit\-decompress\fP também for usado, +ele sempre se aplicará aos modos de thread única e multi\-thread e, portanto, +o \fIlimite\fP efetivo para multi\-threading nunca será maior que o limite +definido com \fB\-\-memlimit\-decompress\fP. +.IP "" +Em contraste com as outras opções de limite de uso de memória, +\fB\-\-memlimit\-mt\-decompress=\fP\fIlimite\fP tem um padrão \fIlimite\fP específico do +sistema. \fBxz \-\-info\-memory\fP pode ser usado para ver o valor atual. +.IP "" +Esta opção e seu valor padrão existem porque, sem qualquer limite, o +descompactador usando threads pode acabar alocando uma quantidade insana de +memória com alguns arquivos de entrada. Se o \fIlimite\fP padrão for muito +baixo em seu sistema, sinta\-se à vontade para aumentar o \fIlimite\fP, mas +nunca defina\-o para um valor maior que a quantidade de RAM utilizável, pois +com os arquivos de entrada apropriados \fBxz\fP tentará usar essa quantidade de +memória mesmo com um baixo número de threads. Ficar sem memória ou trocar +não melhorará o desempenho da descompactação. +.IP "" +Consulte \fB\-\-memlimit\-compress=\fP\fIlimite\fP para possíveis maneiras de +especificar o \fIlimite\fP. Definir \fIlimite\fP como \fB0\fP redefine \fIlimite\fP para +o valor padrão específico do sistema. +.TP +\fB\-M\fP \fIlimite\fP, \fB\-\-memlimit=\fP\fIlimite\fP, \fB\-\-memory=\fP\fIlimite\fP +Isso é equivalente a especificar \fB\-\-memlimit\-compress=\fP\fIlimite\fP +\fB\-\-memlimit\-decompress=\fP\fIlimite\fP \fB\-\-memlimit\-mt\-decompress=\fP\fIlimite\fP. +.TP +\fB\-\-no\-adjust\fP +Exibe um erro e saia se o limite de uso de memória não puder ser atendido +sem ajustar as configurações que afetam a saída compactada. Ou seja, isso +evita que \fBxz\fP alterne o codificador do modo multi\-thread para o modo +encadeado único e reduza o tamanho do dicionário LZMA2. Mesmo quando esta +opção é usada, o número de threads pode ser reduzido para atender ao limite +de uso de memória, pois isso não afetará a saída compactada. +.IP "" +O ajuste automático é sempre desativado ao criar fluxos brutos +(\fB\-\-format=raw\fP). +.TP +\fB\-T\fP \fIthreads\fP, \fB\-\-threads=\fP\fIthreads\fP +Especifica o número de threads de trabalho a serem usados. Definir +\fIthreads\fP para um valor especial \fB0\fP faz com que \fBxz\fP use tantos threads +quanto o(s) processador(es) no suporte do sistema. O número real de +encadeamentos pode ser menor que \fIthreads\fP se o arquivo de entrada não for +grande o suficiente para subdividir em threads com as configurações +fornecidas ou se o uso de mais threads exceder o limite de uso de memória. +.IP "" +Os compactadores usando thread única e várias threads produzem saídas +diferentes. O compactador de thread única fornecerá o menor tamanho de +arquivo, mas apenas a saída do compactador de várias threads pode ser +descompactada usando várias threads. Definir \fIthreads\fP como \fB1\fP usará o +modo de thread única. Definir \fIthreads\fP para qualquer outro valor, +incluindo \fB0\fP, usará o compressor de várias threads, mesmo que o sistema +tenha suporte a apenas uma thread de hardware. (\fBxz\fP 5.2.x usou o modo de +thread única nesta situação.) +.IP "" +Para usar o modo de várias threads com apenas uma thread, defina \fIthreads\fP +como \fB+1\fP. O prefixo \fB+\fP não tem efeito com valores diferentes de \fB1\fP. Um +limite de uso de memória ainda pode fazer \fBxz\fP alternar para o modo de +thread única, a menos que \fB\-\-no\-adjust\fP seja usado. O suporte para o +prefixo \fB+\fP foi adicionado no \fBxz\fP 5.4.0. +.IP "" +Se um número automático de threads foi solicitado e nenhum limite de uso de +memória foi especificado, um limite flexível padrão específico do sistema +será usado para possivelmente limitar o número de threads. É um limite +flexível no sentido de que é ignorado se o número de threads se tornar um, +portanto, um limite flexível nunca impedirá \fBxz\fP de compactar ou +descompactar. Este limite flexível padrão não fará com que \fBxz\fP alterne do +modo de várias threads para o modo de thread única. Os limites ativos podem +ser vistos com \fBxz \-\-info\-memory\fP. +.IP "" +Atualmente, o único método de threading é dividir a entrada em blocos e +comprimi\-los independentemente um do outro. O tamanho padrão do bloco +depende do nível de compactação e pode ser substituído com a opção +\fB\-\-block\-size=\fP\fItamanho\fP. +.IP "" +A descompactação em threads funciona apenas em arquivos que contêm vários +blocos com informações de tamanho nos cabeçalhos dos blocos. Todos os +arquivos grandes o suficiente compactados no modo de várias thread atendem a +essa condição, mas os arquivos compactados no modo de thread única não +atendem, mesmo se \fB\-\-block\-size=\fP\fItamanho\fP tiver sido usado. +.IP "" +The default value for \fIthreads\fP is \fB0\fP. In \fBxz\fP 5.4.x and older the +default is \fB1\fP. +. +.SS "Cadeias de filtro de compressor personalizadas" +Uma cadeia de filtro personalizada permite especificar as configurações de +compactação em detalhes, em vez de confiar nas configurações associadas às +predefinições. Quando uma cadeia de filtro personalizada é especificada, as +opções predefinidas (\fB\-0\fP \&...\& \fB\-9\fP e \fB\-\-extreme\fP) anteriores na linha +de comando são esquecidas. Se uma opção predefinida for especificada após +uma ou mais opções de cadeia de filtros personalizados, a nova predefinição +entrará em vigor e as opções de cadeia de filtros personalizados +especificadas anteriormente serão esquecidas. +.PP +Uma cadeia de filtro é comparável à tubulação na linha de comando. Ao +compactar, a entrada descompactada vai para o primeiro filtro, cuja saída +vai para o próximo filtro (se houver). A saída do último filtro é gravada no +arquivo compactado. O número máximo de filtros na cadeia é quatro, mas +normalmente uma cadeia de filtros tem apenas um ou dois filtros. +.PP +Muitos filtros têm limitações sobre onde podem estar na cadeia de filtros: +alguns filtros podem funcionar apenas como o último filtro na cadeia, alguns +apenas como filtro não\-último e alguns funcionam em qualquer posição na +cadeia. Dependendo do filtro, essa limitação é inerente ao projeto do filtro +ou existe para evitar problemas de segurança. +.PP +A custom filter chain can be specified in two different ways. The options +\fB\-\-filters=\fP\fIfilters\fP and \fB\-\-filters1=\fP\fIfilters\fP \&...\& +\fB\-\-filters9=\fP\fIfilters\fP allow specifying an entire filter chain in one +option using the liblzma filter string syntax. Alternatively, a filter +chain can be specified by using one or more individual filter options in the +order they are wanted in the filter chain. That is, the order of the +individual filter options is significant! When decoding raw streams +(\fB\-\-format=raw\fP), the filter chain must be specified in the same order as +it was specified when compressing. Any individual filter or preset options +specified before the full chain option (\fB\-\-filters=\fP\fIfilters\fP) will be +forgotten. Individual filters specified after the full chain option will +reset the filter chain. +.PP +Both the full and individual filter options take filter\-specific \fIoptions\fP +as a comma\-separated list. Extra commas in \fIoptions\fP are ignored. Every +option has a default value, so specify those you want to change. +.PP +Para ver toda a cadeia de filtros e \fIopções\fP, use \fBxz \-vv\fP (isto é, use +\fB\-\-verbose\fP duas vezes). Isso também funciona para visualizar as opções da +cadeia de filtros usadas pelas predefinições. +.TP +\fB\-\-filters=\fP\fIfilters\fP +Specify the full filter chain or a preset in a single option. Each filter +can be separated by spaces or two dashes (\fB\-\-\fP). \fIfilters\fP may need to be +quoted on the shell command line so it is parsed as a single option. To +denote \fIoptions\fP, use \fB:\fP or \fB=\fP. A preset can be prefixed with a \fB\-\fP +and followed with zero or more flags. The only supported flag is \fBe\fP to +apply the same options as \fB\-\-extreme\fP. +.TP +\fB\-\-filters1\fP=\fIfilters\fP ... \fB\-\-filters9\fP=\fIfilters\fP +Specify up to nine additional filter chains that can be used with +\fB\-\-block\-list\fP. +.IP "" +For example, when compressing an archive with executable files followed by +text files, the executable part could use a filter chain with a BCJ filter +and the text part only the LZMA2 filter. +.TP +\fB\-\-filters\-help\fP +Display a help message describing how to specify presets and custom filter +chains in the \fB\-\-filters\fP and \fB\-\-filters1=\fP\fIfilters\fP \&...\& +\fB\-\-filters9=\fP\fIfilters\fP options, and exit successfully. +.TP +\fB\-\-lzma1\fP[\fB=\fP\fIopções\fP] +.PD 0 +.TP +\fB\-\-lzma2\fP[\fB=\fP\fIopções\fP] +.PD +Adiciona o filtro LZMA1 ou LZMA2 à cadeia de filtros. Esses filtros podem +ser usados apenas como o último filtro na cadeia. +.IP "" +LZMA1 é um filtro legado, que é suportado quase exclusivamente devido ao +formato de arquivo legado \fB.lzma\fP, que suporta apenas LZMA1. LZMA2 é uma +versão atualizada do LZMA1 para corrigir alguns problemas práticos do +LZMA1. O formato \fB.xz\fP usa LZMA2 e não suporta LZMA1. A velocidade de +compactação e as proporções de LZMA1 e LZMA2 são praticamente as mesmas. +.IP "" +LZMA1 e LZMA2 compartilham o mesmo conjunto de \fIopções\fP: +.RS +.TP +\fBpreset=\fP\fIpredefinição\fP +Redefine todas as \fIopções\fP de LZMA1 ou LZMA2 para +\fIpredefinição\fP. \fIPredefinição\fP consiste em um número inteiro, que pode ser +seguido por modificadores de predefinição de uma única letra. O inteiro pode +ser de \fB0\fP a \fB9\fP, correspondendo às opções de linha de comando \fB\-0\fP +\&...\& \fB\-9\fP. O único modificador suportado atualmente é \fBe\fP, que +corresponde a \fB\-\-extreme\fP. Se nenhum \fBpreset\fP for especificado, os valores +padrão das \fIopções\fP LZMA1 ou LZMA2 serão obtidos da predefinição \fB6\fP. +.TP +\fBdict=\fP\fItamanho\fP +O \fItamanho\fP do dicionário (buffer de histórico) indica quantos bytes dos +dados não compactados processados recentemente são mantidos na memória. O +algoritmo tenta encontrar sequências de bytes repetidos (correspondências) +nos dados não compactados e substituí\-los por referências aos dados +atualmente no dicionário. Quanto maior o dicionário, maior a chance de +encontrar uma correspondência. Portanto, aumentar o dicionário \fItamanho\fP +geralmente melhora a taxa de compactação, mas um dicionário maior que o +arquivo não compactado é um desperdício de memória. +.IP "" +Um \fItamanho\fP de dicionário típico é de 64\ KiB a 64\ MiB. O mínimo é 4\ KiB. O máximo para compactação é atualmente 1,5\ GiB (1536\ MiB). O +descompactador já oferece suporte a dicionários de até um byte a menos de 4\ GiB, que é o máximo para os formatos de fluxo LZMA1 e LZMA2. +.IP "" +O \fItamanho\fP de dicionário e o localizador de correspondência (\fImf\fP) juntos +determinam o uso de memória do codificador LZMA1 ou LZMA2. O mesmo (ou +maior) \fItamanho\fP de dicionário é necessário para descompactar que foi usado +durante a compactação, portanto, o uso de memória do decodificador é +determinado pelo tamanho do dicionário usado durante a compactação. Os +cabeçalhos \fB.xz\fP armazenam o \fItamanho\fP de dicionário como 2^\fIn\fP ou 2^\fIn\fP ++ 2^(\fIn\fP\-1), então esses \fItamanhos\fP são um tanto preferidos para +compactação. Outros \fItamanhos\fP serão arredondados quando armazenados nos +cabeçalhos \fB.xz\fP. +.TP +\fBlc=\fP\fIlc\fP +Especifica o número de bits de contexto literais. O mínimo é 0 e o máximo é +4; o padrão é 3. Além disso, a soma de \fIlc\fP e \fIlp\fP não deve exceder 4. +.IP "" +Todos os bytes que não podem ser codificados como correspondências são +codificados como literais. Ou seja, literais são simplesmente bytes de 8 +bits que são codificados um de cada vez. +.IP "" +A codificação literal assume que os bits \fIlc\fP mais altos do byte não +compactado anterior se correlacionam com o próximo byte. Por exemplo, em um +texto típico em inglês, uma letra maiúscula geralmente é seguida por uma +letra minúscula, e uma letra minúscula geralmente é seguida por outra letra +minúscula. No conjunto de caracteres US\-ASCII, os três bits mais altos são +010 para letras maiúsculas e 011 para letras minúsculas. Quando \fIlc\fP é pelo +menos 3, a codificação literal pode aproveitar essa propriedade nos dados +não compactados. +.IP "" +O valor padrão (3) geralmente é bom. Se você deseja compactação máxima, +experimente \fBlc=4\fP. Às vezes ajuda um pouco, às vezes piora a +compactação. Se piorar, experimente \fBlc=2\fP também. +.TP +\fBlp=\fP\fIlp\fP +Especifica o número de bits de posição literal. O mínimo é 0 e o máximo é 4; +o padrão é 0. +.IP "" +\fILp\fP afeta que tipo de alinhamento nos dados não compactados é assumido ao +codificar literais. Consulte \fIpb\fP abaixo para obter mais informações sobre +alinhamento. +.TP +\fBpb=\fP\fIpb\fP +Especifica o número de bits de posição. O mínimo é 0 e o máximo é 4; o +padrão é 2. +.IP "" +\fIPb\fP afeta que tipo de alinhamento nos dados não compactados é assumido em +geral. O padrão significa alinhamento de quatro bytes (2^\fIpb\fP=2^2=4), que +geralmente é uma boa escolha quando não há melhor estimativa. +.IP "" +Quando o alinhamento é conhecido, definir \fIpb\fP adequadamente pode reduzir +um pouco o tamanho do arquivo. Por exemplo, com arquivos de texto com +alinhamento de um byte (US\-ASCII, ISO\-8859\-*, UTF\-8), a configuração \fBpb=0\fP +pode melhorar um pouco a compactação. Para texto UTF\-16, \fBpb=1\fP é uma boa +escolha. Se o alinhamento for um número ímpar como 3 bytes, \fBpb=0\fP pode ser +a melhor escolha. +.IP "" +Embora o alinhamento assumido possa ser ajustado com \fIpb\fP e \fIlp\fP, LZMA1 e +LZMA2 ainda favorecem ligeiramente o alinhamento de 16 bytes. Pode valer a +pena levar em consideração ao projetar formatos de arquivo que provavelmente +serão compactados com LZMA1 ou LZMA2. +.TP +\fBmf=\fP\fImf\fP +O localizador de correspondência tem um efeito importante na velocidade do +codificador, uso de memória e taxa de compactação. Normalmente, os +localizadores de correspondência de Hash Chain são mais rápidos do que os +localizadores de correspondência de árvore binária. O padrão depende do +\fIpredefinição\fP: 0 usa \fBhc3\fP, 1\(en3 usa \fBhc4\fP e o resto usa \fBbt4\fP. +.IP "" +Os seguintes localizadores de correspondência são suportados. As fórmulas de +uso de memória abaixo são aproximações aproximadas, que estão mais próximas +da realidade quando \fIdict\fP é uma potência de dois. +.RS +.TP +\fBhc3\fP +Cadeia de hashs com hashing de 2 e 3 bytes +.br +Valor mínimo para \fInice\fP: 3 +.br +Uso de memória: +.br +\fIdict\fP * 7.5 (if \fIdict\fP <= 16 MiB); +.br +\fIdict\fP * 5.5 + 64 MiB (if \fIdict\fP > 16 MiB) +.TP +\fBhc4\fP +Cadeia de hashs com hashing de 2, 3 e 4 bytes +.br +Valor mínimo para \fInice\fP: 4 +.br +Uso de memória: +.br +\fIdict\fP * 7.5 (if \fIdict\fP <= 32 MiB); +.br +\fIdict\fP * 6.5 (if \fIdict\fP > 32 MiB) +.TP +\fBbt2\fP +Árvore binária com hashing de 2 bytes +.br +Valor mínimo para \fInice\fP: 2 +.br +Uso de memória: \fIdict\fP * 9.5 +.TP +\fBbt3\fP +Árvore binária com hashing de 2 e 3 bytes +.br +Valor mínimo para \fInice\fP: 3 +.br +Uso de memória: +.br +\fIdict\fP * 11.5 (if \fIdict\fP <= 16 MiB); +.br +\fIdict\fP * 9.5 + 64 MiB (if \fIdict\fP > 16 MiB) +.TP +\fBbt4\fP +Árvore binária com hashing de 2, 3 e 4 bytes +.br +Valor mínimo para \fInice\fP: 4 +.br +Uso de memória: +.br +\fIdict\fP * 11.5 (if \fIdict\fP <= 32 MiB); +.br +\fIdict\fP * 10.5 (if \fIdict\fP > 32 MiB) +.RE +.TP +\fBmode=\fP\fImodo\fP +O \fImodo\fP de compactação especifica o método para analisar os dados +produzidos pelo localizador de correspondência. Os \fImodos\fP suportados são +\fBfast\fP e \fBnormal\fP. O padrão é \fBfast\fP para \fIpredefinições\fP 0\(en3 e +\fBnormal\fP para \fIpredefinições\fP 4\(en9. +.IP "" +Normalmente, \fBfast\fP é usado com localizadores de correspondência cadeia de +hashs e \fBnormal\fP com localizadores de correspondência de árvore +binária. Isso também é o que os \fIpredefinições\fP fazem. +.TP +\fBnice=\fP\fInice\fP +Especifica o que é considerado um bom comprimento para uma +correspondência. Uma vez que uma correspondência de pelo menos \fInice\fP bytes +é encontrada, o algoritmo para de procurar correspondências possivelmente +melhores. +.IP "" +\fINice\fP pode ser 2\(en273 bytes. Valores mais altos tendem a fornecer melhor +taxa de compactação em detrimento da velocidade. O padrão depende do +\fIpredefinição\fP. +.TP +\fBdepth=\fP\fIprofundidade\fP +Especifica a profundidade máxima de pesquisa no localizador de +correspondências. O padrão é o valor especial de 0, que faz com que o +compressor determine um \fIprofundidade\fP razoável de \fImf\fP e \fInice\fP. +.IP "" +Uma \fIprofundidade\fP razoável para cadeias de hash é 4\(en100 e 16\(en1000 +para árvores binárias. Usar valores muito altos para \fIprofundidade\fP pode +tornar o codificador extremamente lento com alguns arquivos. Evite definir +\fIprofundidade\fP acima de 1000 a menos que você esteja preparado para +interromper a compactação caso ela esteja demorando muito. +.RE +.IP "" +Ao decodificar fluxos brutos (\fB\-\-format=raw\fP), o LZMA2 precisa apenas do +dicionário \fItamanho\fP. LZMA1 também precisa de \fIlc\fP, \fIlp\fP e \fIpb\fP. +.TP +\fB\-\-x86\fP[\fB=\fP\fIopções\fP] +.PD 0 +.TP +\fB\-\-arm\fP[\fB=\fP\fIopções\fP] +.TP +\fB\-\-armthumb\fP[\fB=\fP\fIopções\fP] +.TP +\fB\-\-arm64\fP[\fB=\fP\fIopções\fP] +.TP +\fB\-\-powerpc\fP[\fB=\fP\fIopções\fP] +.TP +\fB\-\-ia64\fP[\fB=\fP\fIopções\fP] +.TP +\fB\-\-sparc\fP[\fB=\fP\fIopções\fP] +.PD +Adiciona um filtro de ramificação/chamada/salto (BCJ) à cadeia de +filtros. Esses filtros podem ser usados apenas como um filtro não último na +cadeia de filtros. +.IP "" +Um filtro BCJ converte endereços relativos no código de máquina em suas +contrapartes absolutas. Isso não altera o tamanho dos dados, mas aumenta a +redundância, o que pode ajudar o LZMA2 a produzir um arquivo \fB.xz\fP 0\(en15\ % menor. Os filtros BCJ são sempre reversíveis, portanto, usar um filtro BCJ +para o tipo errado de dados não causa nenhuma perda de dados, embora possa +piorar um pouco a taxa de compactação.Os filtros BCJ são muito rápidos e +usam uma quantidade insignificante de memória. +.IP "" +Esses filtros BCJ têm problemas conhecidos relacionados à taxa de +compactação: +.RS +.IP \(bu 3 +Alguns tipos de arquivos contendo código executável (por exemplo, arquivos +de objeto, bibliotecas estáticas e módulos do kernel do Linux) têm os +endereços nas instruções preenchidos com valores de preenchimento. Esses +filtros BCJ ainda vão fazer a conversão de endereço, o que vai piorar a +compactação desses arquivos. +.IP \(bu 3 +Se um filtro BCJ for aplicado em um arquivo, é possível que isso torne a +taxa de compactação pior do que não usar um filtro BCJ. Por exemplo, se +houver executáveis semelhantes ou mesmo idênticos, a filtragem provavelmente +tornará os arquivos menos semelhantes e, portanto, a compactação será +pior. O conteúdo de arquivos não executáveis no mesmo arquivo também pode +ser importante. Na prática tem que tentar com e sem filtro BCJ para ver qual +é melhor em cada situação. +.RE +.IP "" +Conjuntos de instruções diferentes têm alinhamento diferente: o arquivo +executável deve ser alinhado a um múltiplo desse valor nos dados de entrada +para fazer o filtro funcionar. +.RS +.RS +.PP +.TS +tab(;); +l n l +l n l. +Filtro;Alinhamento;Observações +x86;1;x86 32 bits ou 64 bits +ARM;4; +ARM\-Thumb;2; +ARM64;4;Alinhamento de 4096 bytes +;;é melhor +PowerPC;4;Somente big endian +IA\-64;16;Itanium +SPARC;4; +RISC\-V;2; +.TE +.RE +.RE +.IP "" +Since the BCJ\-filtered data is usually compressed with LZMA2, the +compression ratio may be improved slightly if the LZMA2 options are set to +match the alignment of the selected BCJ filter. Examples: +.RS +.IP \(bu 3 +IA\-64 filter has 16\-byte alignment so \fBpb=4,lp=4,lc=0\fP is good with LZMA2 +(2^4=16). +.IP \(bu 3 +RISC\-V code has 2\-byte or 4\-byte alignment depending on whether the file +contains 16\-bit compressed instructions (the C extension). When 16\-bit +instructions are used, \fBpb=2,lp=1,lc=3\fP or \fBpb=1,lp=1,lc=3\fP is good. When +16\-bit instructions aren't present, \fBpb=2,lp=2,lc=2\fP is the best. +\fBreadelf \-h\fP can be used to check if "RVC" appears on the "Flags" line. +.IP \(bu 3 +ARM64 is always 4\-byte aligned so \fBpb=2,lp=2,lc=2\fP is the best. +.IP \(bu 3 +The x86 filter is an exception. It's usually good to stick to LZMA2's +defaults (\fBpb=2,lp=0,lc=3\fP) when compressing x86 executables. +.RE +.IP "" +Todos os filtros BCJ suportam as mesmas \fIopções\fP: +.RS +.TP +\fBstart=\fP\fIdeslocamento\fP +Especifica o \fIdeslocamento\fP inicial que é usado na conversão entre +endereços relativos e absolutos. O \fIdeslocamento\fP deve ser um múltiplo do +alinhamento do filtro (ver tabela acima). O padrão é zero. Na prática, o +padrão é bom; especificar um \fIdeslocamento\fP personalizado quase nunca é +útil. +.RE +.TP +\fB\-\-delta\fP[\fB=\fP\fIopções\fP] +Adiciona o filtro Delta à cadeia de filtros. O filtro Delta só pode ser +usado como filtro não\-último na cadeia de filtros. +.IP "" +Atualmente, apenas o cálculo simples de delta byte a byte é suportado. Pode +ser útil ao compactar, por exemplo, imagens bitmap não compactadas ou áudio +PCM não compactado. No entanto, algoritmos de propósito especial podem +fornecer resultados significativamente melhores do que Delta + LZMA2. Isso é +verdade especialmente com áudio, que compacta mais rápido e melhor, por +exemplo, com \fBflac\fP(1). +.IP "" +\fIOpções\fP suportadas: +.RS +.TP +\fBdist=\fP\fIdistância\fP +Especifica a \fIdistância\fP do cálculo delta em bytes. \fIdistância\fP deve ser +1\(en256. O padrão é 1. +.IP "" +Por exemplo, com \fBdist=2\fP e entrada de oito bytes A1 B1 A2 B3 A3 B5 A4 B7, +a saída será A1 B1 01 02 01 02 01 02. +.RE +. +.SS "Outras opções" +.TP +\fB\-q\fP, \fB\-\-quiet\fP +Suprime avisos e avisos. Especifique isso duas vezes para suprimir erros +também. Esta opção não tem efeito no status de saída. Ou seja, mesmo que um +aviso tenha sido suprimido, o status de saída para indicar um aviso ainda é +usado. +.TP +\fB\-v\fP, \fB\-\-verbose\fP +Ser detalhado. Se o erro padrão estiver conectado a um terminal, \fBxz\fP +exibirá um indicador de progresso. Especifique \fB\-\-verbose\fP duas vezes dará +uma saída ainda mais detalhada. +.IP "" +O indicador de progresso mostra as seguintes informações: +.RS +.IP \(bu 3 +A porcentagem de conclusão é mostrada se o tamanho do arquivo de entrada for +conhecido. Ou seja, a porcentagem não pode ser mostrada em encadeamentos +(pipe). +.IP \(bu 3 +Quantidade de dados compactados produzidos (compactando) ou consumidos +(descompactando). +.IP \(bu 3 +Quantidade de dados não compactados consumidos (compactação) ou produzidos +(descompactação). +.IP \(bu 3 +Taxa de compactação, que é calculada dividindo a quantidade de dados +compactados processados até o momento pela quantidade de dados não +compactados processados até o momento. +.IP \(bu 3 +Velocidade de compactação ou descompactação. Isso é medido como a quantidade +de dados não compactados consumidos (compactação) ou produzidos +(descompactação) por segundo. É mostrado após alguns segundos desde que +\fBxz\fP começou a processar o arquivo. +.IP \(bu 3 +Tempo decorrido no formato M:SS ou H:MM:SS. +.IP \(bu 3 +O tempo restante estimado é mostrado apenas quando o tamanho do arquivo de +entrada é conhecido e alguns segundos já se passaram desde que \fBxz\fP começou +a processar o arquivo. A hora é mostrada em um formato menos preciso que +nunca tem dois pontos, por exemplo, 2 min 30 s. +.RE +.IP "" +Quando o erro padrão não é um terminal, \fB\-\-verbose\fP fará com que \fBxz\fP +imprima o nome do arquivo, tamanho compactado, tamanho não compactado, taxa +de compactação e possivelmente também a velocidade e o tempo decorrido em +uma única linha para o erro padrão após a compactação ou descompactando o +arquivo. A velocidade e o tempo decorrido são incluídos apenas quando a +operação leva pelo menos alguns segundos. Se a operação não foi concluída, +por exemplo, devido à interrupção do usuário, também é impressa a +porcentagem de conclusão se o tamanho do arquivo de entrada for conhecido. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +Não define o status de saída como 2, mesmo que uma condição digna de um +aviso tenha sido detectada. Esta opção não afeta o nível de detalhamento, +portanto, tanto \fB\-\-quiet\fP quanto \fB\-\-no\-warn\fP devem ser usados para não +exibir avisos e não alterar o status de saída. +.TP +\fB\-\-robot\fP +Imprime mensagens em um formato analisável por máquina. Isso visa facilitar +a criação de frontends que desejam usar \fBxz\fP em vez de liblzma, o que pode +ser o caso de vários scripts. A saída com esta opção habilitada deve ser +estável em versões \fBxz\fP. Consulte a seção \fBMODO ROBÔ\fP para obter detalhes. +.TP +\fB\-\-info\-memory\fP +Exibe, em formato legível por humanos, quanta memória física (RAM) e quantos +threads de processador \fBxz\fP acredita que o sistema possui e os limites de +uso de memória para compactação e descompactação e saia com êxito. +.TP +\fB\-h\fP, \fB\-\-help\fP +Exibe uma mensagem de ajuda descrevendo as opções mais usadas e sai com +sucesso. +.TP +\fB\-H\fP, \fB\-\-long\-help\fP +Exibe uma mensagem de ajuda descrevendo todos os recursos de \fBxz\fP e sai com +sucesso +.TP +\fB\-V\fP, \fB\-\-version\fP +Exibe o número da versão de \fBxz\fP e liblzma em formato legível por +humanos. Para obter uma saída analisável por máquina, especifique \fB\-\-robot\fP +antes de \fB\-\-version\fP. +. +.SH "MODO ROBÔ" +The robot mode is activated with the \fB\-\-robot\fP option. It makes the output +of \fBxz\fP easier to parse by other programs. Currently \fB\-\-robot\fP is +supported only together with \fB\-\-list\fP, \fB\-\-filters\-help\fP, \fB\-\-info\-memory\fP, +and \fB\-\-version\fP. It will be supported for compression and decompression in +the future. +. +.SS "Modo lista" +\fBxz \-\-robot \-\-list\fP usa saída separada por tabulações. A primeira coluna de +cada linha possui uma string que indica o tipo de informação encontrada +naquela linha: +.TP +\fBname\fP +Esta é sempre a primeira linha ao começar a listar um arquivo. A segunda +coluna na linha é o nome do arquivo. +.TP +\fBfile\fP +Esta linha contém informações gerais sobre o arquivo \fB.xz\fP. Esta linha é +sempre impressa após a linha \fBname\fP. +.TP +\fBstream\fP +Este tipo de linha é usado somente quando \fB\-\-verbose\fP foi +especificado. Existem tantas linhas de \fBstream\fP quanto fluxos no arquivo +\&\fB.xz\fP. +.TP +\fBblock\fP +Este tipo de linha é usado somente quando \fB\-\-verbose\fP foi +especificado. Existem tantas linhas \fBblock\fP quanto blocos no arquivo +\&\fB.xz\fP. As linhas \fBblock\fP são mostradas após todas as linhas \fBstream\fP; +diferentes tipos de linha não são intercalados. +.TP +\fBsummary\fP +Este tipo de linha é usado apenas quando \fB\-\-verbose\fP foi especificado duas +vezes. Esta linha é impressa após todas as linhas de \fBblock\fP. Assim como a +linha \fBarquivo\fP, a linha \fBsummary\fP contém informações gerais sobre o +arquivo \fB.xz\fP. +.TP +\fBtotals\fP +Esta linha é sempre a última linha da saída da lista. Ele mostra as +contagens totais e tamanhos. +.PP +As colunas das linhas \fBfile\fP: +.PD 0 +.RS +.IP 2. 4 +Número de fluxos no arquivo +.IP 3. 4 +Número total de blocos no(s) fluxo(s) +.IP 4. 4 +Tamanho compactado do arquivo +.IP 5. 4 +Uncompressed size of the file +.IP 6. 4 +Taxa de compactação, por exemplo, \fB0.123\fP. Se a proporção for superior a +9.999, serão exibidos três traços (\fB\-\-\-\fP) em vez da proporção. +.IP 7. 4 +Lista separada por vírgulas de nomes de verificação de integridade. As +seguintes strings são usadas para os tipos de verificação conhecidos: +\fBNone\fP, \fBCRC32\fP, \fBCRC64\fP e \fBSHA\-256\fP. Para tipos de verificações +desconhecidos, \fBUnknown\-\fP\fIN\fP é usado, onde \fIN\fP é o ID do cheque como um +número decimal (um ou dois dígitos). +.IP 8. 4 +Tamanho total do preenchimento de fluxo no arquivo +.RE +.PD +.PP +As colunas das linhas \fBstream\fP: +.PD 0 +.RS +.IP 2. 4 +Número do fluxo (o primeiro fluxo é 1) +.IP 3. 4 +Número de blocos no fluxo +.IP 4. 4 +Deslocamento inicial compactado +.IP 5. 4 +Deslocamento inicial descompactado +.IP 6. 4 +Tamanho compactado (não inclui preenchimento de fluxo) +.IP 7. 4 +Tamanho descompactado +.IP 8. 4 +Taxa de compactação +.IP 9. 4 +Nome da verificação de integridade +.IP 10. 4 +Tamanho do preenchimento do fluxo +.RE +.PD +.PP +As colunas das linhas \fBblock\fP: +.PD 0 +.RS +.IP 2. 4 +Número do fluxo que contém este bloco +.IP 3. 4 +Número do bloco relativo ao início do fluxo (o primeiro bloco é 1) +.IP 4. 4 +Número do bloco relativo ao início do arquivo +.IP 5. 4 +Deslocamento inicial compactado em relação ao início do arquivo +.IP 6. 4 +Deslocamento inicial descompactado em relação ao início do arquivo +.IP 7. 4 +Tamanho total compactado do bloco (inclui cabeçalhos) +.IP 8. 4 +Tamanho descompactado +.IP 9. 4 +Taxa de compactação +.IP 10. 4 +Nome da verificação de integridade +.RE +.PD +.PP +Se \fB\-\-verbose\fP for especificado duas vezes, colunas adicionais serão +incluídas nas linhas \fBblock\fP. Eles não são exibidos com um único +\fB\-\-verbose\fP, porque obter essas informações requer muitas buscas e, +portanto, pode ser lento: +.PD 0 +.RS +.IP 11. 4 +Valor da verificação de integridade em hexadecimal +.IP 12. 4 +Tamanho do cabeçalho do bloco +.IP 13. 4 +Sinalizadores de bloco: \fBc\fP indica que o tamanho compactado está presente e +\fBu\fP indica que o tamanho não compactado está presente. Se o sinalizador não +estiver definido, um traço (\fB\-\fP) será exibido para manter o comprimento da +string fixo. Novos sinalizadores podem ser adicionados ao final da string no +futuro. +.IP 14. 4 +Tamanho dos dados reais compactados no bloco (isso exclui o cabeçalho do +bloco, o preenchimento do bloco e os campos de verificação) +.IP 15. 4 +Quantidade de memória (em bytes) necessária para descompactar este bloco com +esta versão \fBxz\fP +.IP 16. 4 +Cadeia de filtro. Observe que a maioria das opções usadas no momento da +compactação não pode ser conhecida, pois apenas as opções necessárias para a +descompactação são armazenadas nos cabeçalhos \fB.xz\fP. +.RE +.PD +.PP +As colunas das linhas \fBsummary\fP: +.PD 0 +.RS +.IP 2. 4 +Quantidade de memória (em bytes) necessária para descompactar este arquivo +com esta versão do \fBxz\fP +.IP 3. 4 +\fByes\fP ou \fBno\fP indicando se todos os cabeçalhos de bloco têm tamanho +compactado e tamanho não compactado armazenados neles +.PP +\fIDesde\fP \fBxz\fP \fI5.1.2alpha:\fP +.IP 4. 4 +Versão mínima do \fBxz\fP necessária para descompactar o arquivo +.RE +.PD +.PP +As colunas da linha \fBtotals\fP: +.PD 0 +.RS +.IP 2. 4 +Número de fluxos +.IP 3. 4 +Número de blocos +.IP 4. 4 +Tamanho compactado +.IP 5. 4 +Tamanho descompactado +.IP 6. 4 +Taxa de compactação média +.IP 7. 4 +Lista separada por vírgulas de nomes de verificação de integridade que +estavam presentes nos arquivos +.IP 8. 4 +Tamanho do preenchimento do fluxo +.IP 9. 4 +Número de arquivos. Isso está aqui para manter a ordem das colunas +anteriores a mesma das linhas \fBfile\fP. +.PD +.RE +.PP +Se \fB\-\-verbose\fP for especificado duas vezes, colunas adicionais serão +incluídas na linha \fBtotals\fP: +.PD 0 +.RS +.IP 10. 4 +Quantidade máxima de memória (em bytes) necessária para descompactar os +arquivos com esta versão do \fBxz\fP +.IP 11. 4 +\fByes\fP ou \fBno\fP indicando se todos os cabeçalhos de bloco têm tamanho +compactado e tamanho não compactado armazenados neles +.PP +\fIDesde\fP \fBxz\fP \fI5.1.2alpha:\fP +.IP 12. 4 +Versão mínima do \fBxz\fP necessária para descompactar o arquivo +.RE +.PD +.PP +Versões futuras podem adicionar novos tipos de linha e novas colunas podem +ser adicionadas aos tipos de linha existentes, mas as colunas existentes não +serão alteradas. +. +.SS "Filters help" +\fBxz \-\-robot \-\-filters\-help\fP prints the supported filters in the following +format: +.PP +\fIfilter\fP\fB:\fP\fIoption\fP\fB=<\fP\fIvalue\fP\fB>,\fP\fIoption\fP\fB=<\fP\fIvalue\fP\fB>\fP... +.TP +\fIfilter\fP +Name of the filter +.TP +\fIoption\fP +Name of a filter specific option +.TP +\fIvalue\fP +Numeric \fIvalue\fP ranges appear as \fB<\fP\fImin\fP\fB\-\fP\fImax\fP\fB>\fP. String +\fIvalue\fP choices are shown within \fB< >\fP and separated by a \fB|\fP +character. +.PP +Each filter is printed on its own line. +. +.SS "Informações de limite de memória" +\fBxz \-\-robot \-\-info\-memory\fP prints a single line with multiple tab\-separated +columns: +.IP 1. 4 +Quantidade total de memória física (RAM) em bytes. +.IP 2. 4 +Limite de uso de memória para compactação em bytes +(\fB\-\-memlimit\-compress\fP). Um valor especial de \fB0\fP indica a configuração +padrão que para o modo de thread única é o mesmo que sem limite. +.IP 3. 4 +Limite de uso de memória para descompactação em bytes +(\fB\-\-memlimit\-decompress\fP). Um valor especial de \fB0\fP indica a configuração +padrão que para o modo de thread única é o mesmo que sem limite. +.IP 4. 4 +Desde \fBxz\fP 5.3.4alpha: Uso de memória para descompactação com várias thread +em bytes (\fB\-\-memlimit\-mt\-decompress\fP). Isso nunca é zero porque um valor +padrão específico do sistema mostrado na coluna 5 é usado se nenhum limite +for especificado explicitamente. Isso também nunca é maior que o valor na +coluna 3, mesmo que um valor maior tenha sido especificado com +\fB\-\-memlimit\-mt\-decompress\fP. +.IP 5. 4 +Desde \fBxz\fP 5.3.4alpha: Um limite de uso de memória padrão específico do +sistema que é usado para limitar o número de threads ao compactar com um +número automático de threads (\fB\-\-threads=0\fP) e nenhum limite de uso de +memória foi especificado (\fB\-\-memlimit\-compress\fP). Isso também é usado como +o valor padrão para \fB\-\-memlimit\-mt\-decompress\fP. +.IP 6. 4 +Desde \fBxz\fP 5.3.4alpha: Número de threads de processador disponíveis. +.PP +No futuro, a saída de \fBxz \-\-robot \-\-info\-memory\fP pode ter mais colunas, mas +nunca mais do que uma única linha. +. +.SS Versão +\fBxz \-\-robot \-\-version\fP prints the version number of \fBxz\fP and liblzma in +the following format: +.PP +\fBXZ_VERSION=\fP\fIXYYYZZZS\fP +.br +\fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP +.TP +\fIX\fP +Versão principal. +.TP +\fIYYY\fP +Versão menor. Números pares são estáveis. Os números ímpares são versões +alfa ou beta. +.TP +\fIZZZ\fP +Nível de patch para versões estáveis ou apenas um contador para versões de +desenvolvimento. +.TP +\fIS\fP +Estabilidade. 0 é alfa, 1 é beta e 2 é estável. \fIS\fP deve ser sempre 2 +quando \fIYYY\fP for par. +.PP +\fIXYYYZZZS\fP são iguais em ambas as linhas se \fBxz\fP e liblzma forem da mesma +versão do XZ Utils. +.PP +Exemplos: 4.999.9beta é \fB49990091\fP e 5.0.0 é \fB50000002\fP. +. +.SH "STATUS DE SAÍDA" +.TP +\fB0\fP +Está tudo bem. +.TP +\fB1\fP +Ocorreu um erro. +.TP +\fB2\fP +Algo digno de um aviso ocorreu, mas ocorreu nenhum erro real. +.PP +Observações (não avisos ou erros) impressas no erro padrão não afetam o +status de saída. +. +.SH AMBIENTE +\fBxz\fP analisa listas de opções separadas por espaços das variáveis de +ambiente \fBXZ_DEFAULTS\fP e \fBXZ_OPT\fP, nesta ordem, antes de analisar as +opções da linha de comando. Observe que apenas as opções são analisadas a +partir das variáveis de ambiente; todas as não opções são silenciosamente +ignoradas. A análise é feita com \fBgetopt_long\fP(3) que também é usado para +os argumentos da linha de comando. +.TP +\fBXZ_DEFAULTS\fP +Opções padrão específicas do usuário ou de todo o sistema. Normalmente, isso +é definido em um script de inicialização do shell para habilitar o limitador +de uso de memória do \fBxz\fP por padrão. Excluindo scripts de inicialização de +shell e casos especiais semelhantes, os scripts nunca devem definir ou +remover a definição de \fBXZ_DEFAULTS\fP. +.TP +\fBXZ_OPT\fP +Isso é para passar opções para \fBxz\fP quando não é possível definir as opções +diretamente na linha de comando \fBxz\fP. Este é o caso quando \fBxz\fP é +executado por um script ou ferramenta, por exemplo, GNU \fBtar\fP(1): +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=\-2v tar caf foo.tar.xz foo\fP +.fi +.RE +.RE +.IP "" +Os scripts podem usar \fBXZ_OPT\fP, por exemplo, para definir opções de +compactação padrão específicas do script. Ainda é recomendável permitir que +os usuários substituam \fBXZ_OPT\fP se isso for razoável. Por exemplo, em +scripts \fBsh\fP(1) pode\-se usar algo assim: +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=${XZ_OPT\-"\-7e"} export XZ_OPT\fP +.fi +.RE +.RE +. +.SH "COMPATIBILIDADE COM LZMA UTILS" +A sintaxe da linha de comando do \fBxz\fP é praticamente um superconjunto de +\fBlzma\fP, \fBunlzma\fP e \fBlzcat\fP conforme encontrado no LZMA Utils 4.32.x. Na +maioria dos casos, é possível substituir LZMA Utils por XZ Utils sem +interromper os scripts existentes. Existem algumas incompatibilidades, +porém, que às vezes podem causar problemas. +. +.SS "Níveis de predefinição de compactação" +A numeração das predefinições de nível de compactação não é idêntica em +\fBxz\fP e LZMA Utils. A diferença mais importante é como os tamanhos dos +dicionários são mapeados para diferentes predefinições. O tamanho do +dicionário é aproximadamente igual ao uso de memória do descompactador. +.RS +.PP +.TS +tab(;); +c c c +c n n. +Nível;xz;LZMA Utils +\-0;256 KiB;N/D +\-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 +As diferenças de tamanho do dicionário também afetam o uso da memória do +compressor, mas existem algumas outras diferenças entre LZMA Utils e XZ +Utils, que tornam a diferença ainda maior: +.RS +.PP +.TS +tab(;); +c c c +c n n. +Nível;xz;LZMA Utils 4.32.x +\-0;3 MiB;N/D +\-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 +O nível de predefinição padrão no LZMA Utils é \fB\-7\fP enquanto no XZ Utils é +\fB\-6\fP, então ambos usam um dicionário de 8 MiB por padrão. +. +.SS "Arquivos .lzma em um fluxo versus sem ser em um fluxo" +O tamanho descompactado do arquivo pode ser armazenado no cabeçalho de +\&\fB.lzma\fP. O LZMA Utils faz isso ao compactar arquivos comuns. A alternativa +é marcar que o tamanho não compactado é desconhecido e usar o marcador de +fim de carga útil para indicar onde o descompactador deve parar. O LZMA +Utils usa este método quando o tamanho não compactado não é conhecido, como +é o caso, por exemplo, de encadeamentos (pipes). +.PP +\fBxz\fP oferece suporte à descompactação de arquivos \fB.lzma\fP com ou sem +marcador de fim de carga útil, mas todos os arquivos \fB.lzma\fP criados por +\fBxz\fP usarão marcador de fim de carga útil e terão o tamanho descompactado +marcado como desconhecido no cabeçalho de \fB.lzma\fP. Isso pode ser um +problema em algumas situações incomuns. Por exemplo, um descompactador de +\&\fB.lzma\fP em um dispositivo embarcado pode funcionar apenas com arquivos que +tenham tamanho descompactado conhecido. Se você encontrar esse problema, +precisará usar o LZMA Utils ou o LZMA SDK para criar arquivos \fB.lzma\fP com +tamanho descompactado conhecido. +. +.SS "Arquivos .lzma não suportados" +O formato \fB.lzma\fP permite valores \fIlc\fP até 8 e valores \fIlp\fP até 4. LZMA +Utils pode descompactar arquivos com qualquer \fIlc\fP e \fIlp\fP, mas sempre cria +arquivos com \fBlc=3\fP e \fBlp=0\fP. Criar arquivos com outros \fIlc\fP e \fIlp\fP é +possível com \fBxz\fP e com LZMA SDK. +.PP +A implementação do filtro LZMA1 em liblzma requer que a soma de \fIlc\fP e +\fIlp\fP não exceda 4. Assim, arquivos \fB.lzma\fP, que excedam esta limitação, +não podem ser descompactados com \fBxz\fP. +.PP +LZMA Utils cria apenas arquivos \fB.lzma\fP que possuem um tamanho de +dicionário de 2^\fIn\fP (uma potência de 2), mas aceita arquivos com qualquer +tamanho de dicionário. liblzma aceita apenas arquivos \fB.lzma\fP que tenham um +tamanho de dicionário de 2^\fIn\fP ou 2^\fIn\fP + 2^(\fIn\fP\-1). Isso é para diminuir +os falsos positivos ao detectar arquivos \fB.lzma\fP. +.PP +Essas limitações não devem ser um problema na prática, já que praticamente +todos os arquivos \fB.lzma\fP foram compactados com configurações que o liblzma +aceitará. +. +.SS "Lixo à direita" +Ao descompactar, o LZMA Utils silenciosamente ignora tudo após o primeiro +fluxo \fB.lzma\fP. Na maioria das situações, isso é um bug. Isso também +significa que o LZMA Utils não oferece suporte a descompactação de arquivos +\&\fB.lzma\fP concatenados. +.PP +Se houver dados restantes após o primeiro fluxo de \fB.lzma\fP, \fBxz\fP considera +o arquivo corrompido, a menos que \fB\-\-single\-stream\fP tenha sido usado. Isso +pode quebrar scripts obscuros que presumiram que o lixo à direita é +ignorado. +. +.SH NOTAS +. +.SS "A saída compactada pode variar" +A saída compactada exata produzida a partir do mesmo arquivo de entrada não +compactado pode variar entre as versões do XZ Utils, mesmo se as opções de +compactação forem idênticas. Isso ocorre porque o codificador pode ser +aprimorado (compactação mais rápida ou melhor) sem afetar o formato do +arquivo. A saída pode variar mesmo entre diferentes compilações da mesma +versão do XZ Utils, se diferentes opções de compilação forem usadas. +.PP +A informação acima significa que, uma vez que \fB\-\-rsyncable\fP tenha sido +implementado, os arquivos resultantes não serão necessariamente +"rsyncáveis", a menos que os arquivos antigos e novos tenham sido +compactados com a mesma versão xz. Esse problema pode ser corrigido se uma +parte da implementação do codificador for congelada para manter a saída de +rsyncable estável nas versões do xz. +. +.SS "Descompactadores .xz embarcados" +As implementações do descompactador \fB.xz\fP embarcados, como o XZ Embedded, +não oferecem necessariamente suporte a arquivos criados com tipos de +\fIverificações\fP de integridade diferentes de \fBnone\fP e \fBcrc32\fP. Como o +padrão é \fB\-\-check=crc64\fP, você deve usar \fB\-\-check=none\fP ou +\fB\-\-check=crc32\fP ao criar arquivos para sistemas embarcados. +.PP +Fora dos sistemas embarcados, todos os descompactadores de formato \fB.xz\fP +oferecem suporte a todos os tipos de \fIverificação\fP ou, pelo menos, são +capazes de descompactar o arquivo sem verificar a verificação de integridade +se a \fIverificação\fP específica não for suportada. +.PP +XZ Embedded oferece suporte a filtros BCJ, mas apenas com o deslocamento +inicial padrão. +. +.SH EXEMPLOS +. +.SS Básico +Compactar o arquivo \fIfoo\fP em \fIfoo.xz\fP usando o nível de compactação padrão +(\fB\-6\fP) e remover \fIfoo\fP se a compactação for bem\-sucedida: +.RS +.PP +.nf +\f(CWxz foo\fP +.fi +.RE +.PP +Descompactar \fIbar.xz\fP em \fIbar\fP e não remover \fIbar.xz\fP mesmo se a +descompactação for bem\-sucedida: +.RS +.PP +.nf +\f(CWxz \-dk bar.xz\fP +.fi +.RE +.PP +Criar \fIbaz.tar.xz\fP com a predefinição \fB\-4e\fP (\fB\-4 \-\-extreme\fP), que é mais +lenta que o padrão \fB\-6\fP, mas precisa de menos memória para compactação e +descompactação (48 \ MiB e 5\ MiB, respectivamente): +.RS +.PP +.nf +\f(CWtar cf \- baz | xz \-4e > baz.tar.xz\fP +.fi +.RE +.PP +Uma mistura de arquivos compactados e descompactados pode ser descompactada +para a saída padrão com um único comando: +.RS +.PP +.nf +\f(CWxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fP +.fi +.RE +. +.SS "Compactação paralela de muitos arquivos" +No GNU e *BSD, \fBfind\fP(1) e \fBxargs\fP(1) podem ser usados para paralelizar a +compactação de muitos arquivos: +.RS +.PP +.nf +\f(CWfind . \-type f \e! \-name '*.xz' \-print0 \e | xargs \-0r \-P4 \-n16 xz \-T1\fP +.fi +.RE +.PP +A opção \fB\-P\fP para \fBxargs\fP(1) define o número de processos paralelos do +\fBxz\fP. O melhor valor para a opção \fB\-n\fP depende de quantos arquivos devem +ser compactados. Se houver apenas alguns arquivos, o valor provavelmente +deve ser 1; com dezenas de milhares de arquivos, 100 ou até mais podem ser +apropriados para reduzir o número de processos de \fBxz\fP que \fBxargs\fP(1) +eventualmente criará. +.PP +A opção \fB\-T1\fP para \fBxz\fP existe para forçá\-lo ao modo de thread única, +porque \fBxargs\fP(1) é usado para controlar a quantidade de paralelização. +. +.SS "Modo robô" +Calcular quantos bytes foram salvos no total depois de compactar vários +arquivos: +.RS +.PP +.nf +\f(CWxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fP +.fi +.RE +.PP +Um script pode querer saber que está usando \fBxz\fP novo o suficiente. O +seguinte script \fBsh\fP(1) verifica se o número da versão da ferramenta \fBxz\fP +é pelo menos 5.0.0. Este método é compatível com versões beta antigas, que +não suportavam a opção \fB\-\-robot\fP: +.RS +.PP +.nf +\f(CWif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" || [ "$XZ_VERSION" \-lt 50000002 ]; then echo "Your xz is too old." fi unset XZ_VERSION LIBLZMA_VERSION\fP +.fi +.RE +.PP +Definir um limite de uso de memória para descompactação usando \fBXZ_OPT\fP, +mas se um limite já tiver sido definido, não o aumentar: +.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 "Cadeias de filtro de compressor personalizadas" +O uso mais simples para cadeias de filtro personalizadas é personalizar uma +predefinição LZMA2. Isso pode ser útil, porque as predefinições abrangem +apenas um subconjunto das combinações potencialmente úteis de configurações +de compactação. +.PP +As colunas CompCPU das tabelas das descrições das opções \fB\-0\fP ... \fB\-9\fP e +\fB\-\-extreme\fP são úteis ao personalizar as predefinições LZMA2. Aqui estão as +partes relevantes coletadas dessas duas tabelas: +.RS +.PP +.TS +tab(;); +c c +n n. +Predefinição;CompCPU +\-0;0 +\-1;1 +\-2;2 +\-3;3 +\-4;4 +\-5;5 +\-6;6 +\-5e;7 +\-6e;8 +.TE +.RE +.PP +Se você sabe que um arquivo requer um dicionário um tanto grande (por +exemplo, 32\ MiB) para compactar bem, mas deseja comprimi\-lo mais +rapidamente do que \fBxz \-8\fP faria, uma predefinição com um valor CompCPU +baixo (por exemplo, 1) pode ser modificado para usar um dicionário maior: +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=1,dict=32MiB foo.tar\fP +.fi +.RE +.PP +Com certos arquivos, o comando acima pode ser mais rápido que \fBxz \-6\fP +enquanto compacta significativamente melhor. No entanto, deve\-se enfatizar +que apenas alguns arquivos se beneficiam de um grande dicionário, mantendo o +valor CompCPU baixo. A situação mais óbvia, onde um grande dicionário pode +ajudar muito, é um arquivo contendo arquivos muito semelhantes de pelo menos +alguns megabytes cada. O tamanho do dicionário deve ser significativamente +maior do que qualquer arquivo individual para permitir que o LZMA2 aproveite +ao máximo as semelhanças entre arquivos consecutivos. +.PP +Se o uso muito alto de memória do compactador e do descompactador for bom e +o arquivo que está sendo compactado tiver pelo menos várias centenas de +megabytes, pode ser útil usar um dicionário ainda maior do que os 64 MiB que +o \fBxz \-9\fP usaria: +.RS +.PP +.nf +\f(CWxz \-vv \-\-lzma2=dict=192MiB big_foo.tar\fP +.fi +.RE +.PP +Usar \fB\-vv\fP (\fB\-\-verbose \-\-verbose\fP) como no exemplo acima pode ser útil +para ver os requisitos de memória do compactador e do +descompactador. Lembre\-se que usar um dicionário maior que o tamanho do +arquivo descompactado é desperdício de memória, então o comando acima não é +útil para arquivos pequenos. +.PP +Às vezes, o tempo de compactação não importa, mas o uso de memória do +descompactador deve ser mantido baixo, por exemplo, para possibilitar a +descompactação do arquivo em um sistema embarcado. O comando a seguir usa +\fB\-6e\fP (\fB\-6 \-\-extreme\fP) como base e define o dicionário como apenas 64\ KiB. O arquivo resultante pode ser descompactado com XZ Embedded (é por isso +que existe \fB\-\-check=crc32\fP) usando cerca de 100\ KiB de memória. +.RS +.PP +.nf +\f(CWxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo\fP +.fi +.RE +.PP +Se você deseja espremer o máximo de bytes possível, ajustar o número de bits +de contexto literal (\fIlc\fP) e o número de bits de posição (\fIpb\fP) às vezes +pode ajudar. Ajustar o número de bits de posição literal (\fIlp\fP) também pode +ajudar, mas geralmente \fIlc\fP e \fIpb\fP são mais importantes. Por exemplo, um +arquivo de código\-fonte contém principalmente texto US\-ASCII, então algo +como o seguinte pode fornecer um arquivo ligeiramente (como 0,1\ %) menor +que \fBxz \-6e\fP (tente também sem \fBlc=4\fP): +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=6e,pb=0,lc=4 source_code.tar\fP +.fi +.RE +.PP +O uso de outro filtro junto com o LZMA2 pode melhorar a compactação com +determinados tipos de arquivo. Por exemplo, para compactar uma biblioteca +compartilhada x86\-32 ou x86\-64 usando o filtro x86 BCJ: +.RS +.PP +.nf +\f(CWxz \-\-x86 \-\-lzma2 libfoo.so\fP +.fi +.RE +.PP +Observe que a ordem das opções de filtro é significativa. Se \fB\-\-x86\fP for +especificado após \fB\-\-lzma2\fP, \fBxz\fP dará um erro, porque não pode haver +nenhum filtro após LZMA2 e também porque o filtro x86 BCJ não pode ser usado +como o último filtro em a corrente. +.PP +O filtro Delta junto com LZMA2 pode dar bons resultados com imagens +bitmap. Ele geralmente deve superar o PNG, que possui alguns filtros mais +avançados do que o delta simples, mas usa Deflate para a compactação real. +.PP +A imagem deve ser salva em formato não compactado, por exemplo, como TIFF +não compactado. O parâmetro de distância do filtro Delta é definido para +corresponder ao número de bytes por pixel na imagem. Por exemplo, bitmap RGB +de 24 bits precisa de \fBdist=3\fP, e também é bom passar \fBpb=0\fP para LZMA2 +para acomodar o alinhamento de três bytes: +.RS +.PP +.nf +\f(CWxz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff\fP +.fi +.RE +.PP +Se várias imagens foram colocadas em um único arquivo (por exemplo, +\&\fB.tar\fP), o filtro Delta também funcionará, desde que todas as imagens +tenham o mesmo número de bytes por pixel. +. +.SH "VEJA TAMBÉM" +\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 Utils: <https://xz.tukaani.org/xz\-utils/> +.br +XZ Embedded: <https://xz.tukaani.org/xz\-embedded/> +.br +LZMA SDK: <https://7\-zip.org/sdk.html> diff --git a/po4a/man/pt_BR/xzdec.1 b/po4a/man/pt_BR/xzdec.1 new file mode 100644 index 00000000..4a1130fe --- /dev/null +++ b/po4a/man/pt_BR/xzdec.1 @@ -0,0 +1,87 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" Brazilian Portuguese translations for xz package +.\" Traduções em português brasileiro para o pacote xz. +.\" Rafael Fontenelle <rafaelff@gnome.org>, 2022-2023. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 2024\-01\-19 Tukaani "XZ Utils" +.SH NOME +xzdec, lzmadec \- Pequenos descompactadores .xz e .lzma +.SH SINOPSE +\fBxzdec\fP [\fIopção...\fP] [\fIarquivo...\fP] +.br +\fBlzmadec\fP [\fIopção...\fP] [\fIarquivo...\fP] +.SH DESCRIÇÃO +\fBxzdec\fP é uma ferramenta de descompactação baseada em liblzma somente para +arquivos \fB.xz\fP (e somente \fB.xz\fP). \fBxzdec\fP destina\-se a funcionar como um +substituto para \fBxz\fP(1) nas situações mais comuns em que um script foi +escrito para usar \fBxz \-\-decompress \-\-stdout\fP (e possivelmente alguns outras +opções comumente usadas) para descompactar arquivos \fB.xz\fP. \fBlzmadec\fP é +idêntico a \fBxzdec\fP exceto que \fBlzmadec\fP tem suporte a arquivos \fB.lzma\fP em +vez de arquivos \fB.xz\fP. +.PP +Para reduzir o tamanho do executável, \fBxzdec\fP não tem suporte ao uso de +várias threads ou a localização, e não lê opções de variáveis de ambiente +\fBXZ_DEFAULTS\fP e \fBXZ_OPT\fP. \fBxzdec\fP não tem suporte à exibição de +informações de progresso intermediárias: enviar \fBSIGINFO\fP para \fBxzdec\fP não +faz nada, mas enviar \fBSIGUSR1\fP encerra o processo em vez de exibir +informações de progresso. +.SH OPÇÕES +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +Ignorada para compatibilidade \fBxz\fP(1). \fBxzdec\fP tem suporte a apenas +descompactação. +.TP +\fB\-k\fP, \fB\-\-keep\fP +Ignorada para compatibilidade \fBxz\fP(1). \fBxzdec\fP nunca cria ou remove +quaisquer arquivos. +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +Ignorada para compatibilidade \fBxz\fP(1). \fBxzdec\fP sempre grava os dados +descompactados para a saída padrão. +.TP +\fB\-q\fP, \fB\-\-quiet\fP +Especificar isso uma vez não faz nada, pois \fBxzdec\fP nunca exibe nenhum +aviso ou notificação. Especifique isso duas vezes para suprimir erros. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +Ignorada para compatibilidade \fBxz\fP(1). \fBxzdec\fP nunca usa o status de saída +2. +.TP +\fB\-h\fP, \fB\-\-help\fP +Exibe uma mensagem de ajuda e sai com sucesso. +.TP +\fB\-V\fP, \fB\-\-version\fP +Mostra o número da versão do \fBxzdec\fP e liblzma. +.SH "STATUS DE SAÍDA" +.TP +\fB0\fP +Correu tudo bem. +.TP +\fB1\fP +Ocorreu um erro. +.PP +\fBxzdec\fP não possui nenhuma mensagem de aviso como o \fBxz\fP(1), portanto, o +status de saída 2 não é usado por \fBxzdec\fP. +.SH NOTAS +Use \fBxz\fP(1) em vez de \fBxzdec\fP ou \fBlzmadec\fP para uso diário +normal. \fBxzdec\fP ou \fBlzmadec\fP destinam\-se apenas a situações em que é +importante ter um descompactador menor do que o \fBxz\fP(1) completo. +.PP +\fBxzdec\fP e \fBlzmadec\fP não são realmente tão pequenos. O tamanho pode ser +reduzido ainda mais eliminando recursos do liblzma no tempo de compilação, +mas isso geralmente não deve ser feito para executáveis distribuídos em +distribuições típicas de sistemas operacionais não embarcados. Se você +precisa de um descompactador \fB.xz\fP realmente pequeno, considere usar o XZ +Embedded. +.SH "VEJA TAMBÉM" +\fBxz\fP(1) +.PP +XZ Embedded: <https://xz.tukaani.org/xz\-embedded/> diff --git a/po4a/man/pt_BR/xzless.1 b/po4a/man/pt_BR/xzless.1 new file mode 100644 index 00000000..f0d54bf2 --- /dev/null +++ b/po4a/man/pt_BR/xzless.1 @@ -0,0 +1,48 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" Brazilian Portuguese translations for xz package +.\" Traduções em português brasileiro para o pacote xz. +.\" Rafael Fontenelle <rafaelff@gnome.org>, 2022-2023. +.\" +.\" (Note that this file is not based on gzip's zless.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZLESS 1 2024\-02\-12 Tukaani "XZ Utils" +.SH NOME +xzless, lzless \- visualiza arquivos (texto) compactados em xz ou lzma +.SH SINOPSE +\fBxzless\fP [\fIarquivo\fP...] +.br +\fBlzless\fP [\fIarquivo\fP...] +.SH DESCRIÇÃO +\fBxzless\fP is a filter that displays text from compressed files to a +terminal. Files supported by \fBxz\fP(1) are decompressed; other files are +assumed to be in uncompressed form already. If no \fIfiles\fP are given, +\fBxzless\fP reads from standard input. +.PP +\fBxzless\fP usa \fBless\fP(1) para apresentar sua saída. Ao contrário de +\fBxzmore\fP, sua escolha de pager não pode ser alterada pela configuração de +uma variável de ambiente. Os comandos são baseados em \fBmore\fP(1) e \fBvi\fP(1) +e permitem movimento e busca para frente e para trás. Consulte o manual +\fBless\fP(1) para obter mais informações. +.PP +O comando denominado \fBlzless\fP é fornecido para compatibilidade com versões +anteriores do LZMA Utils. +.SH AMBIENTE +.TP +\fBLESSMETACHARS\fP +Uma lista de caracteres especiais para o shell. Definido por \fBxzless\fP a +menos que já esteja definido no ambiente. +.TP +\fBLESSOPEN\fP +Defina como uma linha de comando para invocar o descompactador \fBxz\fP(1) para +pré\-processar os arquivos de entrada para \fBless\fP(1). +.SH "VEJA TAMBÉM" +\fBless\fP(1), \fBxz\fP(1), \fBxzmore\fP(1), \fBzless\fP(1) diff --git a/po4a/man/ro/lzmainfo.1 b/po4a/man/ro/lzmainfo.1 new file mode 100644 index 00000000..c4d97fdb --- /dev/null +++ b/po4a/man/ro/lzmainfo.1 @@ -0,0 +1,54 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" Romanian translation for xz-man. +.\" Mesajele în limba română pentru manualul pachetului XZ Utils. +.\" Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2024. +.\" Cronologia traducerii fișierului „xz-man”: +.\" Traducerea inițială, făcută de R-GC, pentru versiunea xz-man 5.4.0-pre1. +.\" Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022. +.\" Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023. +.\" Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre1, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre2, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LZMAINFO 1 30.06.2013 Tukaani "Utilități XZ" +.SH NUME +lzmainfo \- afișează informațiile stocate în antetul fișierului .lzma +.SH REZUMAT +\fBlzmainfo\fP [\fB\-\-help\fP] [\fB\-\-version\fP] [\fIfișier...\fP] +.SH DESCRIERE +\fBlzmainfo\fP afișează informațiile stocate în antetul fișierului +\&\fB.lzma\fP. Citește primii 13 octeți din \fIfișierul\fP specificat, decodifică +antetul și îl afișează la ieșirea standard în format care poate fi citit de +om. Dacă nu sunt date \fIfișiere\fP sau dacă \fIfișier\fP este \fB\-\fP, se citește +intrarea standard. +.PP +De obicei, cele mai interesante informații sunt dimensiunea necomprimată și +dimensiunea dicționarului. Dimensiunea necomprimată poate fi afișată numai +dacă fișierul este în varianta formatului \fB.lzma\fP netransmis în +flux. Cantitatea de memorie necesară pentru a decomprima fișierul este de +câteva zeci de kiloocteți plus dimensiunea dicționarului. +.PP +\fBlzmainfo\fP este inclus în XZ Utils în primul rând pentru compatibilitatea +cu LZMA Utils. +.SH "STARE DE IEȘIRE" +.TP +\fB0\fP +Totul este bine. +.TP +\fB1\fP +A apărut o eroare. +.SH ERORI +\fBlzmainfo\fP folosește sufixul \fBMB\fP în timp ce sufixul corect ar fi \fBMiB\fP +(2^20 octeți). Acest lucru este pentru a menține ieșirea compatibilă cu LZMA +Utils. +.SH "CONSULTAȚI ȘI" +\fBxz\fP(1) diff --git a/po4a/man/ro/xz.1 b/po4a/man/ro/xz.1 new file mode 100644 index 00000000..ca66f295 --- /dev/null +++ b/po4a/man/ro/xz.1 @@ -0,0 +1,2037 @@ +'\" t +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" Romanian translation for xz-man. +.\" Mesajele în limba română pentru manualul pachetului XZ Utils. +.\" Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2024. +.\" Cronologia traducerii fișierului „xz-man”: +.\" Traducerea inițială, făcută de R-GC, pentru versiunea xz-man 5.4.0-pre1. +.\" Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022. +.\" Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023. +.\" Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre1, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre2, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 "13 februarie 2024" Tukaani "Utilități XZ" +. +.SH NUME +xz, unxz, xzcat, lzma, unlzma, lzcat \- Comprimă sau decomprimă fișiere .xz +și .lzma +. +.SH REZUMAT +\fBxz\fP [\fIopțiune...\fP] [\fIfișier...\fP] +. +.SH "ALIAS COMENZI" +\fBunxz\fP este echivalent cu \fBxz \-\-decompress\fP. +.br +\fBxzcat\fP este echivalent cu \fBxz \-\-decompress \-\-stdout\fP. +.br +\fBlzma\fP este echivalent cu \fBxz \-\-format=lzma\fP. +.br +\fBunlzma\fP este echivalent cu \fBxz \-\-format=lzma \-\-decompress\fP. +.br +\fBlzcat\fP este echivalent cu \fBxz \-\-format=lzma \-\-decompress \-\-stdout\fP. +.PP +Când scrieți scripturi care trebuie să decomprime fișiere, este recomandat +să folosiți întotdeauna comanda \fBxz\fP cu argumentele adecvate (\fBxz \-d\fP sau +\fBxz \-dc\fP) în loc de comenzile \fBunxz\fP și \fBxzcat\fP. +. +.SH DESCRIERE +\fBxz\fP este un instrument de comprimare a datelor de uz general cu sintaxă de +linie de comandă similară cu \fBgzip\fP(1) și \fBbzip2\fP(1). Formatul de fișier +nativ este formatul \fB.xz\fP, dar formatul vechi \fB.lzma\fP folosit de LZMA +Utils și fluxurile comprimate brute fără anteturi de format container sunt +de asemenea acceptate. În plus, este acceptată decomprimarea formatului +\&\fB.lz\fP folosit de \fBlzip\fP. +.PP +\fBxz\fP comprimă sau decomprimă fiecare \fIfișier\fP în funcție de modul de +operare selectat. Dacă nu sunt date \fIfișiere\fP sau \fIfișier\fP este \fB\-\fP, +\fBxz\fP citește de la intrarea standard și scrie datele procesate la ieșirea +standard. \fBxz\fP va refuza (afișează o eroare și omite \fIfișier\fP) să scrie +date comprimate la ieșirea standard dacă este un terminal. În mod similar, +\fBxz\fP va refuza să citească datele comprimate de la intrarea standard dacă +este un terminal. +.PP +Cu excepția cazului în care este specificată opțiunea \fB\-\-stdout\fP, +\fIfișierele\fP altele decât \fB\-\fP sunt scrise într\-un fișier nou al cărui nume +este derivat din numele \fIfișierului\fP sursă: +.IP \(bu 3 +La comprimare, sufixul formatului de fișier țintă (\fB.xz\fP sau \fB.lzma\fP) este +atașat la numele fișierului sursă pentru a se obține numele fișierului +țintă. +.IP \(bu 3 +La decomprimare, sufixul \fB.xz\fP, \fB.lzma\fP sau \fB.lz\fP este eliminat din +numele fișierului pentru a se obține numele fișierului țintă. \fBxz\fP +recunoaște și sufixele \fB.txz\fP și \fB.tlz\fP și le înlocuiește cu sufixul +\&\fB.tar\fP. +.PP +Dacă fișierul țintă există deja, este afișată o eroare și \fIfișier\fP este +omis. +.PP +Cu excepția cazului în care scrie la ieșirea standard, \fBxz\fP va afișa un +avertisment și va omite \fIfișier\fPul dacă se aplică oricare dintre +următoarele: +.IP \(bu 3 +\fIFișierul\fP nu este un fișier obișnuit. Legăturile simbolice nu sunt urmate +și, prin urmare, nu sunt considerate fișiere obișnuite. +.IP \(bu 3 +\fIFișierul\fP are mai mult de o legătură dură. +.IP \(bu 3 +\fIFișierul\fP are activat bitul «setuid», «setgid» sau cel lipicios(sticky). +.IP \(bu 3 +Modul de operare este stabilit la comprimare și \fIfișier\fP are deja un sufix +al formatului de fișier țintă (\fB.xz\fP sau \fB.txz\fP când se comprimă în +formatul \fB.xz\fP și \fB.lzma\fP sau \fB.tlz\fP când se comprimă în formatul +\&\fB.lzma\fP). +.IP \(bu 3 +Modul de operare este stabilit la decomprimare și \fIfișierul\fP nu are un +sufix al niciunui format de fișier acceptat (\fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, +\&\fB.tlz\fP, sau \fB.lz\fP). +.PP +După comprimarea sau decomprimarea cu succes a \fIfișierului\fP, \fBxz\fP copiază +proprietarul, grupul, permisiunile, timpul de acces și timpul de modificare +din \fIfișierul\fP sursă în fișierul țintă. Dacă copierea grupului eșuează, +permisiunile sunt modificate astfel încât fișierul țintă să nu devină +accesibil utilizatorilor care nu aveau permisiunea de a accesa \fIfișierul\fP +sursă. \fBxz\fP nu acceptă încă copierea altor metadate, cum ar fi listele de +control al accesului sau atributele extinse. +.PP +Odată ce fișierul țintă a fost închis cu succes, \fIfișierul\fP sursă este +eliminat dacă nu a fost specificată opțiunea \fB\-\-keep\fP. \fIFișierul\fP sursă nu +este niciodată eliminat dacă rezultatul este scris la ieșirea standard sau +dacă apare o eroare. +.PP +Trimiterea unui semnal \fBSIGINFO\fP sau \fBSIGUSR1\fP către procesul \fBxz\fP face +ca acesta să imprime informații despre progres la ieșirea de eroare +standard. Acest lucru are o utilizare limitată, deoarece atunci când ieșirea +de eroare standard este un terminal, folosind opțiunea \fB\-\-verbose\fP va afișa +un indicator de progres de actualizare automată. +. +.SS "Utilizarea memoriei" +Cantitatea de memorie utilizată de \fBxz\fP variază de la câteva sute de +kiloocteți la câțiva gigaocteți, în funcție de opțiunile de +comprimare. Opțiunile utilizate la comprimarea unui fișier determină +cerințele de memorie ale instrumentului de decomprimare. De obicei, +instrumentul de decomprimare are nevoie de 5% până la 20% din cantitatea de +memorie de care a avut nevoie instrumentul de comprimare la crearea +fișierului. De exemplu, decomprimarea unui fișier creat cu \fBxz \-9\fP necesită +în prezent 65Mio de memorie. Totuși, este posibil să aveți fișiere \fB.xz\fP +care necesită câțiva gigaocteți de memorie pentru decomprimare. +.PP +În special utilizatorii de sisteme mai vechi pot considera deranjantă +posibilitatea unei utilizări foarte mari a memoriei. Pentru a preveni +surprizele neplăcute, \fBxz\fP are încorporat un limitator de utilizare a +memoriei, care este dezactivat implicit. În timp ce unele sisteme de operare +oferă modalități de a limita utilizarea memoriei proceselor, bazarea pe +aceasta nu a fost considerată a fi suficient de flexibilă (de exemplu, +utilizarea \fBulimit\fP(1) pentru a limita memoria virtuală tinde să paralizeze +\fBmmap\fP(2)). +.PP +Limitatorul de utilizare a memoriei poate fi activat cu opțiunea din linia +de comandă \fB\-\-memlimit=\fP\fIlimita\fP. Adesea este mai convenabil să activați +limitatorul în mod implicit prin definirea variabilei de mediu +\fBXZ_DEFAULTS\fP, de exemplu, \fBXZ_DEFAULTS=\-\-memlimit=150MiB\fP. Este posibil +să stabiliți limitele separat pentru comprimare și decomprimare folosind +\fB\-\-memlimit\-compress=\fP\fIlimita\fP și +\fB\-\-memlimit\-decompress=\fP\fIlimita\fP. Utilizarea acestor două opțiuni în afara +\fBXZ_DEFAULTS\fP este foarte rar utilă, deoarece o singură rulare a \fBxz\fP nu +poate face atât comprimarea, cât și decomprimarea și \fB\-\-memlimit=\fP\fIlimita\fP +(sau \fB\-M\fP \fIlimita\fP ) este mai scurt de tastat pe linia de comandă. +.PP +Dacă limita de utilizare a memoriei specificată este depășită la +decomprimare, \fBxz\fP va afișa o eroare și decomprimarea fișierului va +eșua. Dacă limita este depășită la comprimare, \fBxz\fP va încerca să reducă +valorile stabilite astfel încât limita să nu mai fie depășită (cu excepția +cazului în care se utilizează opțiunea \fB\-\-format=raw\fP sau +\fB\-\-no\-adjust\fP). În acest fel, operațiunea nu va eșua decât dacă limita +stabilită este foarte mică. Scalarea valorilor stabilite se face în pași +care nu se potrivesc cu valorile prestabilite ale nivelului de comprimare, +de exemplu, dacă limita este doar puțin mai mică decât cantitatea necesară +pentru \fBxz \-9\fP, valorile stabilite vor fi reduse doar puțin , nu până la +valoarea prestabilită a lui \fBxz \-8\fP. +. +.SS "Concatenare și completare (prin umplere cu octeți nuli) cu fișiere .xz" +Este posibil să concatenați fișierele \fB.xz\fP așa cum sunt. \fBxz\fP va +decomprima astfel de fișiere ca și cum ar fi un singur fișier \fB.xz\fP. +.PP +Este posibil să se introducă umplutură între părțile concatenate sau după +ultima parte. Umplutura trebuie să fie compusă din octeți nuli, iar +dimensiunea umpluturii trebuie să fie un multiplu de patru octeți. Acest +lucru poate fi util, de exemplu, dacă fișierul \fB.xz\fP este stocat pe un +mediu care măsoară dimensiunile fișierelor în blocuri de 512 de octeți. +.PP +Concatenarea și completarea nu sunt permise cu fișierele \fB.lzma\fP sau +fluxurile brute. +. +.SH OPȚIUNI +. +.SS "Sufixe de numere întregi și valori speciale" +În majoritatea locurilor în care este de așteptat un număr întreg ca +argument, un sufix opțional este acceptat pentru a indica cu ușurință +numerele întregi mari. Nu trebuie să existe spațiu între numărul întreg și +sufix. +.TP +\fBKiB\fP +Înmulțește numărul întreg cu 1.024 (2^10). \fBKi\fP, \fBk\fP, \fBkB\fP, \fBK\fP și +\fBKB\fP sunt acceptate ca sinonime pentru \fBKiB\fP. +.TP +\fBMiB\fP +Înmulțește numărul întreg cu 1,048,576 (2^20). \fBMi\fP, \fBm\fP, \fBM\fP, și \fBMB\fP +sunt acceptate ca sinonime pentru \fBMiB\fP. +.TP +\fBGiB\fP +Înmulțește numărul întreg cu 1,073,741,824 (2^30). \fBGi\fP, \fBg\fP, \fBG\fP, și +\fBGB\fP sunt acceptate ca sinonime pentru \fBGiB\fP. +.PP +Valoarea specială \fBmax\fP poate fi utilizată pentru a indica valoarea maximă +întreagă suportată de opțiune. +. +.SS "Mod de operare" +Dacă sunt date mai multe opțiuni de mod de funcționare, ultima dintre ele, +este cea care va avea efect. +.TP +\fB\-z\fP, \fB\-\-compress\fP +Comprimare. Acesta este modul de operare implicit atunci când nu este +specificată nicio opțiune de mod de funcționare și nici un alt mod de +operare nu este implicat din numele comenzii (de exemplu, \fBunxz\fP implică +\fB\-\-decompress\fP). +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +Decomprimare. +.TP +\fB\-t\fP, \fB\-\-test\fP +Testează integritatea \fIfișierelor\fP comprimate. Această opțiune este +echivalentă cu \fB\-\-decompress \-\-stdout\fP cu excepția faptului că datele +decomprimate sunt înlăturate în loc să fie scrise la ieșirea standard. Nu +sunt create sau eliminate fișiere. +.TP +\fB\-l\fP, \fB\-\-list\fP +Afișează informații despre \fIfișiere\fP comprimate. Nu are loc nicio +decomprimare la ieșire și nu sunt create sau eliminate fișiere. În modul +listă, programul nu poate citi datele comprimate din intrarea standard sau +din alte surse care nu pot fi căutate. +.IP "" +Listarea implicită arată informații de bază despre \fIfișiere\fP, câte un +fișier pe linie. Pentru a obține informații mai detaliate, utilizați și +opțiunea \fB\-\-verbose\fP. Pentru și mai multe informații, utilizați opțiunea +\fB\-\-verbose\fP de două ori, dar rețineți că acest lucru poate fi lent, +deoarece obținerea tuturor informațiilor suplimentare necesită multe +căutări. Lățimea ieșirii detaliate depășește 80 de caractere, deci +canalizarea ieșirii către, de exemplu, \fBless\ \-S\fP poate fi convenabilă dacă +terminalul nu este suficient de lat. +.IP "" +Ieșirea exactă poate varia între versiunile \fBxz\fP și diferitele +localizări(configurările regionale). Pentru ieșiri care pot fi citite de +mașină, ar trebui utilizată opțiunea \fB\-\-robot \-\-list\fP. +. +.SS "Modificatori de operare" +.TP +\fB\-k\fP, \fB\-\-keep\fP +Nu șterge fișierele de intrare. +.IP "" +Începând cu \fBxz\fP 5.2.6, această opțiune face ca \fBxz\fP să comprime sau să +decomprime, chiar dacă intrarea este o legătură simbolică către un fișier +obișnuit, are mai mult de\-o legătură dură sau are marcați biții setuid, +setgid sau bitul lipicios. Biții setuid, setgid și bitul lipicios nu sunt +copiați în fișierul țintă. În versiunile anterioare acest lucru se făcea +numai cu ajutorul opțiunii \fB\-\-force\fP. +.TP +\fB\-f\fP, \fB\-\-force\fP +Această opțiune are mai multe efecte: +.RS +.IP \(bu 3 +Dacă fișierul țintă există deja, îl șterge înainte de comprimare sau +decomprimare. +.IP \(bu 3 +Comprimă sau decomprimă chiar dacă intrarea este o legătură simbolică către +un fișier obișnuit, are mai mult de\-o legătură dură sau are marcați biții +setuid, setgid sau bitul lipicios. Biții setuid, setgid și bitul lipicios nu +sunt copiați în fișierul țintă. +.IP \(bu 3 +Când este utilizată cu opțiunile \fB\-\-decompress\fP și \fB\-\-stdout\fP, comanda +\fBxz\fP nu poate recunoaște tipul fișierului sursă, și copiază fișierul sursă +așa cum este la ieșirea standard. Acest lucru permite comenzii \fBxzcat\fP +\fB\-\-force\fP să fie folosită drept comanda \fBcat\fP(1) pentru fișierele care nu +au fost comprimate cu \fBxz\fP. Rețineți că, în viitor, \fBxz\fP ar putea să +accepte noi formate de fișiere comprimate, ceea ce poate face ca \fBxz\fP să +decomprime mai multe tipuri de fișiere în loc să le copieze așa cum sunt la +ieșirea standard. Opțiunea \fB\-\-format=\fP\fIformat\fP poate fi folosită pentru a +restricționa \fBxz\fP să decomprime doar un singur format de fișier. +.RE +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +Scrie datele comprimate sau decomprimate la ieșirea standard în loc de +într\-un fișier. Aceasta implică \fB\-\-keep\fP. +.TP +\fB\-\-single\-stream\fP +Decomprimă numai primul flux \fB.xz\fP și ignoră în tăcere posibilele date de +intrare rămase în urma fluxului. În mod normal, astfel de resturi rămase +face ca \fBxz\fP să afișeze o eroare. +.IP "" +\fBxz\fP nu decomprimă niciodată mai mult de un flux din fișierele \fB.lzma\fP sau +din fluxurile brute, dar această opțiune face ca \fBxz\fP să ignore posibilele +resturi de date rămase după fișierul \fB.lzma\fP sau fluxul brut. +.IP "" +Această opțiune nu are efect dacă modul de funcționare nu este +\fB\-\-decompress\fP sau \fB\-\-test\fP. +.TP +\fB\-\-no\-sparse\fP +Dezactivează crearea de fișiere dispersate. În mod implicit, dacă decomprimă +într\-un fișier obișnuit, \fBxz\fP încearcă să facă fișierul dispersat dacă +datele decomprimate conțin secvențe lungi de zerouri binare. De asemenea, +funcționează atunci când scrie la ieșirea standard, atâta timp cât ieșirea +standard este conectată la un fișier obișnuit și sunt îndeplinite anumite +condiții suplimentare pentru a o face în siguranță. Crearea de fișiere +dispersate poate economisi spațiu pe disc și poate accelera decomprimarea +prin reducerea cantității de date de In/Ieș pe disc. +.TP +\fB\-S\fP \fI.suf\fP, \fB\-\-suffix=\fP\fI.suf\fP +Când comprimă, utilizează \fI.suf\fP ca sufix pentru fișierul țintă în loc de +\&\fB.xz\fP sau \fB.lzma\fP. Dacă nu scrie la ieșirea standard și fișierul sursă are +deja sufixul \fI.suf\fP, este afișat un avertisment și fișierul este omis. +.IP "" +Când decomprimă, recunoaște fișierele cu sufixul \fI.suf\fP în plus față de +fișierele cu sufixul \fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP sau \fB.lz\fP. Dacă +fișierul sursă are sufixul \fI.suf\fP, sufixul este eliminat pentru a obține +numele fișierului țintă. +.IP "" +La comprimarea sau decomprimarea fluxurilor brute (\fB\-\-format=raw\fP), sufixul +trebuie să fie întotdeauna specificat, cu excepția cazului în care se scrie +la ieșirea standard, deoarece nu există un sufix implicit pentru fluxurile +brute. +.TP +\fB\-\-files\fP[\fB=\fP\fIfișier\fP] +Citește numele fișierelor de procesat din \fIfișier\fP; dacă \fIfișierul\fP este +omis, numele fișierelor sunt citite de la intrarea standard. Numele de +fișiere trebuie să fie terminate cu caracterul de linie nouă. O liniuță +(\fB\-\fP) este luată ca nume de fișier obișnuit; nu înseamnă intrarea +standard. Dacă numele de fișiere sunt date și ca argumente în linia de +comandă, ele sunt procesate înainte ca numele fișierelor să fie citite din +\fIfișier\fP. +.TP +\fB\-\-files0\fP[\fB=\fP\fIfișier\fP] +Această opțiune este identică cu \fB\-\-files\fP[\fB=\fP\fIfișier\fP], cu excepția +faptului că fiecare nume de fișier trebuie să fie terminat cu caracterul +nul. +. +.SS "Formatul de bază al fișierului și opțiunile de comprimare" +.TP +\fB\-F\fP \fIformat\fP, \fB\-\-format=\fP\fIformat\fP +Specifică \fIformatul\fP fișierului pentru comprimare sau decomprimare: +.RS +.TP +\fBauto\fP +Aceasta este valoarea implicită. La comprimare, \fBauto\fP este echivalent cu +\fBxz\fP. La decomprimare, formatul fișierului de intrare este detectat +automat. Rețineți că fluxurile brute (create cu \fB\-\-format=raw\fP) nu pot fi +detectate automat. +.TP +\fBxz\fP +Comprimă în formatul de fișier \fB.xz\fP sau acceptă numai fișierele \fB.xz\fP +când decomprimă. +.TP +\fBlzma\fP, \fBalone\fP +Comprimă în formatul de fișier \fB.lzma\fP vechi sau acceptă numai fișierele +\&\fB.lzma\fP când decomprimă. Numele alternativ \fBalone\fP este furnizat pentru +compatibilitatea cu versiunile mai vechi de LZMA Utils. +.TP +\fBlzip\fP +Acceptă numai fișierele \fB.lz\fP când decomprimă. Comprimarea nu este +acceptată. +.IP "" +Formatul \fB.lz\fP versiunea 0 și versiunea neextinsă 1 sunt +acceptate. Fișierele versiunea 0 au fost produse de \fBlzip\fP cu versiunea 1.3 +sau mai veche. Astfel de fișiere nu sunt obișnuite, dar pot fi găsite în +arhivele de fișiere, deoarece câteva pachete sursă au fost lansate în acest +format. Oamenii ar putea avea și fișiere personale vechi în acest +format. Suportul de decomprimare pentru versiunea de format 0 a fost +eliminat în \fBlzip\fP 1.18. +.IP "" +\fBlzip\fP 1.4 și versiunile ulterioare creează fișiere în formatul versiunea +1. Extensia „sync flush marker” pentru versiunea 1 de format a fost adăugată +în \fBlzip\fP 1.6. Această extensie este folosită rar și nu este acceptată de +\fBxz\fP (diagnosticată ca intrare coruptă). +.TP +\fBraw\fP +Comprimă sau decomprimă un flux brut (fără anteturi). Acest lucru este +destinat doar utilizatorilor avansați. Pentru a decodifica fluxurile brute, +trebuie să utilizați opțiunea \fB\-\-format=raw\fP și să specificați în mod +explicit lanțul de filtre, care în mod normal ar fi fost stocat în +anteturile containerului. +.RE +.TP +\fB\-C\fP \fIverificarea\fP, \fB\-\-check=\fP\fIverificarea\fP +Specifică tipul verificării integrității. Verificarea este calculată din +datele necomprimate și stocată în fișierul \fB.xz\fP. Această opțiune are efect +numai la comprimarea în format \fB.xz\fP; formatul \fB.lzma\fP nu acceptă +verificări de integritate. Verificarea integrității (dacă există) este +efectuată atunci când fișierul \fB.xz\fP este decomprimat. +.IP "" +Tipuri de \fIverificare\fP acceptate: +.RS +.TP +\fBnone\fP +Nu calculează deloc o verificare a integrității. Aceasta este de obicei o +idee proastă. Acest lucru poate fi util atunci când integritatea datelor +este oricum verificată prin alte mijloace. +.TP +\fBcrc32\fP +Calculează CRC32 folosind polinomul din IEEE\-802.3 (Ethernet). +.TP +\fBcrc64\fP +Calculează CRC64 folosind polinomul din ECMA\-182. Aceasta este valoarea +implicită, deoarece este ceva mai bună decât CRC32 la detectarea fișierelor +deteriorate, iar diferența de viteză este neglijabilă. +.TP +\fBsha256\fP +Calculează SHA\-256. Acest lucru este oarecum mai lent decât CRC32 și CRC64. +.RE +.IP "" +Integritatea antetelor \fB.xz\fP este întotdeauna verificată cu CRC32. Nu este +posibilă modificarea sau dezactivarea acesteia. +.TP +\fB\-\-ignore\-check\fP +Nu efectuează verificarea integrității datelor comprimate la +decomprimare. Valorile CRC32 din antetele \fB.xz\fP vor fi însă verificate +normal. +.IP "" +\fBNu utilizați această opțiune decât dacă știți ce faceți\fP. Motive posibile +pentru a utiliza această opțiune: +.RS +.IP \(bu 3 +Încercarea de a recupera datele dintr\-un fișier .xz corupt. +.IP \(bu 3 +Accelerarea decomprimării. Acest lucru contează mai ales cu SHA\-256 sau cu +fișierele care s\-au comprimat extrem de bine. Este recomandat să nu +utilizați această opțiune în acest scop decât dacă integritatea fișierului +este verificată extern într\-un alt mod. +.RE +.TP +\fB\-0\fP ... \fB\-9\fP +Selectează un nivel prestabilit de comprimare. Valoarea implicită este +\fB\-6\fP. Dacă sunt specificate mai multe niveluri prestabilite, ultimul are +efect. Dacă a fost deja specificat un lanț de filtre personalizat, +specificarea unui nivel prestabilit de comprimare șterge lanțul de filtre +personalizat. +.IP "" +Diferențele dintre valorile prestabilite sunt mai semnificative decât cu +\fBgzip\fP(1) și \fBbzip2\fP(1). Valorile de comprimare selectate determină +cerințele de memorie ale instrumentului de decomprimare, astfel încât +utilizarea unui nivel prea mare prestabilit ar putea face „dureroasă” +decomprimarea fișierului pe un sistem vechi cu puțină memorie RAM. Mai +exact, \fBnu este o idee bună să folosiți orbește \-9 pentru tot\fP așa cum se +întâmplă adesea cu \fBgzip\fP(1) și \fBbzip2\fP(1). +.RS +.TP +\fB\-0\fP ... \fB\-3\fP +Acestea sunt valorile prestabilite oarecum rapide. \fB\-0\fP este uneori mai +rapid decât \fBgzip \-9\fP în timp ce comprimă mult mai bine. Cele mai ridicate +au adesea viteza comparabilă cu \fBbzip2\fP(1) cu un raport de comprimare +comparabil sau mai bun, deși rezultatele depind foarte mult de tipul de date +care sunt comprimate. +.TP +\fB\-4\fP ... \fB\-6\fP +Comprimare bună spre foarte bună, păstrând în același timp utilizarea +memoriei de către instrumentul de decomprimare la un nivel rezonabil chiar +și pentru sistemele vechi. \fB\-6\fP este valoarea implicită, care este de +obicei o alegere bună pentru distribuirea fișierelor care trebuie să poată +fi decomprimate chiar și pe sisteme cu doar 16Mio de memorie RAM. Opțiunile +(\fB\-5e\fP sau \fB\-6e\fP ar putea fi demne de luat în considerare. A se vedea +opțiunea \fB\-\-extreme\fP.) +.TP +\fB\-7 ... \-9\fP +Acestea sunt precum \fB\-6\fP, dar cu cerințe mai mari de memorie pentru +comprimare și decomprimare. Acestea sunt utile numai atunci când comprimați +fișiere mai mari de 8Mio, 16Mio și, respectiv, 32Mio. +.RE +.IP "" +Pe același hardware, viteza de decomprimare este aproximativ un număr +constant de octeți de date comprimate pe secundă. Cu alte cuvinte, cu cât +comprimarea este mai bună, cu atât decomprimarea va fi de obicei mai +rapidă. Aceasta înseamnă, de asemenea, că valoarea de la ieșire a cantității +de date necomprimate produsă pe secundă poate varia foarte mult. +.IP "" +Următorul tabel rezumă caracteristicile valorilor prestabilite: +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +ValPrestab;DimDict;CPUComp;MemComp;MemDec +\-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 "" +Descrieri coloane: +.RS +.IP \(bu 3 +DimDict este dimensiunea dicționarului LZMA2. Este o risipă de memorie să +folosești un dicționar mai mare decât dimensiunea fișierului necomprimat. De +aceea este bine să evitați utilizarea valorilor prestabilite \fB\-7\fP ... \fB\-9\fP +atunci când nu este nevoie cu adevărat de ele. Pentru valoarea prestabilită +\fB\-6\fP sau alta mai mică, cantitatea de memorie irosită este de obicei +suficient de mică pentru a nu conta. +.IP \(bu 3 +CPUComp este o reprezentare simplificată a configurărilor LZMA2 care +afectează viteza de comprimare. Dimensiunea dicționarului afectează și +viteza, așa că, în timp ce CPUComp este aceeași pentru nivelurile \fB\-6\fP +\&... \fB\-9\fP, nivelurile mai mari tind să fie puțin mai lente. Pentru a obține +o comprimare și mai lentă și, astfel, posibil mai bună, consultați opțiunea +\fB\-\-extreme\fP. +.IP \(bu 3 +MemComp conține cerințele de memorie ale comprimării în modul cu un singur +fir de execuție. Poate varia ușor între versiunile \fBxz\fP. +.IP \(bu 3 +MemDec conține cerințele de memorie pentru decomprimare. Adică, +configurările de comprimare determină cerințele de memorie ale +decomprimării. Cantitatea exactă a memoriei utilizate la decomprimare este +puțin mai mare decât dimensiunea dicționarului LZMA2, dar valorile din tabel +au fost rotunjite la următorul Mio. +.RE +.IP "" +Cerințele de memorie ale modului cu mai multe fire de execuție sunt +semnificativ mai mari decât cele ale modului cu un singur fir de +execuție. Cu valoarea implicită a lui \fB\-\-block\-size\fP, fiecare fir are +nevoie de 3*3*DictSize plus MemComp sau MemDec. De exemplu, patru fire de +execuție cu valoarea prestabilită \fB\-6\fP au nevoie de 660\(en670\ Mio de +memorie. +.TP +\fB\-e\fP, \fB\-\-extreme\fP +Utilizează o variantă mai lentă a nivelului prestabilit de comprimare +selectat (\fB\-0\fP ... \fB\-9\fP) pentru a obține un raport de comprimare puțin mai +bun, dar din nefericire, acest lucru îl poate înrăutăți. Utilizarea memoriei +pentru decomprimare nu este afectată, dar utilizarea memoriei la comprimare +crește puțin la nivelurile prestabilite \fB\-0\fP ... \fB\-3\fP. +.IP "" +Deoarece există două valori prestabilite cu dimensiuni ale dicționarului de +4Mio și 8Mio, valorile prestabilite \fB\-3e\fP și \fB\-5e\fP folosesc configurări +puțin mai rapide (CPUComp mai mic) decât \fB\-4e\fP și \fB\-6e\fP, respectiv. În +acest fel, nu există două nivele prestabilite identice. +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +ValPrestab;DimDict;CPUComp;MemComp;MemDec +\-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 "" +De exemplu, există un total de patru nivele prestabilite care folosesc +dicționarul 8Mio, a căror ordine de la cel mai rapid la cel mai lent este +\fB\-5\fP, \fB\-6\fP, \fB\-5e\fP și \fB\-6e\fP . +.TP +\fB\-\-fast\fP +.PD 0 +.TP +\fB\-\-best\fP +.PD +Acestea sunt alias de opțiuni, oarecum înșelătoare pentru \fB\-0\fP și, +respectiv, \fB\-9\fP. Acestea sunt furnizate numai pentru compatibilitatea cu +LZMA Utils. Evitați utilizarea acestor opțiuni. +.TP +\fB\-\-block\-size=\fP\fIdimensiunea\fP +Când comprimă în formatul \fB.xz\fP, împarte datele de intrare în blocuri de +\fIdimensiunea\fP octeți. Blocurile sunt comprimate independent unul de +celălalt, ceea ce ajută în modul cu mai multe fire de execuție și face +posibilă decomprimarea cu acces aleatoriu limitat. Această opțiune este de +obicei folosită pentru a suprascrie dimensiunea implicită a blocului în +modul cu mai multe fire de execuție, dar această opțiune poate fi folosită +și în modul cu un singur fir de execuție. +.IP "" +În modul cu mai multe fire de execuție, aproximativ de trei ori +\fIdimensiunea\fP de octeți vor fi alocați în fiecare fir pentru stocarea +intrării și ieșirii. \fIDimensiunea\fP implicită este de trei ori dimensiunea +dicționarului LZMA2 sau 1Mio, oricare dintre acestea este mai mare. În mod +obișnuit, o valoare bună este de două la patru ori dimensiunea dicționarului +LZMA2 sau de cel puțin 1Mio. Utilizarea unei \fIdimensiuni\fP mai mici decât +dimensiunea dicționarului LZMA2 este o risipă de memorie RAM, deoarece +atunci memoria tampon a dicționarului LZMA2 nu va fi niciodată utilizată pe +deplin. În modul cu mai multe fire de execuție, dimensiunile blocurilor sunt +stocate în anteturile blocurilor. Aceste informații privind dimensiunea sunt +necesare pentru decomprimarea cu mai multe fire. +.IP "" +În modul cu un singur fir de execuție, nicio divizare a blocurilor nu se +face în mod implicit. Folosirea acestei opțiuni nu afectează utilizarea +memoriei. Nu sunt stocate informații despre dimensiune în antetele +blocurilor, astfel încât fișierele create în modul cu un singur fir de +execuție nu vor fi identice cu fișierele create în modul cu mai multe fire +de execuție. Lipsa informațiilor privind dimensiunea înseamnă, de asemenea, +că \fBxz\fP nu va putea decomprima fișierele în modul cu mai multe fire. de +execuție. +.TP +\fB\-\-block\-list=\fP\fIelemente\fP +Când comprimă în formatul \fB.xz\fP, începe un nou bloc cu un lanț de filtre +personalizat opțional după intervalele specificate de date necomprimate. +.IP "" +\fIelementele\fP sunt o listă separată prin virgule. Fiecare element este +format dintr\-un număr opțional de lanț de filtrare între 0 și 9, urmat de +două puncte (\fB:\fP) și de o dimensiune cerută a datelor +necomprimate. Omiterea unui element (două sau mai multe virgule consecutive) +este o prescurtare pentru a utiliza dimensiunea și filtrele din elementul +anterior. +.IP "" +În cazul în care fișierul de intrare este mai mare decât suma dimensiunilor +din \fIelemente\fP, ultimul element se repetă până la sfârșitul fișierului. O +valoare specială de \fB0\fP poate fi utilizată ca ultimă dimensiune pentru a +indica faptul că restul fișierului trebuie să fie codificat ca un singur +bloc. +.IP "" +Un lanț de filtre alternativ pentru fiecare bloc poate fi specificat în +combinație cu opțiunile \fB\-\-filters1=\fP\fIfiltre\fP \&...\& +\fB\-\-filters9=\fP\fIfiltre\fP. Aceste opțiuni definesc lanțuri de filtre cu un +identificator cuprins între 1\(en9. Lanțul de filtre 0 poate fi utilizat +pentru a se referi la lanțul de filtre implicit, ceea ce este același lucru +cu a nu specifica un lanț de filtre. Identificatorul lanțului de filtre +poate fi utilizat înaintea dimensiunii necomprimate, urmat de două puncte +(\fB:\fP). De exemplu, dacă se specifică +\fB\-\-block\-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB\fP, atunci blocurile vor fi +create folosind: +.RS +.IP \(bu 3 +Lanțul de filtre specificat de \fB\-\-filters1\fP și 2 Mio de intrare +.IP \(bu 3 +Lanțul de filtre specificat de \fB\-\-filters3\fP și 2 Mio de intrare +.IP \(bu 3 +Lanțul de filtre specificat de \fB\-\-filters2\fP și 4 Mio de intrare +.IP \(bu 3 +Lanțul de filtre specificat de \fB\-\-filters2\fP și 4 Mio de intrare +.IP \(bu 3 +Lanțul de filtre implicit și 2 MiB de intrare +.IP \(bu 3 +Lanțul de filtre implicit și 4 MiB de intrare pentru fiecare bloc până la +sfârșitul intrării. +.RE +.IP "" +Dacă se specifică o dimensiune care depășește dimensiunea blocului +codificatorului (fie valoarea implicită în modul cu fire de execuție, fie +valoarea specificată cu \fB\-\-block\-size=\fP\fIdimensiune\fP), codificatorul va +crea blocuri suplimentare, păstrând limitele specificate în \fIelemente\fP. De +exemplu, dacă se specifică \fB\-\-block\-size=10MiB\fP +\fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP și fișierul de intrare este de +80 MiB, se vor obține 11 blocuri: 5, 10, 8, 10, 10, 2, 10, 10, 10, 4, 10, +10, 10 și 1 Mio. +.IP "" +În modul cu mai multe fire de execuție, dimensiunile blocurilor sunt stocate +în antetele blocurilor. Acest lucru nu se face în modul cu un singur fir de +execuție, astfel încât ieșirea codificată nu va fi identică cu cea a modului +cu mai multe fire de execuție. +.TP +\fB\-\-flush\-timeout=\fP\fItimp_limită\fP +La comprimare, dacă au trecut mai mult de \fItimp_limită\fP milisecunde (un +întreg pozitiv) de la curățarea anterioară și citirea mai multor intrări +s\-ar bloca, toate datele de intrare în așteptare sunt eliminate din +codificator și puse la dispoziție în fluxul de ieșire. Acest lucru poate să +fie util dacă \fBxz\fP este utilizat pentru a comprima datele care sunt +transmise în flux printr\-o rețea. Valorile mici de \fItimp_limită\fP fac datele +disponibile la capătul de recepție cu o mică întârziere, dar valorile mari +de \fItimp_limită\fP oferă un raport de comprimare mai bun. +.IP "" +Această caracteristică este dezactivată în mod implicit. Dacă această +opțiune este specificată de mai multe ori, ultima este cea care se ia în +considerare. Valoarea specială a lui \fItimp_limită\fP de \fB0\fP, poate fi +utilizată pentru a dezactiva în mod explicit această caracteristică. +.IP "" +Această caracteristică nu este disponibilă în sistemele non\-POSIX. +.IP "" +.\" FIXME +\fBAceastă caracteristică este încă experimentală\fP. În prezent, \fBxz\fP este +nepotrivit pentru decomprimarea fluxului în timp real datorită modului în +care \fBxz\fP utilizează memoria tampon. +.TP +\fB\-\-memlimit\-compress=\fP\fIlimita\fP +Stabilește o limită de utilizare a memoriei pentru comprimare. Dacă această +opțiune este specificată de mai multe ori, ultima va avea efect. +.IP "" +Dacă parametrii de comprimare depășesc \fIlimita\fP, \fBxz\fP va încerca să +ajusteze parametrii scăzând valorile acestora, astfel încât limita să nu mai +fie depășită și va afișa o notificare că ajustarea automată a fost +efectuată. Ajustările se fac în această ordine: reducerea numărului de fire, +trecerea la modul un singur fir de execuție dacă chiar și un singur fir în +modul cu mai multe fire de execuție depășește \fIlimita\fP și, în final, +reducerea dimensiunii dicționarului LZMA2. +.IP "" +Când comprimă cu opțiunea \fB\-\-format=raw\fP sau dacă a fost specificată +opțiunea \fB\-\-no\-adjust\fP, numai numărul de fire poate fi redus, deoarece se +poate face fără a afecta rezultatul comprimării. +.IP "" +Dacă \fIlimita\fP nu poate fi îndeplinită chiar și cu ajustările descrise mai +sus, este afișată o eroare și \fBxz\fP va ieși cu starea de ieșire 1. +.IP "" +\fILimita\fP poate fi specificata în mai multe moduri: +.RS +.IP \(bu 3 +\fILimita\fP poate fi o valoare absolută în octeți. Utilizarea unui sufix +întreg precum \fBMiB\fP poate fi utilă. De exemplu: +\fB\-\-memlimit\-compress=80MiB\fP +.IP \(bu 3 +\fILimita\fP poate fi specificată ca procent din memoria fizică totală +(RAM). Acest lucru poate fi util mai ales atunci când definiți variabila de +mediu \fBXZ_DEFAULTS\fP într\-un script de inițializare shell care este partajat +între diferite calculatoare. În acest fel, limita este automat mai mare pe +sistemele cu mai multă memorie. De exemplu: \fB\-\-memlimit\-compress=70%\fP +.IP \(bu 3 +\fILimita\fP poate fi restabilită la valoarea implicită dându\-i valoarea +\fB0\fP. În prezent, aceasta este echivalentă cu stabilirea \fIlimitei\fP la +\fBmax\fP (fără limită de utilizare a memoriei). +.RE +.IP "" +Pentru \fBxz\fP pe 32 de biți există un caz special: dacă \fIlimita\fP ar fi peste +\fB4020MiB\fP, \fIlimita\fP este stabilită la \fB4020MiB\fP. Pe MIPS32 este +stabilită în schimb la \fB2000MiB\fP; (valorile \fB0\fP și \fBmax\fP nu sunt afectate +de acest lucru \-\- o caracteristică similară nu există pentru +decomprimare). Acest lucru poate fi util atunci când un executabil pe 32 de +biți are acces la un spațiu de adrese de 4Gio (2Gio pe MIPS32), se speră că +nu produce daune în alte situații. +.IP "" +Consultați și secțiunea \fBUtilizarea memoriei\fP. +.TP +\fB\-\-memlimit\-decompress=\fP\fIlimita\fP +Stabilește o limită de utilizare a memoriei pentru decomprimare. Acest lucru +afectează și modul \fB\-\-list\fP. Dacă operațiunea nu este posibilă fără a +depăși \fIlimita\fP, \fBxz\fP va afișa o eroare și decomprimarea fișierului va +eșua. Consultați \fB\-\-memlimit\-compress=\fP\fIlimita\fP pentru modalitățile +posibile de a specifica \fIlimita\fP. +.TP +\fB\-\-memlimit\-mt\-decompress=\fP\fIlimita\fP +Stabilește o limită de utilizare a memoriei pentru decomprimarea cu mai +multe fire de execuție. Acest lucru poate afecta doar numărul de fire de +execuție; acest lucru nu îl va face niciodată pe \fBxz\fP să refuze +decomprimarea unui fișier. Dacă \fIlimita\fP este prea scăzută pentru a permite +orice mod cu mai multe fire de execuție, \fIlimita\fP este ignorată și \fBxz\fP va +continua în modul cu un singur fir de execuție. Rețineți că, dacă se +folosește și opțiunea \fB\-\-memlimit\-decompress\fP, se va aplica întotdeauna +atât modurilor cu un singur fir de execuție, cât și modurilor cu mai multe +fire de execuție și astfel \fIlimita\fP efectivă pentru modul cu mai multe fire +de execuție nu va fi niciodată mai mare decât limita stabilită cu opțiunea +\fB\-\-memlimit\-decompress\fP. +.IP "" +Spre deosebire de celelalte opțiuni de limită de utilizare a memoriei, +opțiunea \fB\-\-memlimit\-mt\-decompress=\fP\fIlimita\fP are o \fIlimită\fP implicită +specifică sistemului. Comanda \fBxz \-\-info\-memory\fP poate fi folosită pentru a +vedea valoarea curentă. +.IP "" +Această opțiune și valoarea ei implicită există deoarece, fără nicio limită, +decomprimarea cu (mai multe) fire de execuție ar putea ajunge să aloce o +cantitate „nebună” de memorie cu unele fișiere de intrare. Dacă \fIlimita\fP +implicită este prea scăzută pe sistemul dumneavoastră, nu ezitați să +creșteți \fIlimita\fP, dar niciodată să nu o stabiliți la o valoare mai mare +decât cantitatea de memorie RAM utilizabilă și cu niște fișiere de intrare +adecvate, \fBxz\fP va încerca să utilizeze acea cantitate de memorie chiar și +cu un număr redus de fire de execuție. Rularea lui \fBxz\fP cu depășirea +cantității de memorie fizice(RAM) sau a celei de interschimb(swap) nu va +îmbunătăți performanța de decomprimare. +.IP "" +Consultați opțiunea \fB\-\-memlimit\-compress=\fP\fIlimita\fP pentru modalități +posibile de a specifica \fIlimita\fP. Stabilirea \fIlimitei\fP la \fB0\fP +restabilește \fIlimita\fP la valoarea implicită specifică sistemului. +.TP +\fB\-M\fP \fIlimita\fP, \fB\-\-memlimit=\fP\fIlimita\fP, \fB\-\-memory=\fP\fIlimita\fP +Aceasta este echivalentă cu specificarea opțiunilor: +\fB\-\-memlimit\-compress=\fP\fIlimita\fP \fB\-\-memlimit\-decompress=\fP\fIlimita\fP +\fB\-\-memlimit\-mt\-decompress=\fP\fIlimita\fP. +.TP +\fB\-\-no\-adjust\fP +Afișează o eroare și iese dacă limita de utilizare a memoriei nu poate fi +îndeplinită fără ajustarea parametrilor care afectează ieșirea +comprimată. Adică, acest lucru împiedică \fBxz\fP să comute codificatorul din +modul cu mai multe fire de execuție în modul cu un singur fir de execuție și +să reducă dimensiunea dicționarului LZMA2. Chiar și atunci când această +opțiune este utilizată, numărul de fire de execuție poate fi redus pentru a +îndeplini limita de utilizare a memoriei, deoarece aceasta nu va afecta +comprimarea. +.IP "" +Ajustarea automată este întotdeauna dezactivată la crearea fluxurilor brute +(\fB\-\-format=raw\fP). +.TP +\fB\-T\fP \fInumăr\fP, \fB\-\-threads=\fP\fInumăr\fP +Specifică numărul de fire de execuție de utilizat. Stabilirea \fInumărului\fP +la valoarea specială \fB0\fP, face ca \fBxz\fP să utilizeze până la atâtea fire de +execuție câte procesoare sunt în sistem. Numărul real de fire de execuție +poate fi mai mic decât \fInumăr\fP dacă fișierul de intrare nu este suficient +de mare pentru a trece la modul cu mai multe fire de execuție cu parametrii +dați, sau dacă folosirea mai multor fire de execuție ar depăși limita de +utilizare a memoriei. +.IP "" +Operațiile de comprimare cu un singur fir de execuție și cele cu mai multe +fire de execuție produc ieșiri diferite. Comprimarea cu un singur fir de +execuție va oferi cea mai mică dimensiune a fișierului, dar numai ieșirea de +la comprimarea cu mai multe fire de execuție poate fi decomprimată folosind +mai multe fire. Stabilirea \fInumărului\fP la \fB1\fP va determina ca \fBxz\fP să +folosească modul cu un singur fir de execuție. Stabilirea \fInumărului\fP la +orice altă valoare, inclusiv \fB0\fP, va determina ca \fBxz\fP să folosească +comprimarea cu mai multe fire de execuție chiar dacă sistemul acceptă doar +un fir hardware; (\fBxz\fP 5.2.x folosește modul cu un singur fir de execuție +în această situație). +.IP "" +Pentru a utiliza modul cu mai multe fire de execuție cu un singur fir, +stabiliți \fInumărul\fP la \fB+1\fP. Prefixul \fB+\fP nu are efect cu alte valori +decât \fB1\fP. O limită de utilizare a memoriei poate face în continuare \fBxz\fP +să treacă în modul cu un singur fir, cu excepția cazului în care este +utilizată opțiunea \fB\-\-no\-adjust\fP. Suportul pentru prefixul \fB+\fP a fost +adăugat în \fBxz\fP 5.4.0. +.IP "" +Dacă a fost solicitat un număr automat de fire și nu a fost specificată +nicio limită de utilizare a memoriei, atunci o limită „maleabilă” implicită +specifică sistemului va fi utilizată pentru a limita eventual numărul de +fire de execuție. Este o limită „maleabilă” în sensul că este ignorată dacă +numărul de fire devine unul, astfel o limită „maleabilă” nu va opri +niciodată \fBxz\fP să comprime sau să decomprime. Această limită „maleabilă” +implicită nu va face \fBxz\fP să treacă de la modul cu mai multe fire de +execuție la modul cu un singur fir de execuție. Limitele active pot fi +văzute rulând comanda \fBxz \-\-info\-memory\fP. +.IP "" +În prezent, singura metodă de procesare cu fire de execuție este împărțirea +intrării în blocuri și comprimarea lor independent unul de +celălalt. Dimensiunea implicită a blocului depinde de nivelul de comprimare +și poate fi înlocuită cu opțiunea \fB\-\-block\-size=\fP\fIdimensiune\fP. +.IP "" +Decomprimarea cu fire de execuție funcționează numai pe fișierele care +conțin mai multe blocuri cu informații despre dimensiune în antetele +blocurilor. Toate fișierele suficient de mari comprimate în modul cu mai +multe fire de execuție îndeplinesc această condiție, dar fișierele +comprimate în modul cu un singur fir de execuție nu o îndeplinesc chiar dacă +a fost folosită opțiunea \fB\-\-block\-size=\fP\fIdimensiune\fP. +.IP "" +Valoarea implicită pentru \fIfire de execuție\fP este \fB0\fP. În \fBxz\fP 5.4.x și +mai vechi, valoarea implicită este \fB1\fP. +. +.SS "Lanțuri de filtrare personalizate pentru instrumentul de comprimare" +Un lanț de filtrare personalizat permite specificarea parametrilor de +comprimare în detaliu, în loc să se bazeze pe cei asociați opțiunilor +prestabilite. Când este specificat un lanț de filtrare personalizat, +opțiunile prestabilite (\fB\-0\fP \&...\& \fB\-9\fP și \fB\-\-extreme\fP) de mai devreme +din linia de comandă sunt uitate. Dacă o opțiune prestabilită este +specificată după una sau mai multe opțiuni de lanț de filtrare personalizat, +noua prestabilire intră în vigoare și opțiunile lanțului de filtrare +personalizat, specificate mai devreme sunt uitate. +.PP +Un lanț de filtrare este comparabil cu conductele din linia de comandă. La +comprimare, intrarea necomprimată merge la primul filtru, a cărui ieșire +merge la următorul filtru (dacă există). Ieșirea ultimului filtru este +scrisă în fișierul comprimat. Numărul maxim de filtre din lanț este de +patru, dar de obicei un lanț de filtrare are doar unul sau două filtre. +.PP +Multe filtre au limitări în ceea ce privește locul în care se pot afla în +lanțul de filtrare: unele filtre pot funcționa doar ca ultimul filtru din +lanț, altele doar ca non\-ultim filtru și unele funcționează în orice poziție +din lanț. În funcție de filtru, această limitare este fie inerentă +proiectării filtrului, fie există pentru a preveni problemele de securitate. +.PP +Un lanț de filtre personalizat poate fi specificat în două moduri +diferite. Opțiunile \fB\-\-filters=\fP\fIfiltre\fP și \fB\-\-filters1=\fP\fIfiltre\fP +\&...\& \fB\-\-filters9=\fP\fIfiltre\fP permit specificarea unui întreg lanț de +filtre într\-o singură opțiune, folosind sintaxa șirului de filtre +liblzma. Alternativ, un lanț de filtre poate fi specificat prin utilizarea +uneia sau mai multor opțiuni de filtrare individuale în ordinea în care sunt +dorite în lanțul de filtre. Adică, ordinea opțiunilor de filtrare +individuale este semnificativă! La decodificarea fluxurilor brute +(\fB\-\-format=raw\fP), lanțul de filtre trebuie să fie specificat în aceeași +ordine în care a fost specificat la comprimare. Orice filtru individual sau +opțiuni presetate specificate înainte de opțiunea de lanț complet +(\fB\-\-filters=\fP\fIfiltre\fP) vor fi uitate. Filtrele individuale specificate +după opțiunea „lanț complet” vor reinițializa lanțul de filtre. +.PP +Atât opțiunile de filtrare completă, cât și cele de filtrare individuală +acceptă \fIopțiuni\fP specifice filtrului sub forma unei liste separate prin +virgule. Se ignoră virgulele suplimentare din \fIopțiuni\fP. Fiecare opțiune +are o valoare implicită, deci specificați\-le pe cele pe care doriți să le +modificați. +.PP +Pentru a vedea întregul lanț de filtre și \fIopțiuni\fP, utilizați \fBxz \-vv\fP +(adică folosiți \fB\-\-verbose\fP de două ori). Acest lucru funcționează și +pentru vizualizarea opțiunilor lanțului de filtre utilizate de valorile +prestabilite. +.TP +\fB\-\-filters=\fP\fIfiltre\fP +Specificați întregul lanț de filtre sau o presetare într\-o singură +opțiune. Fiecare filtru poate fi separat prin spații sau două liniuțe +(\fB\-\-\fP). Este posibil să fie necesar ca \fIfiltrele\fP să fie puse între +ghilimele în linia de comandă a shell\-ului pentru a fi analizate ca o +singură opțiune. Pentru a indica \fIopțiuni\fP, utilizați \fB:\fP sau \fB=\fP. O +presetare poate fi prefixată cu un \fB\-\fP și urmată de zero sau mai multe +indicatoare. Singurul indicator suportat este \fBe\fP pentru a aplica aceleași +opțiuni ca și \fB\-\-extreme\fP. +.TP +\fB\-\-filters1\fP=\fIfiltre\fP ... \fB\-\-filters9\fP=\fIfiltre\fP +Specifică până la nouă lanțuri de filtre suplimentare care pot fi utilizate +cu \fB\-\-block\-list\fP. +.IP "" +De exemplu, atunci când se comprimă o arhivă cu fișiere executabile urmate +de fișiere text, partea executabilă ar putea utiliza un lanț de filtre cu un +filtru BCJ, iar partea de text doar filtrul LZMA2. +.TP +\fB\-\-filters\-help\fP +Afișează un mesaj de ajutor care descrie modul de specificare a presetărilor +și a lanțurilor de filtre personalizate în opțiunile \fB\-\-filters\fP și +\fB\-\-filters1=\fP\fIfiltre\fP \&...\& \fB\-\-filters9=\fP\fIfiltre\fP și iese. +.TP +\fB\-\-lzma1\fP[\fB=\fP\fIopțiuni\fP] +.PD 0 +.TP +\fB\-\-lzma2\fP[\fB=\fP\fIopțiuni\fP] +.PD +Adaugă filtrul LZMA1 sau LZMA2 la lanțul de filtre. Aceste filtre pot fi +folosite doar ca ultimul filtru din lanț. +.IP "" +LZMA1 este un filtru vechi, care este acceptat aproape exclusiv datorită +formatului de fișier vechi \fB.lzma\fP, care acceptă numai LZMA1. LZMA2 este o +versiune actualizată a LZMA1 pentru a rezolva unele probleme practice ale +LZMA1. Formatul \fB.xz\fP folosește LZMA2 și nu acceptă deloc LZMA1. Viteza de +comprimare și rapoartele LZMA1 și LZMA2 sunt practic aceleași. +.IP "" +LZMA1 și LZMA2 au același set de \fIopțiuni\fP: +.RS +.TP +\fBpreset=\fP\fIprestabilit\fP +Reconfigurează toate \fIopțiunile\fP LZMA1 sau LZMA2 la +\fIprestabilit\fP. \fIprestabilit\fP constă dintr\-un număr întreg, care poate fi +urmat de modificatori prestabiliți cu o singură literă. Numărul întreg +poate fi de la \fB0\fP la \fB9\fP, potrivindu\-se cu opțiunile liniei de comandă +\fB\-0\fP \&...\& \fB\-9\fP. Singurul modificator acceptat în prezent este \fBe\fP, +care se potrivește cu \fB\-\-extreme\fP. Dacă nu este specificat \fBprestabilit\fP, +valorile implicite ale \fIopțiunilor\fP LZMA1 sau LZMA2 sunt preluate din +prestabilirea \fB6\fP. +.TP +\fBdict=\fP\fIdimensiunea\fP +\fIDimensiunea\fP dicționarului (istoricul memoriei tampon) indică câți octeți +din datele necomprimate recent procesate sunt păstrați în +memorie. Algoritmul încearcă să găsească secvențe de octeți care se repetă +(potriviri) în datele necomprimate și să le înlocuiască cu referințe la +datele aflate în prezent în dicționar. Cu cât dicționarul este mai mare, cu +atât este mai mare șansa de a găsi o potrivire. Astfel, creșterea +\fIdimensiunii\fP dicționarului îmbunătățește de obicei raportul de comprimare, +dar un dicționar mai mare decât fișierul necomprimat este risipă de memorie. +.IP "" +\fIDimensiunea\fPtipică a dicționarului este de la 64Kio până la 64Mio. Minimul +este de 4Kio. Maximul pentru compresie este în prezent de 1,5Gio +(1536Mio). Decomprimarea acceptă deja dicționare cu până la un octet mai +puțin de 4Gio, care este maximul pentru formatele de flux LZMA1 și LZMA2. +.IP "" +\fIDimensiunea\fP dicționarului și găsitorul de potriviri (match finder) → +(\fImf\fP) determină împreună utilizarea memoriei de către codificatorul LZMA1 +sau LZMA2. Aceeași \fIdimensiune\fP a dicționarului (sau mai mare) care a fost +utilizată la comprimare, este necesară pentru decomprimare, astfel încât +utilizarea memoriei de către decodificator este determinată de dimensiunea +dicționarului utilizată la comprimare. Antetele \fB.xz\fP stochează +\fIdimensiunea\fP dicționarului fie ca 2^\fIn\fP, fie ca 2^\fIn\fP + 2^(\fIn\fP\-1), deci +aceste \fIdimensiuni\fP sunt oarecum preferate pentru comprimare. Alte +\fIdimensiuni\fP vor fi rotunjite atunci când sunt stocate în anteturile +\&\fB.xz\fP. +.TP +\fBlc=\fP\fIlc\fP +Specifică numărul de biți de context literal. Minimul este 0 și maximul este +4; implicit este 3. În plus, suma \fIlc\fP și \fIlp\fP nu trebuie să depășească +4. +.IP "" +Toți octeții care nu pot fi codificați ca potriviri sunt codificați ca +literali. Adică, literalii sunt pur și simplu octeți de 8 biți care sunt +codificați unul câte unul. +.IP "" +Codificarea literală presupune că cei mai mari biți \fIlc\fP ai octetului +anterior necomprimat se corelează cu octetul următor. De exemplu, în textul +tipic englezesc, o literă mare este adesea urmată de o literă mică, iar o +literă mică este urmată de obicei de o altă literă mică. În setul de +caractere US\-ASCII, cei mai mari trei biți sunt 010 pentru literele mari și +011 pentru literele mici. Când \fIlc\fP este cel puțin 3, codificarea literală +poate profita de această proprietate în datele necomprimate. +.IP "" +Valoarea implicită (3) este de obicei bună. Dacă doriți o comprimare maximă, +testați \fBlc=4\fP. Uneori ajută puțin, iar uneori înrăutățește comprimarea +\&. Dacă o agravează, încercați de\-asemeni cu \fBlc=2\fP. +.TP +\fBlp=\fP\fIlp\fP +Specifică numărul de biți de poziție literală. Minimul este 0 și maximul +este 4; implicit este 0. +.IP "" +\fILp\fP afectează ce fel de aliniere în datele necomprimate este presupusă la +codificarea literalelor. Consultați argumentul \fIpb\fP de mai jos pentru mai +multe informații despre aliniere. +.TP +\fBpb=\fP\fIpb\fP +Specifică numărul de biți de poziție. Minimul este 0 și maximul este 4; +implicit este 2. +.IP "" +\fIPb\fP afectează ce fel de aliniere în datele necomprimate este presupusă în +general. Valoarea implicită înseamnă alinierea pe patru octeți +(2^\fIpb\fP=2^2=4), care este adesea o alegere bună atunci când nu există o +ipoteză mai bună. +.IP "" +Când alinierea este cunoscută, definirea lui \fIpb\fP în mod corespunzător +poate reduce puțin dimensiunea fișierului. De exemplu, cu fișierele text cu +aliniere pe un octet (US\-ASCII, ISO\-8859\-*, UTF\-8), definirea \fBpb=0\fP poate +îmbunătăți ușor comprimarea. Pentru textul UTF\-16, \fBpb=1\fP este o alegere +bună. Dacă alinierea este un număr impar, cum ar fi 3 octeți, \fBpb=0\fP ar +putea fi cea mai bună alegere. +.IP "" +Chiar dacă alinierea presupusă poate fi ajustată cu \fIpb\fP și \fIlp\fP, LZMA1 și +LZMA2 încă favorizează ușor alinierea pe 16 octeți. Ar putea fi demn de luat +în considerare atunci când proiectați formate de fișiere care pot fi adesea +comprimate cu LZMA1 sau LZMA2. +.TP +\fBmf=\fP\fImf\fP +Căutarea potrivirilor are un efect major asupra vitezei codificatorului, +utilizării memoriei și raportului de comprimare. De obicei, găsitorii de +potriviri din lanțul sumelor de control sunt mai rapizi decât găsitorii de +potriviri din arborele binar. Valoarea implicită depinde de \fIprestabilit\fP: +0 folosește \fBhc3\fP, 1\(en3 folosește \fBhc4\fP, iar restul folosește \fBbt4\fP. +.IP "" +Sunt acceptate următoarele opțiuni de căutare de potriviri. Formulele de +utilizare a memoriei de mai jos sunt aproximări estimative, care se apropie +cel mai mult de realitate atunci când \fIdict\fP este o putere a lui doi. +.RS +.TP +\fBhc3\fP +Lanț de sumă de control, cu suma de control de 2 și 3 octeți +.br +Valoarea minimă pentru \fInice\fP: 3 +.br +Utilizarea memoriei: +.br +\fIdict\fP * 7.5 (dacă \fIdict\fP <= 16 Mio); +.br +\fIdict\fP * 5.5 + 64 MiB (dacă \fIdict\fP > 16 Mio) +.TP +\fBhc4\fP +Lanț de sumă de control, cu suma de control de 2, 3 și 4 octeți +.br +Valoarea minimă pentru \fInice\fP: 4 +.br +Utilizarea memoriei: +.br +\fIdict\fP * 7.5 (dacă \fIdict\fP <= 32 Mio); +.br +\fIdict\fP * 6.5 (dacă \fIdict\fP > 32 Mio) +.TP +\fBbt2\fP +Arbore binar cu suma de control de 2 octeți +.br +Valoarea minimă pentru \fInice\fP: 2 +.br +Utilizarea memoriei: \fIdict\fP * 9.5 +.TP +\fBbt3\fP +Arbore binar cu suma de control de 2 și 3 octeți +.br +Valoarea minimă pentru \fInice\fP: 3 +.br +Utilizarea memoriei: +.br +\fIdict\fP * 11.5 (dacă \fIdict\fP <= 16 Mio); +.br +\fIdict\fP * 9.5 + 64 MiB (dacă \fIdict\fP > 16 Mio) +.TP +\fBbt4\fP +Arbore binar cu suma de control de 2, 3 și 4 octeți +.br +Valoarea minimă pentru \fInice\fP: 4 +.br +Utilizarea memoriei: +.br +\fIdict\fP * 11.5 (dacă \fIdict\fP <= 32 Mio); +.br +\fIdict\fP * 10.5 (dacă \fIdict\fP > 32 Mio) +.RE +.TP +\fBmode=\fP\fImod\fP +Comprimarea \fImod\fP specifică metoda de analiză a datelor produse de +găsitorul de potriviri. \fIModurile\fP acceptate sunt \fBfast\fP(rapid) și +\fBnormal\fP. Valoarea implicită este \fBfast\fP pentru \fIprestabiliri\fP 0\(en3 și +\fBnormal\fP pentru \fIprestabiliri\fP 4\(en9. +.IP "" +De obicei, \fBfast\fP este folosit cu instrumentele de căutare de potriviri ale +lanțului de sume de control, și \fBnormal\fP cu instrumentele de căutare de +potriviri din arborele binar. Aceasta este și ceea ce fac \fIprestabiririle\fP. +.TP +\fBnice=\fP\fInice\fP +Specifică ceea ce este considerat a fi o lungime bună(nice) pentru o +potrivire. Odată ce este găsită o potrivire de cel puțin \fInice\fP octeți, +algoritmul nu mai caută după potriviri posibile mai bune. +.IP "" +\fINice\fP poate fi de 2\(en273 octeți. Valorile mai mari tind să ofere un +raport de comprimare mai bun în detrimentul vitezei. Valoarea implicită +depinde de \fIprestabilit\fP. +.TP +\fBdepth=\fP\fIadâncimea\fP +Specifică adâncimea maximă de căutare în găsitorul de potriviri. Valoarea +implicită este valoarea specială de 0, ceea ce face ca instrumentul de +comprimare să determine o \fIadâncime\fP rezonabilă pornind de la valorile +\fImf\fP și \fInice\fP. +.IP "" +\fIAdâncimea\fP rezonabilă pentru lanțuri de sumă de control este 4\(en100 și +16\(en1000 pentru arbori binari. Folosirea unor valori foarte mari pentru +\fIadâncime\fP poate face codificatorul extrem de lent cu unele +fișiere. Evitați să stabiliți \fIadâncimea\fP la valori peste 1000, cu excepția +cazului în care sunteți pregătit să întrerupeți comprimarea în cazul în care +durează prea mult. +.RE +.IP "" +La decodificarea fluxurilor brute (\fB\-\-format=raw\fP), LZMA2 are nevoie doar +de \fIdimensiunea\fP dicționarului. LZMA1 are nevoie de asemenea de \fIlc\fP, +\fIlp\fP și \fIpb\fP. +.TP +\fB\-\-x86\fP[\fB=\fP\fIopțiuni\fP] +.PD 0 +.TP +\fB\-\-arm\fP[\fB=\fP\fIopțiuni\fP] +.TP +\fB\-\-armthumb\fP[\fB=\fP\fIopțiuni\fP] +.TP +\fB\-\-arm64\fP[\fB=\fP\fIopțiuni\fP] +.TP +\fB\-\-powerpc\fP[\fB=\fP\fIopțiuni\fP] +.TP +\fB\-\-ia64\fP[\fB=\fP\fIopțiuni\fP] +.TP +\fB\-\-sparc\fP[\fB=\fP\fIopțiuni\fP] +.PD +Adaugă un filtru de ramură/apel/salt (branch/call/jump ⟶ „BCJ”) la lanțul de +filtre. Aceste filtre pot fi utilizate numai ca un filtru care nu este +ultimul din lanțul de filtrare. +.IP "" +Un filtru BCJ convertește adresele relative din codul mașinii în omoloagele +lor absolute. Acest lucru nu modifică dimensiunea datelor, dar crește +redundanța, ceea ce poate ajuta LZMA2 să producă fișier \fB.xz\fP cu 0\(en15\ % +mai mic. Filtrele BCJ sunt întotdeauna reversibile, deci folosind un filtru +BCJ pentru tipul greșit de date nu provoacă nicio pierdere de date, deși +poate înrăutăți puțin raportul de comprimare. Filtrele BCJ sunt foarte +rapide și folosesc o cantitate nesemnificativă de memorie. +.IP "" +Aceste filtre BCJ au probleme cunoscute legate de raportul de comprimare: +.RS +.IP \(bu 3 +Unele tipuri de fișiere care conțin cod executabil (de exemplu, fișiere +obiect, biblioteci statice și module de kernel Linux) au adresele din +instrucțiuni completate cu valori de umplere. Aceste filtre BCJ vor face în +continuare conversia adresei, ceea ce va înrăutăți comprimarea cu aceste +fișiere. +.IP \(bu 3 +Dacă pe o arhivă este aplicat un filtru BCJ, este posibil ca raportul de +comprimare să fie mai rău decât la neutilizarea unui filtru BCJ. De exemplu, +dacă există executabile similare sau chiar identice, filtrarea va face +probabil fișierele mai puțin asemănătoare și astfel comprimarea este mai +proastă. Conținutul fișierelor neexecutabile din aceeași arhivă poate conta +și el. În practică, trebuie să încercați cu și fără filtru BCJ pentru a +vedea care rezultat este mai bun în fiecare situație. +.RE +.IP "" +Seturi de instrucțiuni diferite au o aliniere diferită: fișierul executabil +trebuie aliniat la un multiplu al acestei valori în datele de intrare pentru +ca filtrul să funcționeze. +.RS +.RS +.PP +.TS +tab(;); +l n l +l n l. +Filtru;Aliniere;Note +x86;1;x86 pe 32 de biți +;;sau 64 de biți +ARM;4; +ARM\-Thumb;2; +ARM64;4;alinierea pe 4096\-octeți +;;este cea mai bună +PowerPC;4;Doar big endian +IA\-64;16;Itanium +SPARC;4; +RISC\-V;2; +.TE +.RE +.RE +.IP "" +Deoarece datele filtrate prin BCJ sunt de obicei comprimate cu LZMA2, +raportul de comprimare poate fi ușor îmbunătățit dacă opțiunile LZMA2 sunt +definite pentru a se potrivi cu alinierea filtrului BCJ selectat. Exemple: +.RS +.IP \(bu 3 +Filtrul IA\-64 are o aliniere de 16 octeți, astfel încât \fBpb=4,lp=4,lc=0\fP +este alegere adecvată cu LZMA2 (2^4=16). +.IP \(bu 3 +Codul RISC\-V are o aliniere pe 2 sau 4 octeți, depinzând de faptul că +fișierul conține instrucțiuni comprimate pe 16 biți (extensia C) sau +nu. Atunci când se utilizează instrucțiuni pe 16 biți, \fBpb=2,lp=1,lc=3\fP sau +\fBpb=1,lp=1,lc=3\fP este o alegere bună. Atunci când nu sunt prezente +instrucțiuni pe 16 biți, \fBpb=2,lp=2,lc=2\fP este cea mai bună +alegere. \fBreadelf \-h\fP poate fi utilizată pentru a verifica dacă „RVC” apare +în linia „Indicatori". +.IP \(bu 3 +ARM64 este întotdeauna aliniat pe 4 octeți, astfel încât \fBpb=2,lp=2,lc=2\fP +este cea mai bună alegere. +.IP \(bu 3 +Filtrul x86 este o excepție. De obicei, este bine să rămâneți la valorile +implicite ale LZMA2 (\fBpb=2,lp=0,lc=3\fP) atunci când comprimați executabile +x86. +.RE +.IP "" +Toate filtrele BCJ acceptă același \fIopțiuni\fP: +.RS +.TP +\fBstart=\fP\fIpoziție\fP +Specifică \fIpoziția\fP de pornire care este utilizată la conversia între +adresele relative și absolute. \fIPoziția\fP trebuie să fie un multiplu al +alinierii filtrului (consultați tabelul de mai sus). Valoarea implicită +este zero. În practică, valoarea implicită este bună; specificarea unei +\fIpoziții\fP personalizate nu este aproape niciodată utilă. +.RE +.TP +\fB\-\-delta\fP[\fB=\fP\fIopțiuni\fP] +Adaugă filtrul Delta în lanțul de filtrare. Filtrul Delta poate fi folosit +doar ca un filtru care nu este ultimul în lanțul de filtrare. +.IP "" +În prezent, este acceptat doar calculul delta simplu de octeți. Poate fi +util la comprimarea, de exemplu, a imaginilor bitmap necomprimate sau a +sunetului PCM necomprimat. Cu toate acestea, algoritmii cu scop special pot +da rezultate semnificativ mai bune decât Delta + LZMA2. Acest lucru este +valabil mai ales în cazul audio, care se comprimă mai repede și mai bine, de +exemplu, cu \fBflac\fP(1). +.IP "" +\fIOpțiuni\fP acceptate: +.RS +.TP +\fBdist=\fP\fIdistanța\fP +Specifică \fIdistanța\fP calculului delta în octeți. \fIDistanța\fP trebuie să fie +1\(en256. Valoarea implicită este 1. +.IP "" +De exemplu, cu \fBdist=2\fP și intrare de opt octeți: A1 B1 A2 B3 A3 B5 A4 B7, +ieșirea va fi: A1 B1 01 02 01 02 01 02. +.RE +. +.SS "Alte opțiuni" +.TP +\fB\-q\fP, \fB\-\-quiet\fP +Suprimă avertismentele și notificările. Specificați acest lucru de două ori +pentru a suprima și erorile. Această opțiune nu are niciun efect asupra +stării de ieșire. Adică, chiar dacă o avertizare a fost suprimată, starea de +ieșire pentru a indica o avertizare este încă utilizată. +.TP +\fB\-v\fP, \fB\-\-verbose\fP +Oferă informații detaliate. Dacă ieșirea de eroare standard este conectată +la un terminal, \fBxz\fP va afișa un indicator de progres. Specificarea +opțiunii \fB\-\-verbose\fP de două ori, va avea ca rezultat oferirea de +informații și mai detaliate. +.IP "" +Indicatorul de progres afișează următoarele informații: +.RS +.IP \(bu 3 +Procentul de completare este afișat dacă se cunoaște dimensiunea fișierului +de intrare. Adică, procentul nu poate fi afișat la procesarea fișierului +prin conducte(pipe). +.IP \(bu 3 +Cantitatea de date comprimate produse (comprimare) sau consumate +(decomprimare). +.IP \(bu 3 +Cantitatea de date necomprimate consumate (comprimare) sau produse +(decomprimare). +.IP \(bu 3 +Raportul de comprimare, care se calculează împărțind cantitatea de date +comprimate procesate până acum la cantitatea de date necomprimate procesate +până acum. +.IP \(bu 3 +Viteza de comprimare sau decomprimare. Aceasta este măsurată drept +cantitatea de date necomprimate consumate (comprimare) sau produse +(decomprimare) pe secundă. Este afișată după ce au trecut câteva secunde de +când \fBxz\fP a început procesarea fișierului. +.IP \(bu 3 +Timpul scurs în format M:SS sau H:MM:SS. +.IP \(bu 3 +Timpul rămas estimat este afișat numai atunci când dimensiunea fișierului de +intrare este cunoscută și au trecut deja câteva secunde de când \fBxz\fP a +început procesarea fișierului. Ora este afișată într\-un format mai puțin +precis, care nu are niciodată două puncte, de exemplu, 2 min 30 s. +.RE +.IP "" +Când ieșirea de eroare standard nu este un terminal, \fB\-\-verbose\fP va face +\fBxz\fP să imprime numele fișierului, dimensiunea comprimată, dimensiunea +necomprimată, raportul de comprimare și, eventual, de asemenea, viteza și +timpul scurs pe o singură linie la ieșirea de eroare standard după +comprimarea sau decomprimarea fișierului. Viteza și timpul scurs sunt +incluse numai atunci când operațiunea a durat cel puțin câteva secunde. Dacă +operațiunea nu s\-a încheiat, de exemplu, din cauza întreruperii din partea +utilizatorului, se imprimă și procentul de completare dacă se cunoaște +dimensiunea fișierului de intrare. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +Nu comută starea de ieșire la 2 chiar dacă a fost detectată o condiție care +merită avertizată. Această opțiune nu afectează nivelul de detaliere al +informațiilor, astfel încât atât \fB\-\-quiet\fP cât și \fB\-\-no\-warn\fP trebuie +folosite pentru a nu afișa avertismente și pentru a nu modifica starea de +ieșire. +.TP +\fB\-\-robot\fP +Afișează mesajele într\-un format care poate fi analizat de mașină. Acest +lucru are scopul de a ușura scrierea interfețelor în care se dorește să se +folosească \fBxz\fP în loc de liblzma, ceea ce poate fi cazul cu diferite +scripturi. Ieșirea cu această opțiune activată este menită să fie stabilă în +toate versiunile \fBxz\fP. Consultați secțiunea \fBMOD ROBOT\fP pentru detalii. +.TP +\fB\-\-info\-memory\fP +Afișează, într\-un format care poate fi citit de om, câtă memorie fizică +(RAM) și câte fire de execuție de procesor \fBxz\fP crede că are sistemul și +limitele de utilizare a memoriei pentru comprimare și decomprimare și iese +cu succes. +.TP +\fB\-h\fP, \fB\-\-help\fP +Afișează un mesaj de ajutor care descrie opțiunile cele mai frecvent +utilizate și iese cu succes. +.TP +\fB\-H\fP, \fB\-\-long\-help\fP +Afișează un mesaj de ajutor care descrie toate caracteristicile \fBxz\fP și +iese cu succes +.TP +\fB\-V\fP, \fB\-\-version\fP +Afișează numărul versiunii \fBxz\fP și liblzma într\-un format care poate fi +citit de om. Pentru a obține rezultate analizabile de mașină, specificați +\fB\-\-robot\fP înainte de \fB\-\-version\fP. +. +.SH "MOD ROBOT" +Modul robot este activat cu opțiunea \fB\-\-robot\fP. Face ieșirea lui \fBxz\fP mai +ușor de analizat de către alte programe. În prezent, opțiunea \fB\-\-robot\fP +este acceptată numai împreună cu opțiunile \fB\-\-list\fP, \fB\-\-filters\-help\fP, +\fB\-\-info\-memory\fP, și \fB\-\-version\fP. Va fi acceptată pentru comprimare și +decomprimare în viitor. +. +.SS "Modul listă" +\fBxz \-\-robot \-\-list\fP utilizează o ieșire separată de tabulatori. Prima +coloană a fiecărei linii are un șir care indică tipul de informații găsite +pe acea linie: +.TP +\fBname\fP +Aceasta este întotdeauna prima linie când începe să se listeze un fișier. A +doua coloană de pe linie este numele fișierului. +.TP +\fBfile\fP +Această linie conține informații generale despre fișierul \fB.xz\fP. Această +linie este întotdeauna tipărită după linia \fBname\fP. +.TP +\fBstream\fP +Acest tip de linie este utilizat numai atunci când a fost specificată +opțiunea \fB\-\-verbose\fP. Există tot atâtea linii \fBstream\fP câte fluxuri există +în fișierul \fB.xz\fP. +.TP +\fBblock\fP +Acest tip de linie este utilizat numai atunci când a fost specificată +opțiunea \fB\-\-verbose\fP. Există tot atâtea linii \fBblock\fP câte blocuri există +în fișierul \fB.xz\fP. Liniile \fBblock\fP sunt afișate după toate liniile +\fBstream\fP; tipurile diferite de linii nu sunt intercalate. +.TP +\fBsummary\fP +Acest tip de linie este folosit numai atunci când opțiunea \fB\-\-verbose\fP a +fost specificată de două ori. Această linie este afișată după toate liniile +\fBblock\fP. Ca și linia \fBfile\fP, linia \fBsummary\fP conține informații generale +despre fișierul \fB.xz\fP. +.TP +\fBtotals\fP +Această linie este întotdeauna ultima linie din lista afișată la +ieșire. Aceasta arată numărul total și dimensiunile. +.PP +Coloanele din liniile \fBfile\fP: +.PD 0 +.RS +.IP 2. 4 +Numărul de fluxuri din fișier +.IP 3. 4 +Numărul total de blocuri din fluxuri +.IP 4. 4 +Dimensiunea comprimată a fișierului +.IP 5. 4 +Dimensiunea necomprimată a fișierului +.IP 6. 4 +Raportul de comprimare, de exemplu, \fB0,123\fP. Dacă raportul este peste +9,999, în locul raportului sunt afișate trei liniuțe (\fB\-\-\-\fP). +.IP 7. 4 +Lista de nume de verificare a integrității, separate prin +virgule. Următoarele șiruri sunt utilizate pentru tipurile de verificare +cunoscute: \fBNone\fP, \fBCRC32\fP, \fBCRC64\fP și \fBSHA\-256\fP. Pentru tipurile de +verificări necunoscute, se utilizează \fBNone\-\fP\fIN\fP, unde \fIN\fP este ID\-ul de +verificare ca număr zecimal (una sau două cifre). +.IP 8. 4 +Dimensiunea totală a umpluturii fluxului din fișier +.RE +.PD +.PP +Coloanele din liniile \fBstream\fP: +.PD 0 +.RS +.IP 2. 4 +Numărul fluxului (primul flux este 1) +.IP 3. 4 +Numărul de blocuri din flux +.IP 4. 4 +Poziția de pornire a comprimării +.IP 5. 4 +Poziția de pornire a decomprimării +.IP 6. 4 +Dimensiune comprimată (nu include umplutura fluxului) +.IP 7. 4 +Dimensiune necomprimată +.IP 8. 4 +Raport de comprimare +.IP 9. 4 +Numele verificării de integritate +.IP 10. 4 +Dimensiunea umpluturii fluxului +.RE +.PD +.PP +Coloanele din liniile \fBblock\fP: +.PD 0 +.RS +.IP 2. 4 +Numărul fluxului care conține acest bloc +.IP 3. 4 +Numărul blocului în raport cu începutul fluxului (primul bloc este 1) +.IP 4. 4 +Numărul blocului în raport cu începutul fișierului +.IP 5. 4 +Poziția de pornire a comprimării în raport cu începutul fișierului +.IP 6. 4 +Poziția de pornire necomprimată în raport cu începutul fișierului +.IP 7. 4 +Dimensiunea totală comprimată a blocului (include antetele) +.IP 8. 4 +Dimensiune necomprimată +.IP 9. 4 +Raport de comprimare +.IP 10. 4 +Numele verificării de integritate +.RE +.PD +.PP +Dacă opțiunea \fB\-\-verbose\fP a fost specificată de două ori, coloane +suplimentare sunt incluse pe liniile \fBblock\fP. Acestea nu sunt afișate cu o +singură specificare a opțiunii \fB\-\-verbose\fP, deoarece obținerea acestor +informații necesită multe căutări și, prin urmare, poate fi lentă: +.PD 0 +.RS +.IP 11. 4 +Valoarea verificării integrității în hexazecimal +.IP 12. 4 +Dimensiunea antetului blocului +.IP 13. 4 +Indicatori de bloc: \fBc\fP indică faptul că este prezentă dimensiunea +comprimată, iar \fBu\fP indică faptul că este prezentă dimensiunea +necomprimată. Dacă indicatorul nu este determinat, este afișată o liniuță +(\fB\-\fP) pentru a menține lungimea șirului fixă. Pot fi adăugate noi +indicatoare la sfârșitul șirului, în viitor. +.IP 14. 4 +Dimensiunea datelor comprimate reale din bloc (acest lucru exclude antetul +blocului, umplutura blocului și câmpurile de verificare) +.IP 15. 4 +Cantitatea de memorie (în octeți) necesară pentru a decomprima acest bloc cu +această versiune \fBxz\fP +.IP 16. 4 +Lanț de filtrare. Rețineți că majoritatea opțiunilor utilizate în timpul +comprimării nu pot fi cunoscute, deoarece doar opțiunile necesare pentru +decomprimare sunt stocate în anteturile \fB.xz\fP. +.RE +.PD +.PP +Coloanele din liniile \fBsummary\fP: +.PD 0 +.RS +.IP 2. 4 +Cantitatea de memorie (în octeți) necesară pentru a decomprima acest fișier +cu această versiune \fBxz\fP +.IP 3. 4 +\fByes\fP sau \fBno\fP indicând dacă toate antetele blocurilor au atât dimensiunea +comprimată, cât și dimensiunea necomprimată stocate în ele +.PP +\fIÎncepând cu\fP \fBxz\fP \fI5.1.2alpha:\fP +.IP 4. 4 +Versiunea \fBxz\fP minimă necesară pentru a decomprima fișierul +.RE +.PD +.PP +Coloanele din linia \fBtotals\fP: +.PD 0 +.RS +.IP 2. 4 +Numărul de fluxuri +.IP 3. 4 +Numărul de blocuri +.IP 4. 4 +Dimensiunea comprimată +.IP 5. 4 +Dimensiune necomprimată +.IP 6. 4 +Raportul mediu de comprimare +.IP 7. 4 +Lista de nume de verificare a integrității, separate prin virgule, care au +fost prezente în fișiere +.IP 8. 4 +Dimensiunea umpluturii fluxului +.IP 9. 4 +Numărul de fișiere. Aceasta este aici pentru a păstra ordinea coloanelor +anterioare la fel ca pe liniile \fBfile\fP. +.PD +.RE +.PP +Dacă opțiunea \fB\-\-verbose\fP a fost specificată de două ori, pe linia +\fBtotals\fP sunt incluse coloane suplimentare: +.PD 0 +.RS +.IP 10. 4 +Cantitatea maximă de memorie (în octeți) necesară pentru a decomprima +fișierele cu această versiune \fBxz\fP +.IP 11. 4 +\fByes\fP sau \fBno\fP indicând dacă toate antetele blocurilor au atât dimensiunea +comprimată, cât și dimensiunea necomprimată stocate în ele +.PP +\fIÎncepând cu\fP \fBxz\fP \fI5.1.2alpha:\fP +.IP 12. 4 +Versiunea \fBxz\fP minimă necesară pentru a decomprima fișierul +.RE +.PD +.PP +Versiunile viitoare pot adăuga noi tipuri de linii și pot fi adăugate +coloane noi la tipurile de linii existente, dar coloanele existente nu vor +fi modificate. +. +.SS "Ajutor pentru filtrare" +\fBxz \-\-robot \-\-filters\-help\fP afișează filtrele acceptate în următorul +format: +.PP +\fIfiltru\fP\fB:\fP\fIopțiune\fP\fB=<\fP\fIvaloare\fP\fB>,\fP\fIopțiune\fP\fB=<\fP\fIvaloare\fP\fB>\fP... +.TP +\fBfiltru\fP +Numele filtrului +.TP +\fIopțiune\fP +Numele unei opțiuni specifice unui filtru +.TP +\fIvaloare\fP +Intervalele numerice \fIvaloare\fP apar ca +\fB<\fP\fImin\fP\fB\-\fP\fImax\fP\fB>\fP. Alegerile \fIvaloare\fP de tip șir de +caractere sunt afișate în cadrul \fB< >\fP și separate de un caracter +\fB|\fP. +.PP +Fiecare filtru este afișat pe propria linie. +. +.SS "Informații privind limita memoriei" +\fBxz \-\-robot \-\-info\-memory\fP afișează o singură linie cu multiple coloane +separate prin tabulatoare: +.IP 1. 4 +Cantitatea totală de memorie fizică (RAM) în octeți. +.IP 2. 4 +Limita de utilizare a memoriei pentru comprimare în octeți +(\fB\-\-memlimit\-compress\fP). O valoare specială de \fB0\fP indică configurarea +implicită, care pentru modul cu un singur fir este la fel ca fără limită. +.IP 3. 4 +Limita de utilizare a memoriei pentru decomprimare în octeți +(\fB\-\-memlimit\-decompress\fP). O valoare specială de \fB0\fP indică configurarea +implicită, care pentru modul cu un singur fir este la fel ca fără limită. +.IP 4. 4 +Începând cu \fBxz\fP 5.3.4alpha: Utilizarea memoriei pentru decomprimarea cu +mai multe fire în octeți (\fB\-\-memlimit\-mt\-decompress\fP). Acesta nu este +niciodată zero, deoarece o valoare implicită specifică sistemului afișată în +coloana 5 este utilizată dacă nu a fost specificată în mod explicit nicio +limită. De asemenea, aceasta nu este niciodată mai mare decât valoarea din +coloana 3, chiar dacă a fost specificată o valoare mai mare cu +\fB\-\-memlimit\-mt\-decompress\fP. +.IP 5. 4 +Începând cu \fBxz\fP 5.3.4alpha: o limită implicită de utilizare a memoriei +specifică sistemului, care este utilizată pentru a limita numărul de fire de +execuție atunci când se comprimă cu un număr automat de fire de execuție +(\fB\-\-threads=0\fP) și nicio limită de utilizare a memoriei nu fost specificată +cu (\fB\-\-memlimit\-compress\fP). Aceasta este, de asemenea, utilizată ca valoare +implicită pentru \fB\-\-memlimit\-mt\-decompress\fP. +.IP 6. 4 +Începând cu \fBxz\fP 5.3.4alpha: numărul de fire de execuție de procesor +disponibile. +.PP +În viitor, rezultatul \fBxz \-\-robot \-\-info\-memory\fP poate avea mai multe +coloane, dar niciodată mai mult de o singură linie. +. +.SS Versiunea +\fBxz \-\-robot \-\-version\fP va afișa numărul versiunii \fBxz\fP și liblzma în +următorul format: +.PP +\fBXZ_VERSION=\fP\fIXYYYZZZS\fP +.br +\fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP +.TP +\fIX\fP +Versiunea majoră. +.TP +\fIYYY\fP +Versiunea minoră. Numerele pare sunt prezente în versiunile +stabile. Numerele impare sunt prezente în versiunile alfa sau beta. +.TP +\fIZZZ\fP +Nivelul de plasture(patch) pentru versiunile stabile sau doar un contor +pentru versiunile de dezvoltare. +.TP +\fIS\fP +Stabilitate. 0 este alfa, 1 este beta și 2 este stabil. \fIS\fP trebuie să fie +întotdeauna 2 atunci când \fIAAA\fP este par. +.PP +\fIXYYYZZZS\fP sunt aceleași pe ambele linii dacă \fBxz\fP și liblzma sunt din +aceeași versiune XZ Utils. +.PP +Exemple: 4.999.9beta este \fB49990091\fP și 5.0.0 este \fB50000002\fP. +. +.SH "STARE DE IEȘIRE" +.TP +\fB0\fP +Totul este bine. +.TP +\fB1\fP +A apărut o eroare. +.TP +\fB2\fP +A apărut ceva care merită să fie avertizat, dar nu au apărut erori reale. +.PP +Notificările (nu avertismentele sau erorile) afișate la ieșirea de eroare +standard nu afectează starea de ieșire. +. +.SH "VARIABILE DE MEDIU" +\fBxz\fP analizează liste de opțiuni separate prin spații din variabilele de +mediu \fBXZ_DEFAULTS\fP și \fBXZ_OPT\fP, în această ordine, înainte de a analiza +opțiunile din linia de comandă. Rețineți că numai opțiunile sunt analizate +din variabilele de mediu; toate non\-opțiunile sunt ignorate în +tăcere. Analiza se face cu funcția \fBgetopt_long\fP(3) care este folosită și +pentru argumentele liniei de comandă. +.TP +\fBXZ_DEFAULTS\fP +Opțiuni implicite specifice utilizatorului sau la nivelul întregului +sistem. De obicei, acest lucru este specificat într\-un script de +inițializare shell pentru a activa limitatorul de utilizare a memoriei lui +\fBxz\fP implicit. Excluzând scripturile de inițializare shell și cazurile +speciale similare, scripturile nu trebuie niciodată să modifice sau să +dezactiveze \fBXZ_DEFAULTS\fP. +.TP +\fBXZ_OPT\fP +Acest lucru este pentru transmiterea opțiunilor către \fBxz\fP atunci când nu +este posibil să definiți opțiunile direct în linia de comandă a +\fBxz\fP. Acesta este cazul când \fBxz\fP este rulat de un script sau de un +instrument, de exemplu, GNU \fBtar\fP(1): +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=\-2v tar caf foo.tar.xz foo\fP +.fi +.RE +.RE +.IP "" +Scripturile pot folosi \fBXZ_OPT\fP, de exemplu, pentru a configura opțiunile +implicite de comprimare specifice scriptului. Se recomandă totuși să se +permită utilizatorilor să înlocuiască \fBXZ_OPT\fP dacă acest lucru este +rezonabil. De exemplu, în scripturile \fBsh\fP(1) se poate folosi ceva de genul +acesta: +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=${XZ_OPT\-"\-7e"} export XZ_OPT\fP +.fi +.RE +.RE +. +.SH "COMPATIBILITATE CU LZMA\-UTILS" +Sintaxa liniei de comandă a lui \fBxz\fP este practic o super\-colecție de +\fBlzma\fP, \fBunlzma\fP și \fBlzcat\fP așa cum se găsește în LZMA Utils 4.32.x. În +cele mai multe cazuri, este posibil să înlocuiți LZMA Utils cu XZ Utils fără +a întrerupe scripturile existente. Există totuși unele incompatibilități, +care uneori pot cauza probleme. +. +.SS "Niveluri de comprimare prestabilite" +Numerotarea nivelurilor de comprimare prestabilite nu este identică în \fBxz\fP +și LZMA Utils. Cea mai importantă diferență este modul în care dimensiunile +dicționarului sunt atribuite diferitelor niveluri prestabilite. Dimensiunea +dicționarului este aproximativ egală cu memoria utilizată la decomprimare. +.RS +.PP +.TS +tab(;); +c c c +c n n. +Nivel;xz;LZMA Utils +\-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 +Diferențele de dimensiune a dicționarului afectează deasemenea cantitatea de +memorie utilizată la comprimare dar există și alte diferențe între LZMA +Utils și XZ Utils, care fac diferența și mai mare: +.RS +.PP +.TS +tab(;); +c c c +c n n. +Nivel;xz;LZMA Utils 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 +Nivelul prestabilit implicit în LZMA Utils este \fB\-7\fP, în timp ce în XZ +Utils este \fB\-6\fP, deci ambele folosesc un dicționar de 8Mio în mod implicit. +. +.SS "Fișiere .lzma transmise în flux vs. netransmise în flux" +Dimensiunea necomprimată a fișierului poate fi stocată în antetul +\&\fB.lzma\fP. LZMA Utils face asta atunci când comprimă fișiere +obișnuite. Alternativa este să marcați că dimensiunea necomprimată este +necunoscută și să folosiți marcajul de sfârșit de încărcare pentru a indica +unde ar trebui să se oprească decomprimarea. LZMA Utils folosește această +metodă atunci când dimensiunea necomprimată nu este cunoscută, ceea ce este +cazul, de exemplu, când se folosesc conducte. +.PP +\fBxz\fP acceptă decomprimarea fișierelor \fB.lzma\fP cu sau fără marcaj de +sfârșit de încărcare, dar toate fișierele \fB.lzma\fP create de \fBxz\fP vor +folosi marcajul de sfârșit de încărcare și vor avea dimensiunea necomprimată +marcată ca necunoscută în antetul \fB.lzma\fP. Aceasta poate fi o problemă în +unele situații mai puțin frecvente. De exemplu, un instrument de +decomprimare \fB.lzma\fP încorporat într\-un dispozitiv poate funcționa numai cu +fișiere care au dimensiunea necomprimată cunoscută. Dacă întâmpinați această +problemă, trebuie să utilizați LZMA Utils sau LZMA SDK pentru a crea fișiere +\&\fB.lzma\fP cu dimensiunea necomprimată cunoscută. +. +.SS "Fișiere .lzma neacceptate" +Formatul \fB.lzma\fP permite valori \fIlc\fP de până la 8 și valori \fIlp\fP de până +la 4. LZMA Utils poate decomprima fișiere cu orice \fIlc\fP și \fIlp\fP, dar +creează întotdeauna fișiere cu \fBlc=3\fP și \fBlp=0\fP. Crearea de fișiere cu +alte \fIlc\fP și \fIlp\fP este posibilă cu \fBxz\fP și cu LZMA SDK. +.PP +Implementarea filtrului LZMA1 în liblzma necesită ca suma \fIlc\fP și \fIlp\fP să +nu depășească 4. Altfel, fișierele \fB.lzma\fP, care depășesc această limitare, +nu pot fi decomprimate cu \fBxz\fP. +.PP +LZMA Utils creează numai fișiere \fB.lzma\fP care au o dimensiune de dicționar +de 2^\fIn\fP (o putere de 2), dar acceptă fișiere cu orice dimensiune de +dicționar. liblzma acceptă numai fișierele \fB.lzma\fP care au dimensiunea de +dicționar de 2^\fIn\fP sau 2^\fIn\fP + 2^(\fIn\fP\-1). Acest lucru este pentru a +reduce numărul de „fals pozitiv” atunci când se detectează fișiere \fB.lzma\fP. +.PP +Aceste limitări nu ar trebui să fie o problemă în practică, deoarece practic +toate fișierele \fB.lzma\fP au fost comprimate cu opțiuni pe care liblzma le va +accepta. +. +.SS "Resturi rămase" +Când decomprimă, LZMA Utils ignoră în tăcere totul după primul flux +\&\fB.lzma\fP. În majoritatea situațiilor, aceasta este o eroare. Aceasta +înseamnă, de asemenea, că LZMA Utils nu acceptă decomprimarea fișierelor +\&\fB.lzma\fP concatenate. +.PP +Dacă au rămas date după primul flux \fB.lzma\fP, \fBxz\fP consideră că fișierul +este corupt, cu excepția cazului în care a fost utilizată opțiunea +\fB\-\-single\-stream\fP. Acest lucru poate rupe scripturile obscure(scrise +deficitar) care presupun că resturile rămase sunt ignorate. +. +.SH NOTE +. +.SS "Rezultatul comprimării poate varia" +Ieșirea exactă comprimată produsă din același fișier de intrare necomprimat +poate varia între versiunile XZ Utils, chiar dacă opțiunile de comprimare +sunt identice. Acest lucru se datorează faptului că instrumentul codificator +poate fi îmbunătățit (comprimare mai rapidă sau mai bună) fără a afecta +formatul fișierului. Ieșirea poate varia chiar și între compilările diferite +ale aceleiași versiuni XZ Utils, dacă sunt utilizate opțiuni diferite de +compilare. +.PP +Cele de mai sus înseamnă că odată ce opțiunea \fB\-\-rsyncable\fP a fost +utilizată, fișierele rezultate nu vor fi neapărat sincronizate cu rsync +decât dacă atât fișierele vechi, cât și cele noi au fost comprimate cu +aceeași versiune xz. Această problemă poate fi remediată dacă o parte a +implementării codificatorului este înghețată pentru a menține stabilă +ieșirea „rsyncabilă” între versiunile xz. +. +.SS "Instrumente de decomprimare .xz încorporate" +Implementările instrumentului de decomprimare \fB.xz\fP încorporat, cum ar fi +XZ Embedded, nu acceptă neapărat fișiere create cu tipuri de \fIverificare\fP a +integrității, altele decât \fBnone\fP și \fBcrc32\fP. Deoarece valoarea implicită +este \fB\-\-check=crc64\fP, trebuie să utilizați \fB\-\-check=none\fP sau +\fB\-\-check=crc32\fP atunci când creați fișiere pentru sistemele încorporate. +.PP +În afara sistemelor încorporate, toate instrumentele de decomprimare în +format \fB.xz\fP acceptă toate tipurile de \fIverificare\fP sau cel puțin pot +decomprima fișierul fără a efectua verificarea integrității dacă acel tip de +\fIverificare\fP nu este acceptat. +.PP +XZ Embedded acceptă filtre BCJ, dar numai cu poziție de pornire implicită. +. +.SH EXEMPLE +. +.SS Bazice +Comprimă fișierul \fIfoo\fP în \fIfoo.xz\fP folosind nivelul de comprimare +implicit (\fB\-6\fP) și elimină fișierul \fIfoo\fP dacă comprimarea are succes: +.RS +.PP +.nf +\f(CWxz foo\fP +.fi +.RE +.PP +Decomprimă \fIbar.xz\fP în \fIbar\fP și nu elimină \fIbar.xz\fP chiar dacă +decomprimarea este efectuată cu succes: +.RS +.PP +.nf +\f(CWxz \-dk bar.xz\fP +.fi +.RE +.PP +Creează \fIbaz.tar.xz\fP cu nivelul prestabilit \fB\-4e\fP (\fB\-4 \-\-extreme\fP), care +este mai lent decât nivelul prestabilit implicit \fB\-6\fP, dar necesită mai +puțină memorie pentru comprimare și decomprimare (48Mio și, respectiv, +5Mio): +.RS +.PP +.nf +\f(CWtar cf \- baz | xz \-4e > baz.tar.xz\fP +.fi +.RE +.PP +Un amestec de fișiere comprimate și necomprimate poate fi decomprimat la +ieșirea standard cu o singură comandă: +.RS +.PP +.nf +\f(CWxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fP +.fi +.RE +. +.SS "Comprimarea în paralel a mai multor fișiere" +În sisteme GNU și *BSD, \fBfind\fP(1) și \fBxargs\fP(1) pot fi utilizate pentru a +paraleliza comprimarea mai multor fișiere: +.RS +.PP +.nf +\f(CWfind . \-type f \e! \-name '*.xz' \-print0 \e | xargs \-0r \-P4 \-n16 xz \-T1\fP +.fi +.RE +.PP +Opțiunea \fB\-P\fP pentru comanda \fBxargs\fP(1) stabilește numărul de procese +paralele \fBxz\fP. Cea mai bună valoare pentru opțiunea \fB\-n\fP depinde de câte +fișiere trebuie să fie comprimate. Dacă există doar câteva fișiere, valoarea +ar trebui probabil să fie 1; cu zeci de mii de fișiere, 100 sau chiar mai +mult poate să fie valoarea potrivită pentru a reduce numărul de procese +\fBxz\fP pe care \fBxargs\fP(1) le va crea în final. +.PP +Opțiunea \fB\-T1\fP pentru \fBxz\fP este acolo pentru a\-l forța să ruleze în modul +cu un singur fir de execuție, deoarece \fBxargs\fP(1) este folosit pentru a +controla cantitatea de paralelizare. +. +.SS "Modul robot" +Calculează câți octeți au fost salvați în total după comprimarea mai multor +fișiere: +.RS +.PP +.nf +\f(CWxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fP +.fi +.RE +.PP +Un script poate dori să afle dacă folosește o versiune \fBxz\fP suficient de +nouă. Următorul script \fBsh\fP(1) verifică dacă numărul versiunii +instrumentului \fBxz\fP este cel puțin 5.0.0. Această metodă este compatibilă +cu versiunile beta vechi, care nu acceptau opțiunea \fB\-\-robot\fP: +.RS +.PP +.nf +\f(CWif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" || [ "$XZ_VERSION" \-lt 50000002 ]; then echo "Versiunea dumneavoastră de „xz” este prea veche!" fi unset XZ_VERSION LIBLZMA_VERSION\fP +.fi +.RE +.PP +Stabilește o limită de utilizare a memoriei pentru decomprimare folosind +variabila de mediu \fBXZ_OPT\fP, dar dacă o limită a fost deja stabilită, nu o +mărește: +.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 "Lanțuri de filtrare personalizate pentru instrumentul de comprimare" +Cea mai simplă utilizare a lanțurilor de filtrare personalizate este +personalizarea unei opțiuni prestabilite LZMA2. Acest lucru poate fi util, +deoarece opțiunile prestabilite acoperă doar un subset al combinațiilor +potențial utile de opțiuni de comprimare. +.PP +Coloanele CPUComp din tabelele de descriere a opțiunilor \fB\-0\fP ... \fB\-9\fP și +\fB\-\-extreme\fP sunt utile atunci când personalizați opțiunilor prestabilite +LZMA2. Iată părțile relevante colectate din aceste două tabele: +.RS +.PP +.TS +tab(;); +c c +n n. +ValPrestab;CPUComp +\-0;0 +\-1;1 +\-2;2 +\-3;3 +\-4;4 +\-5;5 +\-6;6 +\-5e;7 +\-6e;8 +.TE +.RE +.PP +Dacă știți că un fișier necesită un dicționar oarecum mare (de exemplu, +32Mio) pentru a se comprima bine, dar doriți să\-l comprimați mai repede +decât ar face \fBxz \-8\fP, o opțiune prestabilită cu o valoare CPUComp scăzută +(de exemplu, 1) poate fi modificată pentru a utiliza un dicționar mai mare: +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=1,dict=32MiB foo.tar\fP +.fi +.RE +.PP +Cu anumite fișiere, comanda de mai sus poate fi mai rapidă decât \fBxz \-6\fP în +timp ce comprimă semnificativ mai bine. Cu toate acestea, trebuie subliniat +că doar unele fișiere se beneficiază de un dicționar mare, păstrând în +același timp valoarea CPUComp scăzută. Cea mai evidentă situație, în care un +dicționar mare poate ajuta foarte mult, este o arhivă care conține fișiere +foarte asemănătoare de cel puțin câțiva megaocteți fiecare. Dimensiunea +dicționarului trebuie să fie semnificativ mai mare decât orice fișier +individual pentru a permite LZMA2 să profite din plin de asemănările dintre +fișierele consecutive. +.PP +Dacă utilizarea unei mari cantități de memorie pentru comprimare și +decomprimare este în regulă, iar fișierul comprimat are cel puțin câteva +sute de megaocteți, poate fi util să folosiți un dicționar și mai mare decât +cei 64Mio pe care i\-ar folosi \fBxz \-9\fP: +.RS +.PP +.nf +\f(CWxz \-vv \-\-lzma2=dict=192MiB big_foo.tar\fP +.fi +.RE +.PP +Utilizarea opțiunii \fB\-vv\fP (\fB\-\-verbose \-\-verbose\fP) ca în exemplul de mai +sus, poate fi utilă pentru a vedea cerințele de memorie la comprimare și +decomprimare. Amintiți\-vă că utilizarea unui dicționar mai mare decât +dimensiunea fișierului necomprimat este risipă de memorie, de aceea, comanda +de mai sus nu este utilă pentru fișiere mici. +.PP +Uneori, timpul de comprimare nu contează, dar utilizarea memoriei la +decomprimare trebuie menținută la un nivel scăzut, de exemplu, pentru a face +posibilă decomprimarea fișierului pe un sistem încorporat. Următoarea +comandă folosește \fB\-6e\fP (\fB\-6 \-\-extreme\fP) ca bază și fixează dimensiunea +dicționarului la doar 64Kio. Fișierul rezultat poate fi decomprimat cu XZ +Embedded (de aceea există \fB\-\-check=crc32\fP) folosind aproximativ 100Kio de +memorie. +.RS +.PP +.nf +\f(CWxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo\fP +.fi +.RE +.PP +Dacă doriți să stoarceți cât mai mulți octeți posibil, ajustarea numărului +de biți de context literal (\fIlc\fP) și a numărului de biți de poziție (\fIpb\fP) +poate ajuta uneori. Ajustarea numărului de biți de poziție literală (\fIlp\fP) +ar putea ajuta, de asemenea, dar de obicei \fIlc\fP și \fIpb\fP sunt mai +importante. De exemplu, o arhivă de cod sursă conține în mare parte text +US\-ASCII, așa că ceva precum comanda următoare, ar putea oferi un fișier +„mai slăbuț” (aproximativ cu 0,1%) mai mic decât cu \fBxz \-6e\fP (încercați și +fără \fBlc=4\fP): +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=6e,pb=0,lc=4 fișierul_sursă.tar\fP +.fi +.RE +.PP +Utilizarea unui alt filtru împreună cu LZMA2 poate îmbunătăți comprimarea cu +anumite tipuri de fișiere. De exemplu, pentru a comprima o bibliotecă +partajată x86 pe 32 de biți sau x86 pe 64 de biți folosind filtrul BCJ x86: +.RS +.PP +.nf +\f(CWxz \-\-x86 \-\-lzma2 libfoo.so\fP +.fi +.RE +.PP +Rețineți că ordinea opțiunilor de filtrare este semnificativă. Dacă \fB\-\-x86\fP +este specificată după \fB\-\-lzma2\fP, \fBxz\fP va da o eroare, deoarece nu poate +exista niciun filtru după LZMA2 și, de asemenea, pentru că filtrul x86 BCJ +nu poate fi utilizat ca ultimul filtru din lanțul de filtrare. +.PP +Filtrul Delta împreună cu LZMA2 pot da rezultate bune cu imagini bitmap. De +obicei, ar trebui să întreacă comprimarea PNG, care are câteva filtre mai +avansate decât delta simplă, dar utilizează Deflate pentru comprimarea +reală. +.PP +Imaginea trebuie să fie salvată în format necomprimat, de exemplu, ca TIFF +necomprimat. Parametrul de distanță al filtrului Delta este fixat să se +potrivească cu numărul de octeți per pixel din imagine. De exemplu, +bitmap\-ul RGB pe 24 de biți necesită \fBdist=3\fP și este, de asemenea, bine să +pasați \fBpb=0\fP la LZMA2 pentru a se adapta alinierii pe trei octeți: +.RS +.PP +.nf +\f(CWxz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff\fP +.fi +.RE +.PP +Dacă mai multe imagini au fost introduse într\-o singură arhivă (de exemplu, +\&\fB.tar\fP), filtrul Delta va funcționa și pe aceasta atâta timp cât toate +imaginile au același număr de octeți per pixel. +. +.SH "CONSULTAȚI ȘI" +\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 Utils: <https://xz.tukaani.org/xz\-utils/> +.br +XZ Embedded: <https://xz.tukaani.org/xz\-embedded/> +.br +LZMA SDK: <https://7\-zip.org/sdk.html> diff --git a/po4a/man/ro/xzdec.1 b/po4a/man/ro/xzdec.1 new file mode 100644 index 00000000..7e1598bf --- /dev/null +++ b/po4a/man/ro/xzdec.1 @@ -0,0 +1,98 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" Romanian translation for xz-man. +.\" Mesajele în limba română pentru manualul pachetului XZ Utils. +.\" Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2024. +.\" Cronologia traducerii fișierului „xz-man”: +.\" Traducerea inițială, făcută de R-GC, pentru versiunea xz-man 5.4.0-pre1. +.\" Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022. +.\" Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023. +.\" Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre1, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre2, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 "19 ianuarie 2024" Tukaani "Utilități XZ" +.SH NUME +xzdec, lzmadec \- Programe de decomprimare mici de fișiere .xz și .lzma +.SH REZUMAT +\fBxzdec\fP [\fIopțiune...\fP] [\fIfișier...\fP] +.br +\fBlzmadec\fP [\fIopțiune...\fP] [\fIfișier...\fP] +.SH DESCRIERE +\fBxzdec\fP este un instrument de decomprimare bazat pe liblzma pentru +fișierele \fB.xz\fP (și numai \fB.xz\fP). \fBxzdec\fP este destinat să funcționeze ca +un înlocuitor pentru \fBxz\fP(1) în cele mai frecvente situații în care un +script a fost scris pentru a utiliza \fBxz \-\-decompress \-\-stdout\fP (și posibil +câteva alte opțiuni frecvent utilizate) pentru a decomprima fișierele +\&\fB.xz\fP. \fBlzmadec\fP este identic cu \fBxzdec\fP cu excepția faptului că +\fBlzmadec\fP acceptă fișierele \fB.lzma\fP în loc de fișierele \fB.xz\fP. +.PP +Pentru a reduce dimensiunea executabilului, \fBxzdec\fP nu acceptă modul cu mai +multe fire de execuție sau localizarea(afișarea mesajelor în limba stabilită +de configurările regionale) și nu citește opțiunile din variabilele de mediu +\fBXZ_DEFAULTS\fP și \fBXZ_OPT\fP. \fBxzdec\fP nu acceptă afișarea informațiilor +intermediare de progres: trimiterea semnalului \fBSIGINFO\fP la \fBxzdec\fP nu +face nimic, iar trimiterea semnalului \fBSIGUSR1\fP încheie procesul în loc să +afișeze informații despre progres. +.SH OPȚIUNI +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +Ignorat pentru compatibilitate cu \fBxz\fP(1). \fBxzdec\fP acceptă numai +decomprimarea. +.TP +\fB\-k\fP, \fB\-\-keep\fP +Ignorat pentru compatibilitate cu \fBxz\fP(1). \fBxzdec\fP nu creează sau elimină +niciodată niciun fișier. +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +Ignorat pentru compatibilitate cu \fBxz\fP(1). \fBxzdec\fP scrie întotdeauna +datele decomprimate la ieșirea standard. +.TP +\fB\-q\fP, \fB\-\-quiet\fP +Specificarea acestui lucru o dată nu face nimic, deoarece \fBxzdec\fP nu +afișează niciodată avertismente sau notificări. Specificați acest lucru de +două ori pentru a suprima erorile. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +Ignorat pentru compatibilitate cu \fBxz\fP(1). \fBxzdec\fP nu folosește niciodată +starea de ieșire 2. +.TP +\fB\-h\fP, \fB\-\-help\fP +Afișează un mesaj de ajutor și iese cu succes. +.TP +\fB\-V\fP, \fB\-\-version\fP +Afișează numărul versiunii \fBxzdec\fP și liblzma. +.SH "STARE DE IEȘIRE" +.TP +\fB0\fP +Toate au fost bine. +.TP +\fB1\fP +A apărut o eroare. +.PP +\fBxzdec\fP nu are niciun mesaj de avertizare precum \fBxz\fP(1), astfel că starea +de ieșire 2 nu este folosită de \fBxzdec\fP. +.SH NOTE +Utilizați \fBxz\fP(1) în loc de \fBxzdec\fP sau \fBlzmadec\fP pentru utilizarea +normală de zi cu zi. \fBxzdec\fP sau \fBlzmadec\fP sunt destinate numai +situațiilor în care este important să aveți un instrument de decomprimare +mai mic decât \fBxz\fP(1), cu funcții complete. +.PP +\fBxzdec\fP și \fBlzmadec\fP nu sunt chiar atât de mici. Dimensiunea poate fi +redusă și mai mult prin eliminarea caracteristicilor din liblzma în timpul +compilării, dar acest lucru nu ar trebui să se facă de obicei pentru +executabilele distribuite în distribuții tipice de sisteme de operare +neîncorporate. Dacă aveți nevoie de un instrument de decomprimare \fB.xz\fP cu +adevărat mic, luați în considerare utilizarea XZ Embedded. +.SH "CONSULTAȚI ȘI" +\fBxz\fP(1) +.PP +XZ Embedded: <https://xz.tukaani.org/xz\-embedded/> diff --git a/po4a/man/ro/xzdiff.1 b/po4a/man/ro/xzdiff.1 new file mode 100644 index 00000000..227fd429 --- /dev/null +++ b/po4a/man/ro/xzdiff.1 @@ -0,0 +1,66 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" Romanian translation for xz-man. +.\" Mesajele în limba română pentru manualul pachetului XZ Utils. +.\" Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2024. +.\" Cronologia traducerii fișierului „xz-man”: +.\" Traducerea inițială, făcută de R-GC, pentru versiunea xz-man 5.4.0-pre1. +.\" Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022. +.\" Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023. +.\" Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre1, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre2, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). +.\" +.\" (Note that this file is not based on gzip's zdiff.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDIFF 1 "13 februarie 2024" Tukaani "Utilități XZ" +.SH NUME +xzcmp, xzdiff, lzcmp, lzdiff \- compară fișierele comprimate +. +.SH REZUMAT +\fBxzcmp\fP [\fIopțiune...\fP] \fIfișier1\fP [\fIfișier2\fP] +.br +\fBxzdiff\fP \&... +.br +\fBlzcmp\fP \&... +.br +\fBlzdiff\fP \&... +. +.SH DESCRIERE +\fBxzcmp\fP și \fBxzdiff\fP compară conținutul necomprimat a două fișiere. Datele +necomprimate și opțiunile sunt transmise la \fBcmp\fP(1) sau \fBdiff\fP(1), cu +excepția cazului în care se specifică \fB\-\-help\fP sau \fB\-\-version\fP. +.PP +Dacă sunt specificate atât \fIfișier1\fP, cât și \fIfișier2\fP, acestea pot fi +fișiere necomprimate sau fișiere în formate pe care \fBxz\fP(1), \fBgzip\fP(1), +\fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1) sau \fBlz4\fP(1) le poate +decomprima. Comenzile de decomprimare necesare sunt determinate de sufixele +numelor de fișiere \fIfișier1\fP și \fIfișier2\fP. Se presupune că un fișier cu un +sufix necunoscut este fie necomprimat, fie într\-un format pe care \fBxz\fP(1) +îl poate decomprima. +.PP +În cazul în care se furnizează un singur nume de fișier, \fIfișier1\fP trebuie +să aibă un sufix al unui format de comprimare acceptat, iar numele pentru +\fIfișier2\fP se presupune că este \fIfișier1\fP fără sufixul formatului de +comprimare. +.PP +Comenzile \fBlzcmp\fP și \fBlzdiff\fP sunt furnizate pentru compatibilitate +retroactivă cu LZMA Utils. +. +.SH "STARE DE IEȘIRE" +În cazul în care apare o eroare de decomprimare, starea de ieșire este +\fB2\fP. În caz contrar, se utilizează starea de ieșire \fBcmp\fP(1) sau +\fBdiff\fP(1). +. +.SH "CONSULTAȚI ȘI" +\fBcmp\fP(1), \fBdiff\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), +\fBzstd\fP(1), \fBlz4\fP(1) diff --git a/po4a/man/ro/xzgrep.1 b/po4a/man/ro/xzgrep.1 new file mode 100644 index 00000000..52aa072e --- /dev/null +++ b/po4a/man/ro/xzgrep.1 @@ -0,0 +1,103 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" Romanian translation for xz-man. +.\" Mesajele în limba română pentru manualul pachetului XZ Utils. +.\" Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2024. +.\" Cronologia traducerii fișierului „xz-man”: +.\" Traducerea inițială, făcută de R-GC, pentru versiunea xz-man 5.4.0-pre1. +.\" Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022. +.\" Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023. +.\" Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre1, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre2, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). +.\" +.\" (Note that this file is not based on gzip's zgrep.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZGREP 1 "13 februarie 2024" Tukaani "Utilități XZ" +.SH NUME +xzgrep \- caută modele în fișiere posibil comprimate +. +.SH REZUMAT +\fBxzgrep\fP [\fIopțiune...\fP] \fIlistă\-modele\fP [\fIfișier...\fP] +.br +\fBxzegrep\fP \&... +.br +\fBxzfgrep\fP \&... +.br +\fBlzgrep\fP \&... +.br +\fBlzegrep\fP \&... +.br +\fBlzfgrep\fP \&... +. +.SH DESCRIERE +\fBxzgrep\fP invocă \fBgrep\fP(1) asupra conținutului necomprimat al +fișierelor. Formatele \fIfișierelor\fP sunt determinate de sufixele numelor de +fișiere. Orice \fIfișier\fP cu un sufix acceptat de \fBxz\fP(1), \fBgzip\fP(1), +\fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1) sau \fBlz4\fP(1) va fi decomprimat; toate +celelalte fișiere sunt presupuse a fi necomprimate. +.PP +Dacă nu se specifică niciun \fIfișier\fP sau dacă \fIfișier\fP este \fB\-\fP, se +citește intrarea standard. Atunci când se citește de la intrarea standard, +sunt decomprimate numai fișierele acceptate de \fBxz\fP(1). Se presupune că +celelalte fișiere sunt deja în format necomprimat. +.PP +Sunt acceptate majoritatea \fIopțiunilor\fP din \fBgrep\fP(1). Cu toate acestea, +următoarele opțiuni nu sunt acceptate: +.IP "" 4 +\fB\-r\fP, \fB\-\-recursive\fP +.IP "" 4 +\fB\-R\fP, \fB\-\-dereference\-recursive\fP +.IP "" 4 +\fB\-d\fP, \fB\-\-directories=\fP\fIacțiune\fP +.IP "" 4 +\fB\-Z\fP, \fB\-\-null\fP +.IP "" 4 +\fB\-z\fP, \fB\-\-null\-data\fP +.IP "" 4 +\fB\-\-include=\fP\fIglobal\fP +.IP "" 4 +\fB\-\-exclude=\fP\fIglobal\fP +.IP "" 4 +\fB\-\-exclude\-from=\fP\fIfișier\fP +.IP "" 4 +\fB\-\-exclude\-dir=\fP\fIglobal\fP +.PP +\fBxzegrep\fP este un alias pentru \fBxzgrep \-E\fP. \fBxzfgrep\fP este un alias +pentru \fBxzgrep \-F\fP. +.PP +Comenzile \fBlzgrep\fP, \fBlzegrep\fP și \fBlzfgrep\fP sunt furnizate pentru +compatibilitate retroactivă cu LZMA Utils. +. +.SH "STARE DE IEȘIRE" +.TP +0 +A fost găsită cel puțin o potrivire din cel puțin unul dintre fișierele de +la intrare. Nu au apărut erori. +.TP +1 +Nu au fost găsite potriviri din niciunul dintre fișierele de la intrare. Nu +au apărut erori. +.TP +>1 +A apărut una sau mai multe erori. Nu se cunoaște dacă au fost găsite +potriviri. +. +.SH "VARIABILE DE MEDIU" +.TP +\fBGREP\fP +Dacă variabila de mediu \fBGREP\fP este stabilită la o valoare nevidă, aceasta +este utilizată în locul lui \fBgrep\fP, \fBgrep \-E\fP sau \fBgrep \-F\fP. +. +.SH "CONSULTAȚI ȘI" +\fBgrep\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1), +\fBlz4\fP(1), \fBzgrep\fP(1) diff --git a/po4a/man/ro/xzless.1 b/po4a/man/ro/xzless.1 new file mode 100644 index 00000000..c97911fc --- /dev/null +++ b/po4a/man/ro/xzless.1 @@ -0,0 +1,57 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" Romanian translation for xz-man. +.\" Mesajele în limba română pentru manualul pachetului XZ Utils. +.\" Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2024. +.\" Cronologia traducerii fișierului „xz-man”: +.\" Traducerea inițială, făcută de R-GC, pentru versiunea xz-man 5.4.0-pre1. +.\" Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022. +.\" Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023. +.\" Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre1, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre2, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). +.\" +.\" (Note that this file is not based on gzip's zless.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZLESS 1 "12 februarie 2024" Tukaani "Utilități XZ" +.SH NUME +xzless, lzless \- vizualizează fișierele (text) comprimate xz sau lzma +.SH REZUMAT +\fBxzless\fP [\fIfișier\fP...] +.br +\fBlzless\fP [\fIfișier\fP...] +.SH DESCRIERE +\fBxzless\fP este un filtru care afișează textul din fișierele comprimate pe un +terminal. Fișierele acceptate de \fBxz\fP(1) sunt decomprimate; se presupune +că celelalte fișiere sunt deja în format necomprimat. Dacă nu se dă nici un +\fIfișier\fP, \fBxzless\fP citește de la intrarea standard. +.PP +\fBxzless\fP folosește \fBless\fP(1) pentru a\-și prezenta rezultatul. Spre +deosebire de \fBxzmore\fP, alegerea sa de pager nu poate fi modificată prin +definirea unei variabile de mediu. Comenzile se bazează atât pe \fBmore\fP(1) +cât și pe \fBvi\fP(1) și permit mișcarea înainte și înapoi și +căutarea. Consultați manualul \fBless\fP(1) pentru mai multe informații. +.PP +Comanda numită \fBlzless\fP este furnizată pentru compatibilitatea cu LZMA +Utils. +.SH "VARIABILE DE MEDIU" +.TP +\fBLESSMETACHARS\fP +O listă de caractere speciale pentru shell. Definită de \fBxzless\fP, cu +excepția cazului în care este deja definită în mediu. +.TP +\fBLESSOPEN\fP +Aceasta este definită în linia de comandă pentru a invoca instrumentul de +decomprimare \fBxz\fP(1) pentru preprocesarea fișierelor de intrare pentru +\fBless\fP(1). +.SH "CONSULTAȚI ȘI" +\fBless\fP(1), \fBxz\fP(1), \fBxzmore\fP(1), \fBzless\fP(1) diff --git a/po4a/man/ro/xzmore.1 b/po4a/man/ro/xzmore.1 new file mode 100644 index 00000000..e0b40540 --- /dev/null +++ b/po4a/man/ro/xzmore.1 @@ -0,0 +1,57 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" Romanian translation for xz-man. +.\" Mesajele în limba română pentru manualul pachetului XZ Utils. +.\" Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2024. +.\" Cronologia traducerii fișierului „xz-man”: +.\" Traducerea inițială, făcută de R-GC, pentru versiunea xz-man 5.4.0-pre1. +.\" Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022. +.\" Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023. +.\" Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre1, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre2, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). +.\" +.\" (Note that this file is based on xzless.1 instead of gzip's zmore.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZMORE 1 "12 februarie 2024" Tukaani "Utilități XZ" +.SH NUME +xzmore, lzmore \- vizualizează fișierele (text) comprimate xz sau lzma +. +.SH REZUMAT +\fBxzmore\fP [\fIfișier\fP...] +.br +\fBlzmore\fP [\fIfișier\fP...] +. +.SH DESCRIERE +\fBxzmore\fP afișează textul din fișierele comprimate pe un terminal folosind +\fBmore\fP(1). Fișierele acceptate de \fBxz\fP(1) sunt decomprimate; se presupune +că celelalte fișiere sunt deja în format necomprimat. Dacă nu se dă nici un +\fIfișiere\fP, \fBxzmore\fP citește de la intrarea standard. Consultați manualul +\fBmore\fP(1) pentru comenzile de la tastatură. +.PP +Rețineți că este posibil ca derularea înapoi să nu fie posibilă în funcție +de implementarea lui \fBmore\fP(1). Acest lucru se datorează faptului că +\fBxzmore\fP utilizează o conductă pentru a transmite datele decomprimate către +\fBmore\fP(1). \fBxzless\fP(1) utilizează \fBless\fP(1) care oferă caracteristici mai +avansate. +.PP +Comanda \fBlzmore\fP este furnizată pentru compatibilitate retroactivă cu LZMA +Utils. +. +.SH "VARIABILE DE MEDIU" +.TP +\fBPAGER\fP +Dacă variabila de mediu \fBPAGER\fP, este definită, valoarea sa este utilizată +ca paginator în loc de \fBmore\fP(1). +. +.SH "CONSULTAȚI ȘI" +\fBmore\fP(1), \fBxz\fP(1), \fBxzless\fP(1), \fBzmore\fP(1) diff --git a/po4a/man/uk/lzmainfo.1 b/po4a/man/uk/lzmainfo.1 new file mode 100644 index 00000000..95753eb6 --- /dev/null +++ b/po4a/man/uk/lzmainfo.1 @@ -0,0 +1,45 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" Ukrainian translation for xz-man. +.\" Yuri Chornoivan <yurchor@ukr.net>, 2019, 2022, 2023, 2024. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH LZMAINFO 1 "30 червня 2013 року" Tukaani "XZ Utils" +.SH НАЗВА +lzmainfo — показ відомостей, які зберігаються у заголовку файла .lzma +.SH "КОРОТКИЙ ОПИС" +\fBlzmainfo\fP [\fB\-\-help\fP] [\fB\-\-version\fP] [\fIфайл...\fP] +.SH ОПИС +\fBlzmainfo\fP показує дані, що зберігаються у заголовку файла \fB.lzma\fP. Вона +читає перші 13 байтів із вказаного \fIфайла\fP, розкодовує заголовок і виводить +його до стандартного виведення у зручному для читання форматі. Якщо не +вказано жодного \fIфайла\fP або замість \fIфайла\fP вказано \fB\-\fP, дані буде +прочитано зі стандартного вхідного джерела даних. +.PP +Зазвичай, найцікавішою інформацією є розпакований розмір та розмір +словника. Розпакований розмір може бути показано, лише якщо файл записано у +непотоковому варіанті формату \fB.lzma\fP. Об'єм пам'яті, потрібний для +розпаковування файла, складає декілька десятків кілобайтів плюс розмір +словника. +.PP +\fBlzmainfo\fP включено до XZ Utils в основному для зворотної сумісності із +LZMA Utils. +.SH "СТАН ВИХОДУ" +.TP +\fB0\fP +Усе добре. +.TP +\fB1\fP +Сталася помилка. +.SH ВАДИ +\fBlzmainfo\fP використовує \fBMB\fP, хоча правильним суфіксом мав би бути \fBMiB\fP +(2^20 байтів). Так зроблено, щоб зберегти сумісність виведених даних із LZMA +Utils. +.SH "ДИВ. ТАКОЖ" +\fBxz\fP(1) diff --git a/po4a/man/uk/xz.1 b/po4a/man/uk/xz.1 new file mode 100644 index 00000000..53cddeda --- /dev/null +++ b/po4a/man/uk/xz.1 @@ -0,0 +1,1969 @@ +'\" t +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" Ukrainian translation for xz-man. +.\" Yuri Chornoivan <yurchor@ukr.net>, 2019, 2022, 2023, 2024. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 "13 лютого 2024 року" Tukaani "XZ Utils" +. +.SH НАЗВА +xz, unxz, xzcat, lzma, unlzma, lzcat — стискання та розпаковування файлів +\&.xz і .lzma +. +.SH "КОРОТКИЙ ОПИС" +\fBxz\fP [\fIпараметр...\fP] [\fIфайл...\fP] +. +.SH "СКОРОЧЕННЯ КОМАНД" +\fBunxz\fP є рівноцінним до \fBxz \-\-decompress\fP. +.br +\fBxzcat\fP є рівноцінним до \fBxz \-\-decompress \-\-stdout\fP. +.br +\fBlzma\fP є рівноцінним до \fBxz \-\-format=lzma\fP. +.br +\fBunlzma\fP є рівноцінним до \fBxz \-\-format=lzma \-\-decompress\fP. +.br +\fBlzcat\fP є рівноцінним до \fBxz \-\-format=lzma \-\-decompress \-\-stdout\fP. +.PP +При написанні скриптів, де потрібно розпаковувати файли, рекомендуємо завжди +використовувати \fBxz\fP із відповідними аргументами (\fBxz \-d\fP або \fBxz \-dc\fP), +замість \fBunxz\fP і \fBxzcat\fP. +. +.SH ОПИС +\fBxz\fP інструмент загального призначення для стискання даних із синтаксисом +командного рядка, подібним для \fBgzip\fP(1) і \fBbzip2\fP(1). Власним форматом +файлів є \fB.xz\fP, але передбачено підтримку застарілого формату \fB.lzma\fP, +який було використано у LZMA Utils, та необроблених потоків стиснених даних +без заголовків формату контейнера. Крім того, передбачено підтримку +розпаковування формату \fB.lz\fP, який використано у \fBlzip\fP. +.PP +\fBxz\fP стискає або розпаковує кожен \fIфайл\fP відповідно до вибраного режиму +дій. Якщо \fIфайли\fP не задано або якщо \fIфайлом\fP є \fB\-\fP, \fBxz\fP читатиме дані +зі стандартного джерела вхідних даних і записуватиме оброблені дані до +стандартного виведення. \fBxz\fP відмовить (покаже повідомлення про помилку і +пропустить \fIфайл\fP) у записів стиснених даних до стандартного виведення, +якщо це термінал. Так само, \fBxz\fP відмовить у читанні стиснених даних зі +стандартного джерела вхідних даних, якщо це термінал. +.PP +Якщо не вказано \fB\-\-stdout\fP, \fIфайли\fP, відмінні від \fB\-\fP, буде записано до +нового файла, чию назву буде визначено з назви початкового \fIфайла\fP: +.IP \(bu 3 +При стисканні суфікс формату файла призначення (\fB.xz\fP або \fB.lzma\fP) буде +дописано до назви початкового файла для отримання назви файла призначення. +.IP \(bu 3 +При розпаковуванні суфікс \fB.xz\fP, \fB.lzma\fP або \fB.lz\fP буде вилучено з назви +файла для отримання назви файла призначення. Крім того, \fBxz\fP розпізнає +суфікси \fB.txz\fP і \fB.tlz\fP і замінює їх на суфікс \fB.tar\fP. +.PP +Якщо файл призначення вже існує, буде показано повідомлення про помилку, а +\fIфайл\fP буде пропущено. +.PP +Окрім випадку запису до стандартного виведення, \fBxz\fP покаже попередження і +пропустить обробку \fIфайла\fP, якщо буде виконано будь\-яку з таких умов: +.IP \(bu 3 +\fIФайл\fP не є звичайним файлом. Програма не переходитиме за символічними +посиланнями, а отже, не вважатиме їх звичайними файлами. +.IP \(bu 3 +На \fIфайл\fP існує декілька жорстких посилань. +.IP \(bu 3 +Для \fIфайла\fP встановлено setuid, setgid або «липкий» біт. +.IP \(bu 3 +Режим дій встановлено у значення «стискання», і \fIфайл\fP вже має суфікс назви +формату файла призначення (\fB.xz\fP або \fB.txz\fP при стисканні до формату +\&\fB.xz\fP, і \fB.lzma\fP або \fB.tlz\fP при стисканні до формату \fB.lzma\fP). +.IP \(bu 3 +Режим дій встановлено у значення «розпаковування», і \fIфайл\fP не має суфікса +назви жодного з підтримуваних форматів (\fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP +або \fB.lz\fP). +.PP +Після успішного стискання або розпаковування \fIфайла\fP, \fBxz\fP копіює дані +щодо власника, групи, прав доступу, часу доступу та моменту внесення змін з +початкового \fIфайла\fP до файла призначення. Якщо копіювання даних щодо групи +зазнає невдачі, права доступу буде змінено так, що файл призначення стане +недоступним для користувачів, які не мають права доступу до початкового +\fIфайла\fP. В \fBxz\fP ще не передбачено підтримки копіювання інших метаданих, +зокрема списків керування доступом або розширених атрибутів. +.PP +Щойно файл призначення буде успішно закрито, початковий \fIфайл\fP буде +вилучено, якщо не вказано параметра \fB\-\-keep\fP. Початковий \fIфайл\fP ніколи не +буде вилучено, якщо виведені дані буде записано до стандартного виведення +або якщо станеться помилка. +.PP +Надсилання \fBSIGINFO\fP або \fBSIGUSR1\fP до процесу \fBxz\fP призводить до +виведення даних щодо поступу до стандартного виведення помилок. Це має лише +обмежене використання, оскільки якщо стандартним виведенням помилок є +термінал, використання \fB\-\-verbose\fP призведе до показу автоматично +оновлюваного індикатора поступу. +. +.SS "Використання пам'яті" +Використання \fBxz\fP пам'яті може бути різним: від декількох сотень кілобайтів +до декількох гігабайтів, залежно від параметрів стискання. Параметри, які +використано при стисканні файла, визначають вимоги до об'єму пам'яті при +розпакуванні. Типово, засобу розпаковування потрібно від 5\ % до 20\ % +об'єму пам'яті, якого засіб стискання потребує при створенні +файла. Наприклад, розпаковування файла, який створено з використанням \fBxz \-9\fP, у поточній версії потребує 65\ МіБ пам'яті. Втім, можливе створення +файлів \fB.xz\fP, які потребуватимуть для розпаковування декількох гігабайтів +пам'яті. +.PP +Ймовірність високого рівня використання пам'яті може бути особливо +дошкульною для користувачів застарілих комп'ютерів. Щоб запобігти прикрим +несподіванкам, у \fBxz\fP передбачено вбудований обмежувач пам'яті, який типово +вимкнено. Хоча у деяких операційних системах передбачено спосіб обмежити +використання пам'яті процесами, сподівання на його ефективність не є аж +надто гнучким (наприклад, використання \fBulimit\fP(1) для обмеження +віртуальної пам'яті призводить до викривлення даних \fBmmap\fP(2)). +.PP +Обмежувач пам'яті можна увімкнути за допомогою параметра командного рядка +\fB\-\-memlimit=\fP\fIобмеження\fP. Часто, зручніше увімкнути обмежувач на типовому +рівні, встановивши значення для змінної середовища \fBXZ_DEFAULTS\fP, +наприклад, \fBXZ_DEFAULTS=\-\-memlimit=150MiB\fP. Можна встановити обмеження +окремо для стискання і розпакування за допомогою +\fB\-\-memlimit\-compress=\fP\fIlimit\fP and +\fB\-\-memlimit\-decompress=\fP\fIобмеження\fP. Використання цих двох параметрів поза +\fBXZ_DEFAULTS\fP не таке вже і корисне, оскільки одноразовий запуск \fBxz\fP не +може одночасно призводити до стискання та розпаковування, а набрати у +командному рядку \fB\-\-memlimit=\fP\fIобмеження\fP (або \fB\-M\fP \fIобмеження\fP) +набагато швидше. +.PP +Якщо під час розпаковування вказане обмеження буде перевищено, \fBxz\fP покаже +повідомлення про помилку, а розпаковування файла зазнає невдачі. Якщо +обмеження буде перевищено при стисканні, \fBxz\fP спробує масштабувати +параметри так, щоб не перевищувати обмеження (окрім випадків використання +\fB\-\-format=raw\fP або \fB\-\-no\-adjust\fP). Отже, дію буде виконано, якщо обмеження +не є надто жорстким. Масштабування параметрів буде виконано кроками, які не +збігаються із рівнями шаблонів стискання. Наприклад, якщо обмеження лише +трохи не вкладається у об'єм потрібний для \fBxz \-9\fP, параметри буде змінено +лише трохи, не до рівня \fBxz \-8\fP. +. +.SS "Поєднання і заповнення з файлами .xz" +Можна поєднати файли \fB.xz\fP без додаткової обробки. \fBxz\fP розпакує такі +файли так, наче вони є єдиним файлом \fB.xz\fP. +.PP +Можна додати доповнення між з'єднаними частинами або після останньої +частини. Доповнення має складатися із нульових байтів і мати розмір, який є +кратним до чотирьох байтів. Це може бути корисним, наприклад, якщо файл +\&\fB.xz\fP зберігається на носії даних, де розміри файла вимірюються у +512\-байтових блоках. +.PP +Поєднання та заповнення не можна використовувати для файлів \fB.lzma\fP або +потоків необроблених даних. +. +.SH ПАРАМЕТРИ +. +.SS "Цілочисельні суфікси і спеціальні значення" +У більшості місць, де потрібен цілочисельний аргумент, передбачено підтримку +необов'язкового суфікса для простого визначення великих цілих чисел. Між +цілим числом і суфіксом не повинно бути пробілів. +.TP +\fBKiB\fP +Помножити ціле число на 1024 (2^10). Синонімами \fBKiB\fP є \fBKi\fP, \fBk\fP, \fBkB\fP, +\fBK\fP та \fBKB\fP. +.TP +\fBMiB\fP +Помножити ціле число на 1048576 (2^20). Синонімами \fBMiB\fP є B, \fBMi\fP, \fBm\fP, +\fBM\fP та \fBMB\fP. +.TP +\fBGiB\fP +Помножити ціле число на 1073741824 (2^30). Синонімами \fBGiB\fP є B, \fBGi\fP, +\fBg\fP, \fBG\fP та \fBGB\fP. +.PP +Можна скористатися особливим значенням \fBmax\fP для позначення максимального +цілого значення, підтримку якого передбачено для параметра. +. +.SS "Режим операції" +Якщо вказано декілька параметрів режиму дій, буде використано лише останній +з них. +.TP +\fB\-z\fP, \fB\-\-compress\fP +Стиснути. Це типовий режим дій, якщо не вказано параметр режиму дій, а назва +команди неявним чином не визначає іншого режиму дій (наприклад, \fBunxz\fP +неявно визначає \fB\-\-decompress\fP). +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +Розпакувати. +.TP +\fB\-t\fP, \fB\-\-test\fP +Перевірити цілісність стиснених файлів \fIфайли\fP. Цей параметр еквівалентний +до \fB\-\-decompress \-\-stdout\fP, але розпаковані дані буде відкинуто, замість +запису до стандартного виведення. Жодних файлів не буде створено або +вилучено. +.TP +\fB\-l\fP, \fB\-\-list\fP +Вивести відомості щодо стиснених файлів \fIфайли\fP. Розпакування даних не +виконуватиметься, жодних файлів не буде створено або вилучено. У режимі +списку програма не може читати дані зі стандартного введення або з інших +джерел, де неможливе позиціювання. +.IP "" +У типовому списку буде показано базові відомості щодо файлів \fIфайли\fP, по +одному файлу на рядок. Щоб отримати докладніші відомості, скористайтеся +параметром \fB\-\-verbose\fP. Щоб розширити спектр відомостей, скористайтеся +параметром \fB\-\-verbose\fP двічі, але зауважте, що це може призвести до +значного уповільнення роботи, оскільки отримання додаткових відомостей +потребує великої кількості позиціювань. Ширина області докладного виведення +даних перевищує 80 символів, тому передавання конвеєром виведених даних, +наприклад, до \fBless\ \-S\fP, може бути зручним способом перегляду даних, якщо +термінал недостатньо широкий. +.IP "" +Виведені дані залежать від версії \fBxz\fP та використаної локалі. Для +отримання даних, які будуть придатні до обробки комп'ютером, слід +скористатися параметрами \fB\-\-robot \-\-list\fP. +. +.SS "Модифікатори режиму роботи" +.TP +\fB\-k\fP, \fB\-\-keep\fP +Не вилучати вхідні файли. +.IP "" +Починаючи з версії \fBxz\fP 5.2.6, використання цього параметра також наказує +\fBxz\fP виконувати стискання або розпаковування, навіть якщо вхідними даними є +символічне посилання на звичайний файл, файл, який має декілька жорстких +посилань, або файл, для якого встановлено setuid, setgid або липкий +біт. setuid, setgid та липкий біт не буде скопійовано до файла\-результату. У +попередніх версіях, ці дії виконувалися, лише якщо було використано параметр +\fB\-\-force\fP. +.TP +\fB\-f\fP, \fB\-\-force\fP +Результатів використання цього параметра буде декілька: +.RS +.IP \(bu 3 +Якщо файл\-результат вже існує, вилучити його до стискання або +розпаковування. +.IP \(bu 3 +Виконувати стискання або розпаковування, навіть якщо вхідними даними є +символічне посилання на звичайний файл, файл, який має декілька жорстких +посилань, або файл, для якого встановлено setuid, setgid або липкий біт +setuid, setgid та липкий біт не буде скопійовано до файла\-результату. +.IP \(bu 3 +Якщо використано разом із \fB\-\-decompress\fP, \fB\-\-stdout\fP, і \fBxz\fP не зможе +розпізнати тип початкового файла, копіювати початковий файл без змін до +стандартного виведення. Це надає змогу користуватися \fBxzcat\fP \fB\-\-force\fP +подібно до \fBcat\fP(1) для файлів, які не було стиснено за допомогою +\fBxz\fP. Зауважте, що у майбутньому у \fBxz\fP може бути реалізовано підтримку +нових форматів стиснених файлів, замість копіювання їх без змін до +стандартного виведення. Можна скористатися \fB\-\-format=\fP\fIформат\fP для +обмеження стискання у \fBxz\fP єдиним форматом файлів. +.RE +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +Записати стиснені або розпаковані дані до стандартного виведення, а не до +файла. Неявним чином встановлює \fB\-\-keep\fP. +.TP +\fB\-\-single\-stream\fP +Розпакувати лише перший потік даних \fB.xz\fP і без повідомлень проігнорувати +решту вхідних даних, які слідують за цим потоком. Зазвичай, такі зайві дані +наприкінці файла призводять до показу \fBxz\fP повідомлення про помилку. +.IP "" +\fBxz\fP ніколи не виконуватиме спроби видобути декілька потоків даних з файлів +\&\fB.lzma\fP або необроблених потоків даних, але використання цього параметра +все одно наказує \fBxz\fP ігнорувати можливі кінцеві дані після файла \fB.lzma\fP +або необробленого потоку даних. +.IP "" +Цей параметр нічого не змінює, якщо режимом дій не є \fB\-\-decompress\fP або +\fB\-\-test\fP. +.TP +\fB\-\-no\-sparse\fP +Вимкнути створення розріджених файлів. Типово, якщо видобування виконується +до звичайного файла, \fBxz\fP намагається створити розріджений файл, якщо +розпаковані дані містять довгі послідовності двійкових нулів. Це також +працює, коли виконується запис до стандартного виведення, доки стандартне +виведення з'єднано зі звичайним файлом і виконуються певні додаткові умови, +які убезпечують роботу. Створення розріджених файлів може заощадити місце на +диску і пришвидшити розпаковування шляхом зменшення кількості дій введення +та виведення даних на диску. +.TP +\fB\-S\fP \fI.suf\fP, \fB\-\-suffix=\fP\fI.suf\fP +При стисканні використати суфікс \fI.suf\fP для файлів призначення, замість +суфікса \fB.xz\fP або \fB.lzma\fP. Якщо записування виконується не до стандартного +виведення і початковий файл вже має суфікс назви \fI.suf\fP, буде показано +попередження, а файл буде пропущено під час обробки. +.IP "" +При розпаковуванні розпізнавати файли із суфіксом назви \fI.suf\fP, окрім +файлів із суфіксами назв \fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP або \fB.lz\fP. Якщо +початковий файл мав суфікс назви \fI.suf\fP, для отримання назви файла +призначення цей суфікс буде вилучено. +.IP "" +При стисканні або розпакуванні необроблених потоків даних (\fB\-\-format=raw\fP) +суфікс слід вказувати завжди, якщо запис не виконується до стандартного +виведення, оскільки типового суфікса назви для необроблених потоків даних не +передбачено. +.TP +\fB\-\-files\fP[\fB=\fP\fIфайл\fP] +Прочитати назви файлів для обробки з файла \fIфайл\fP; якщо \fIfile\fP не вказано, +назви файлів буде прочитано зі стандартного потоку вхідних даних. Назви +файлів має бути відокремлено символом нового рядка. Символ дефіса (\fB\-\fP) +буде оброблено як звичайну назву файла; він не позначатиме стандартного +джерела вхідних даних. Якщо також буде вказано назви файлів у аргументах +рядка команди, файли з цими назвами буде оброблено до обробки файлів, назви +яких було прочитано з файла \fIфайл\fP. +.TP +\fB\-\-files0\fP[\fB=\fP\fIфайл\fP] +Те саме, що і \fB\-\-files\fP[\fB=\fP\fIфайл\fP], але файли у списку має бути +відокремлено нульовим символом. +. +.SS "Параметри базового формату файлів та стискання" +.TP +\fB\-F\fP \fIformat\fP, \fB\-\-format=\fP\fIформат\fP +Вказати файл \fIформат\fP для стискання або розпакування: +.RS +.TP +\fBauto\fP +Типовий варіант. При стисканні \fBauto\fP є еквівалентом \fBxz\fP. При +розпакуванні формат файла вхідних даних буде виявлено автоматично. Зауважте, +що автоматичне виявлення необроблених потоків даних (створених за допомогою +\fB\-\-format=raw\fP) неможливе. +.TP +\fBxz\fP +Стиснути до формату \fB.xz\fP або приймати лише файли \fB.xz\fP при +розпаковуванні. +.TP +\fBlzma\fP, \fBalone\fP +Стиснути дані до застарілого формату файлів \fB.lzma\fP або приймати лише файли +\&\fB.lzma\fP при розпаковуванні. Альтернативну назву \fBalone\fP може бути +використано для зворотної сумісності із LZMA Utils. +.TP +\fBlzip\fP +Приймати лише файли \fB.lz\fP при розпакуванні. Підтримки стискання не +передбачено. +.IP "" +Передбачено підтримку версії формату \fB.lz\fP 0 та нерозширеної версії +1. Файли версії 0 було створено \fBlzip\fP 1.3 та старішими версіями. Такі +файли не є поширеними, але їх можна знайти у файлових архівах, оскільки +певну незначну кількість пакунків із початковим кодом було випущено у цьому +форматі. Також можуть існувати особисті файли у цьому форматі. Підтримку +розпаковування для формату версії 0 було вилучено у \fBlzip\fP 1.18. +.IP "" +\fBlzip\fP 1.4 і пізніші версії створюють файли у форматі версії 1. Розширення +синхронізації позначки витирання до формату версії 1 було додано у \fBlzip\fP +1.6. Це розширення використовують не часто, його підтримки у \fBxz\fP не +передбачено (програма повідомлятиме про пошкоджені вхідні дані). +.TP +\fBraw\fP +Стиснути або розпакувати потік необроблених даних (лез заголовків). Цей +параметр призначено лише для досвідчених користувачів. Для розпаковування +необроблених потоків даних слід користуватися параметром \fB\-\-format=raw\fP і +явно вказати ланцюжок фільтрування, який за звичайних умов мало б бути +збережено у заголовках контейнера. +.RE +.TP +\fB\-C\fP \fIперевірка\fP, \fB\-\-check=\fP\fIперевірка\fP +Вказати тип перевірки цілісності. Контрольну суму буде обчислено на основі +нестиснених даних і збережено у файлі \fB.xz\fP. Цей параметр працюватиме, лише +якщо дані стиснено до файла у форматі \fB.xz\fP; для формату файлів \fB.lzma\fP +підтримки перевірки цілісності не передбачено. Перевірку контрольної суми +(якщо така є) буде виконано під час розпаковування файла \fB.xz\fP. +.IP "" +Підтримувані типи \fIперевірок\fP: +.RS +.TP +\fBnone\fP +Не обчислювати контрольну суму взагалі. Зазвичай, не варто цього робити. Цим +варіантом слід скористатися, якщо цілісність даних буде перевірено в інший +спосіб. +.TP +\fBcrc32\fP +Обчислити CRC32 за допомогою полінома з IEEE\-802.3 (Ethernet). +.TP +\fBcrc64\fP +Обчислити CRC64 за допомогою полінома з ECMA\-182. Це типовий варіант, +оскільки він дещо кращий за CRC32 при виявленні пошкоджених файлів, а +різниця у швидкості є незрачною. +.TP +\fBsha256\fP +Обчислити SHA\-256. Цей варіант дещо повільніший за CRC32 і CRC64. +.RE +.IP "" +Цілісність заголовків \fB.xz\fP завжди перевіряють за допомогою CRC32. Таку +перевірку не можна змінити або скасувати. +.TP +\fB\-\-ignore\-check\fP +Не перевіряти цілісність стиснених даних при розпаковуванні. Значення CRC32 +у заголовках \fB.xz\fP буде у звичайний спосіб перевірено попри цей параметр. +.IP "" +\fBНе користуйтеся цим параметром, якщо ви не усвідомлюєте наслідків ваших дій.\fP Можливі причини скористатися цим параметром: +.RS +.IP \(bu 3 +Спроба отримання даних з пошкодженого файла .xz. +.IP \(bu 3 +Пришвидшення розпакування. Це, здебільшого, стосується SHA\-256 або файлів із +надзвичайно високим рівнем пакування. Не рекомендуємо користуватися цим +параметром з цією метою, якщо цілісність файлів не буде перевірено у якийсь +інший спосіб. +.RE +.TP +\fB\-0\fP ... \fB\-9\fP +Вибрати рівень стискання. Типовим є \fB\-6\fP. Якщо буде вказано декілька рівнів +стискання, програма використає останній вказаний. Якщо вже було вказано +нетиповий ланцюжок фільтрів, встановлення рівня стискання призведе до +нехтування цим нетиповим ланцюжком фільтрів. +.IP "" +Різниця між рівнями є суттєвішою, ніж у \fBgzip\fP(1) і \fBbzip2\fP(1). Вибрані +параметри стискання визначають вимоги до пам'яті під час розпаковування, +отже використання надто високого рівня стискання може призвести до проблем +під час розпаковування файла на застарілих комп'ютерах із невеликим обсягом +оперативної пам'яті. Зокрема, \fBне варто використовувати \-9 для усього\fP, як +це часто буває для \fBgzip\fP(1) і \fBbzip2\fP(1). +.RS +.TP +\fB\-0\fP ... \fB\-3\fP +Це дещо швидші набори налаштувань. \fB\-0\fP іноді є швидшим за \fBgzip \-9\fP, +забезпечуючи набагато більший коефіцієнт стискання. Вищі рівні часто мають +швидкість, яку можна порівняти з \fBbzip2\fP(1) із подібним або кращим +коефіцієнтом стискання, хоча результати значно залежать від типу даних, які +стискають. +.TP +\fB\-4\fP ... \fB\-6\fP +Стискання від доброго до дуже доброго рівня із одночасним підтриманням +помірного рівня споживання пам'яті засобом розпаковування, навіть для +застарілих системи. Типовим є значення \fB\-6\fP, яке є добрим варіантом для +поширення файлів, які мають бути придатними до розпаковування навіть у +системах із лише 16\ МіБ оперативної пам'яті. (Також можна розглянути +варіанти \fB\-5e\fP і \fB\-6e\fP. Див. \fB\-\-extreme\fP.) +.TP +\fB\-7 ... \-9\fP +Ці варіанти подібні до \fB\-6\fP, але із вищими вимогами щодо пам'яті для +стискання і розпаковування. Можуть бути корисними лише для стискання файлів +з розміром, що перевищує 8\ МіБ, 16\ МіБ та 32\ МіБ, відповідно. +.RE +.IP "" +На однаковому обладнанні швидкість розпакування є приблизно сталою кількістю +байтів стиснених даних за секунду. Іншими словами, чим кращим є стискання, +тим швидшим буде, зазвичай, розпаковування. Це також означає, що об'єм +розпакованих виведених даних, які видає програма за секунду, може коливатися +у широкому діапазоні. +.IP "" +У наведеній нижче таблиці підсумовано можливості шаблонів: +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +Шаблон;DictSize;CompCPU;CompMem;DecMem +\-0;256 КіБ;0;3 МіБ;1 МіБ +\-1;1 МіБ;1;9 МіБ;2 МіБ +\-2;2 МіБ;2;17 МіБ;3 МіБ +\-3;4 МіБ;3;32 МіБ;5 МіБ +\-4;4 МіБ;4;48 МіБ;5 МіБ +\-5;8 МіБ;5;94 МіБ;9 МіБ +\-6;8 МіБ;6;94 МіБ;9 МіБ +\-7;16 МіБ;6;186 МіБ;17 МіБ +\-8;32 МіБ;6;370 МіБ;33 МіБ +\-9;64 МіБ;6;674 МіБ;65 МіБ +.TE +.RE +.RE +.IP "" +Описи стовпчиків: +.RS +.IP \(bu 3 +DictSize є розміром словника LZMA2. Використання словника, розмір якого +перевищує розмір нестисненого файла, — проста витрата пам'яті. Ось чому не +варто використовувати шаблони \fB\-7\fP ... \fB\-9\fP, якщо у них немає реальної +потреби. Для \fB\-6\fP та нижчих рівнів об'єм витраченої пам'яті, зазвичай, +такий низький, що цей фактор ні на що не впливає. +.IP \(bu 3 +CompCPU є спрощеним представленням параметрів LZMA2, які впливають на +швидкість стискання. Розмір словника також впливає на швидкість, тому, хоча +значення CompCPU є однаковим для рівнів \fB\-6\fP ... \fB\-9\fP, обробка на вищих +рівнях все одно є трошки повільнішою. Що отримати повільніше і, ймовірно, +краще стискання, див. \fB\-\-extreme\fP. +.IP \(bu 3 +CompMem містить вимоги до пам'яті засобу стискання у однопотоковому +режимі. Значення можуть бути дещо різними для різних версій \fBxz\fP. +.IP \(bu 3 +У DecMem містяться вимоги до пам'яті при розпаковуванні. Тобто параметри +засобу стискання визначають вимоги до пам'яті при розпаковуванні. Точний +об'єм пам'яті, яка потрібна для розпаковування, дещо перевищує розмір +словника LZMA2, але значення у таблиці було округлено до наступного цілого +значення МіБ. +.RE +.IP "" +Вимоги до пам'яті у багатопотоковому режимі є значно вищими, ніж у +однопотоковому. З типовим значенням \fB\-\-block\-size\fP для кожного потоку треба +3*3*DictSize плюс CompMem або DecMem. Наприклад, для чотирьох потоків з +шаблоном \fB\-6\fP потрібно 660\(en670\ МіБ пам'яті. +.TP +\fB\-e\fP, \fB\-\-extreme\fP +Використати повільніший варіант вибраного рівня стискання (\fB\-0\fP ... \fB\-9\fP) +у сподіванні отримати трохи кращий коефіцієнт стискання, але, якщо не +поталанить, можна його і погіршити. Не впливає на використання пам'яті при +розпаковуванні, але використання пам'яті при стисканні дещо збільшиться на +рівнях \fB\-0\fP ... \fB\-3\fP. +.IP "" +Оскільки існує два набори налаштувань із розмірами словників 4\ МіБ та 8\ МіБ, у наборах \fB\-3e\fP і \fB\-5e\fP використано трошки швидші параметри (нижче +CompCPU), ніж у наборах \fB\-4e\fP і \fB\-6e\fP, відповідно. Тому двох однакових +наборів у списку немає. +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +Шаблон;DictSize;CompCPU;CompMem;DecMem +\-0e;256 КіБ;8;4 МіБ;1 МіБ +\-1e;1 МіБ;8;13 МіБ;2 МіБ +\-2e;2 МіБ;8;25 МіБ;3 МіБ +\-3e;4 МіБ;7;48 МіБ;5 МіБ +\-4e;4 МіБ;8;48 МіБ;5 МіБ +\-5e;8 МіБ;7;94 МіБ;9 МіБ +\-6e;8 МіБ;8;94 МіБ;9 МіБ +\-7e;16 МіБ;8;186 МіБ;17 МіБ +\-8e;32 МіБ;8;370 МіБ;33 МіБ +\-9e;64 МіБ;8;674 МіБ;65 МіБ +.TE +.RE +.RE +.IP "" +Наприклад, передбачено загалом чотири набори налаштувань із використанням +словника у 8\ МіБ, порядок яких від найшвидшого до найповільнішого є таким: +\fB\-5\fP, \fB\-6\fP, \fB\-5e\fP і \fB\-6e\fP. +.TP +\fB\-\-fast\fP +.PD 0 +.TP +\fB\-\-best\fP +.PD +Це дещо оманливі альтернативні варіанти для \fB\-0\fP і \fB\-9\fP, +відповідно. Реалізовано лише для забезпечення зворотної сумісності із LZMA +Utils. Намагайтеся не користуватися цими варіантами параметрів. +.TP +\fB\-\-block\-size=\fP\fIрозмір\fP +При стисканні до формату \fB.xz\fP поділити вхідні дані на блоки у \fIрозмір\fP +байтів. Ці блоки буде стиснуто незалежно один від одного, що допоможе у +багатопотоковій обробці і зробить можливим обмежене розпакування для доступу +до будь\-яких даних. Цим параметром слід типово користуватися для +перевизначення типового розміру блоку у багатопотоковому режимі обробки, але +цим параметром можна також скористатися в однопотоковому режимі обробки. +.IP "" +У багатопотоковому режимі для кожного потоку буде отримано для буферів +вхідних і вихідних даних майже утричі більше за \fIрозмір\fP байтів. Типовий +\fIрозмір\fP утричі більший за розмір словника LZMA2 або дорівнює 1 МіБ, буде +вибрано більше значення. Типовим добрим значенням буде значення, яке у +2\(en4 рази перевищує розмір словника LZMA2 або дорівнює принаймні 1 +МіБ. Використання значення \fIрозмір\fP, яке є меншим за розмір словника LZMA2, +має наслідком марну витрату оперативної пам'яті, оскільки його використання +призводить до того, що буфер словника LZMA2 ніколи не буде використано +повністю. У багатопотоковому режимі розміри блоків зберігатимуться у +заголовках блоків. Ці дані потрібні для багатопотокового розпаковування. +.IP "" +У однопотоковому режимі поділ на блоки типово не +виконуватиметься. Встановлення значення для цього параметра не впливатиме на +використання пам'яті. У заголовках блоків не зберігатимуться дані щодо +розміру, отже файли, які створено в однопотоковому режимі не будуть +ідентичними до файлів, які створено у багатопотоковому режимі. Те, що у +заголовках блоків не зберігатимуться дані щодо розміру також означає, що +\fBxz\fP не зможе розпаковувати такі файли у багатопотоковому режимі. +.TP +\fB\-\-block\-list=\fP\fIзаписи\fP +При стисканні у форматі \fB.xz\fP починати новий блок із необов'язковим +ланцюжком фільтрів після вказаної кількості інтервалів нестиснених даних. +.IP "" +\fIзаписи\fP є списком відокремлених комами значень. Кожен запис складається з +необов'язкового номера ланцюжка фільтрів від 0 до 9, після якого йде +двокрапка (\fB:\fP) і необхідний розмір нестиснутих даних. Пропущення запису +(дві або більше послідовних ком) є скороченим варіантом визначення +використання розміру та фільтрів попереднього запису. +.IP "" +Якщо файл вхідних даних є більшим за розміром за суму розмірів \fIзаписів\fP, +останнє значення у \fIрозмірах\fP буде повторено до кінця файла. Особливе +значення \fB0\fP може бути використано як останній розмір, щоб позначити, що +решту файла має бути закодовано як єдиний блок. +.IP "" +Альтернативний ланцюжок фільтрів для кожного блоку можна вказати в поєднанні +з параметрами \fB\-\-filters1=\fP\fIфільтри\fP \&...\& \fB\-\-filters9=\fP\fIфільтри\fP. Ці +параметри визначають ланцюжки фільтрів з ідентифікатором у діапазоні +1\(en9. Ланцюжок фільтрів 0 можна використовувати для посилання на типовий +ланцюжок фільтрів — це те саме, що не вказувати ланцюжок +фільтрів. Ідентифікатор ланцюжка фільтрів можна використовувати перед +нестисненим розміром, після якого йде двокрапка (\fB:\fP). Наприклад, якщо +вказати \fB\-\-block\-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB\fP, блоки будуть +створені так: +.RS +.IP \(bu 3 +Ланцюжок фільтрів задано \fB\-\-filters1\fP із вхідними даними у 2 МіБ +.IP \(bu 3 +Ланцюжок фільтрів задано \fB\-\-filters3\fP із вхідними даними у 2 МіБ +.IP \(bu 3 +Ланцюжок фільтрів задано \fB\-\-filters2\fP із вхідними даними у 4 МіБ +.IP \(bu 3 +Ланцюжок фільтрів задано \fB\-\-filters2\fP із вхідними даними у 4 МіБ +.IP \(bu 3 +Типовий ланцюжок даних і вхідні дані у 2 МіБ +.IP \(bu 3 +Типовий ланцюжок фільтрів та вхідні дані у 4 МіБ для кожного блоку до кінця +вхідних даних. +.RE +.IP "" +Якщо вказати розмір, який перевищує розмір блоку кодувальника (або типове +значення у режимі із потоками обробки, або значення, яке встановлено за +допомогою \fB\-\-block\-size=\fP\fIрозмір\fP), засіб кодування створить додаткові +блоки, зберігаючи межі, які вказано у \fIзаписах\fP. Наприклад, якщо вказати +\fB\-\-block\-size=10MiB\fP \fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP, а файл +вхідних даних має розмір 80 МіБ, буде отримано такі 11 блоків: 5, 10, 8, 10, +2, 10, 10, 4, 10, 10 і 1 МіБ. +.IP "" +У багатопотоковому режимі розмір блоків буде збережено у заголовках +блоків. Програма не зберігатиме ці дані у однопотоковому режимі, отже +закодований результат не буде ідентичним до отриманого у багатопотоковому +режимі. +.TP +\fB\-\-flush\-timeout=\fP\fIчас_очікування\fP +При стискання, якщо з моменту попереднього витирання мине понад +\fIчас_очікування\fP мілісекунд (додатне ціле значення) і читання додаткових +даних буде заблоковано, усі вхідні дані у черзі обробки буде витерто з +кодувальника і зроблено доступним у потоці вихідних даних. Це може бути +корисним, якщо \fBxz\fP використовують для стискання даних, які передають +потоком мережею. Невеликі значення аргументу \fIчас_очікування\fP зроблять дані +доступними на боці отримання із малою затримкою, а великі значення аргумент +\fIчас_очікування\fP уможливлять кращий коефіцієнт стискання. +.IP "" +Типово, цю можливість вимкнено. Якщо цей параметр вказано декілька разів, +буде використано лише останнє вказане значення. Особливим значенням +аргументу \fIчас_очікування\fP, рівним \fB0\fP, можна скористатися для вимикання +цієї можливості явним чином. +.IP "" +Ця можливість недоступна у системах, які не є системами POSIX. +.IP "" +.\" FIXME +\fBЦя можливість усе ще є експериментальною.\fP У поточній версії, \fBxz\fP не +може розпаковувати потік даних у режимі реального часу через те, у який +спосіб \fBxz\fP виконує буферизацію. +.TP +\fB\-\-memlimit\-compress=\fP\fIобмеження\fP +Встановити обмеження на використання пам'яті при стисканні. Якщо цей +параметр вказано декілька разів, враховано буде лише останнє вказане +значення. +.IP "" +Якщо параметри стискання перевищують \fIобмеження\fP, \fBxz\fP спробує скоригувати +параметри так, щоб обмеження не було перевищено, і покаже повідомлення про +те, що було виконано автоматичне коригування. Коригування буде виконано у +такому порядку: зменшення кількості потоків обробки, перемикання у +однопотоковий режим, якщо хоч в одному потоці багатопотокового режиму буде +перевищено \fIобмеження\fP, і нарешті, зменшення розміру словника LZMA2. +.IP "" +При стисканні з використанням \fB\-\-format=raw\fP, або якщо було вказано +\fB\-\-no\-adjust\fP, може бути зменшена лише кількість потоків обробки, оскільки +це може бути зроблено без впливу на стиснені виведені дані. +.IP "" +Якщо \fIобмеження\fP не може бути виконано за допомогою коригувань, які описано +вище, буде показано повідомлення про помилку, а \fBxz\fP завершить роботу зі +станом виходу 1. +.IP "" +Аргумент \fIобмеження\fP можна вказати у декілька способів: +.RS +.IP \(bu 3 +Значенням \fIобмеження\fP може бути додатне ціле значення у байтах. Можна +скористатися цілочисельним суфіксом, подібним до \fBMiB\fP. Приклад: +\fB\-\-memlimit\-compress=80MiB\fP +.IP \(bu 3 +Аргумент \fIобмеження\fP може бути задано у відсотках від загальної фізичної +пам'яті системи (RAM). Це може бути корисним особливо при встановленні +змінної середовища \fBXZ_DEFAULTS\fP у скрипті ініціалізації системи, який є +спільним для різних комп'ютерів. У такий спосіб можна вказати вищий рівень +обмеження для систем із більшим об'ємом пам'яті. Приклад: +\fB\-\-memlimit\-compress=70%\fP +.IP \(bu 3 +Аргументу \fIобмеження\fP може бути повернуто типове значення встановленням +значення \fB0\fP. У поточній версії це еквівалентно до встановлення значення +аргументу \fIобмеження\fP \fBmax\fP (без обмеження на використання пам'яті). +.RE +.IP "" +Для 32\-бітової версії \fBxz\fP передбачено особливий випадок: якщо \fIобмеження\fP +перевищуватиме \fB4020\ МіБ\fP, для \fIобмеження\fP буде встановлено значення +\fB4020\ MiB\fP. На MIPS32 замість цього буде використано \fB2000\ MiB\fP. (Це не +стосується значень \fB0\fP і \fBmax\fP. Подібної можливості для розпаковування не +існує.) Це може бути корисним, коли 32\-бітовий виконуваний файл має доступ +до простору адрес у 4\ ГіБ (2 GiB на MIPS32), хоча, сподіваємося, не +зашкодить і в інших випадках. +.IP "" +Див. також розділ \fBВикористання пам'яті\fP. +.TP +\fB\-\-memlimit\-decompress=\fP\fIобмеження\fP +Встановити обмеження пам'яті на розпаковування. це також вплине на режим +\fB\-\-list\fP. Якщо дія є неможливою без перевищення \fIобмеження\fP, \fBxz\fP покаже +повідомлення про помилку і розпаковування файла не +відбудеться. Див. \fB\-\-memlimit\-compress=\fP\fIобмеження\fP, щоб дізнатися більше +про те, як можна задати \fIобмеження\fP. +.TP +\fB\-\-memlimit\-mt\-decompress=\fP\fIобмеження\fP +Встановити обмеження використання пам'яті для багатопотокового +розпаковування. Це може вплинути лише на кількість потоків обробки; це +ніколи не призводитиме до відмови \fBxz\fP у розпаковуванні файла. Якщо +\fIобмеження є надто низьким\fP, щоб уможливити будь\-яку багатопотокову +обробку, \fIобмеження\fP буде проігноровано, і \fBxz\fP продовжить обробку в +однопотоковому режимі. Зауважте, що якщо використано також +\fB\-\-memlimit\-decompress\fP, цей параметр буде застосовано до обох режимів, +однопотокового та багатопотокового, а отже, задіяне \fIобмеження\fP для +багатопотокового режиму ніколи не перевищуватиме обмеження, яке встановлено +за допомогою \fB\-\-memlimit\-decompress\fP. +.IP "" +На відміну від інших параметрів обмеження використання пам'яті, +\fB\-\-memlimit\-mt\-decompress=\fP\fIобмеження\fP містить специфічне для системи +типове значення \fIобмеження\fP. Можна скористатися \fBxz \-\-info\-memory\fP для +перегляду поточного значення. +.IP "" +Цей параметр і його типове значення існують, оскільки без будь\-яких обмежень +засіб розпакування зі підтримкою потокової обробки міг би намагатися +отримати величезний об'єм пам'яті для деяких файлів вхідних даних. Якщо +типове \fIобмеження\fP є надто низьким для вашої системи, не вагайтеся і +збільшуйте \fIобмеження\fP, але ніколи не встановлюйте для нього значення, яке +є більшим за придатний до користування об'єм оперативної пам'яті, оскільки +за відповідних файлів вхідних даних \fBxz\fP спробує скористатися цим об'ємом +пам'яті, навіть із низькою кількістю потоків обробки. Вичерпання об'єму +оперативної пам'яті або використання резервної пам'яті на диску не покращить +швидкодію системи під час розпаковування. +.IP "" +Див. \fB\-\-memlimit\-compress=\fP\fIобмеження\fP, щоб ознайомитися із можливими +способами визначення \fIобмеження\fP. Встановлення для \fIобмеження\fP значення +\fB0\fP відновлює типове специфічне для системи значення \fIобмеження\fP. +.TP +\fB\-M\fP \fIобмеження\fP, \fB\-\-memlimit=\fP\fIобмеження\fP, \fB\-\-memory=\fP\fIобмеження\fP +Є еквівалентом визначення \fB\-\-memlimit\-compress=\fP\fIобмеження\fP +\fB\-\-memlimit\-decompress=\fP\fIобмеження\fP +\fB\-\-memlimit\-mt\-decompress=\fP\fIобмеження\fP. +.TP +\fB\-\-no\-adjust\fP +Показати повідомлення про помилку і завершити роботу, якщо не вдасться +виконати умови щодо обмеження використання пам'яті без коригування +параметрів, які впливають на стиснених виведених даних. Тобто це забороняє +\fBxz\fP перемикати кодувальник з багатопотокового режиму на однопотоковий +режим і зменшувати розмір словника LZMA2. Навіть якщо використано цей +параметр, кількість потоків може бути зменшено для виконання обмеження на +використання пам'яті, оскільки це не вплине на результати стискання. +.IP "" +Автоматичне коригування завжди буде вимкнено при створенні потоків +необроблених даних (\fB\-\-format=raw\fP). +.TP +\fB\-T\fP \fIпотоки\fP, \fB\-\-threads=\fP\fIпотоки\fP +Вказати кількість потоків обробки, якими слід скористатися. Встановлення для +аргументу \fIпотоки\fP особливого значення \fB0\fP наказує \fBxz\fP використати не +більше потоків обробки, ніж передбачено підтримку у процесорах +системи. Справжня кількість потоків може бути меншою за значення \fIпотоки\fP, +якщо файл вхідних даних не є достатньо великим для поділу на потоки обробки +при заданих параметрах або якщо використання додаткових потоків призведе до +перевищення обмеження на використання пам'яті. +.IP "" +Засоби стискання в однопотоковому та багатопотоковому режимі дають різні +результати. Однопотоковий засіб стискання дасть найменший розмір файла, але +лише результати роботи багатопотокового засобу стискання може бути +розпаковано з використанням декількох потоків. Встановлення для аргументу +\fIпотоки\fP значення \fB1\fP призведе до використання однопотокового +режиму. Встановлення для аргументу \fIпотоки\fP будь\-якого іншого значення, +включно з \fB0\fP, призведе до використання багатопотокового засобу стискання, +навіть якщо у системі передбачено підтримки лише одного апаратного потоку +обробки даних. (Версія \fBxz\fP 5.2.x у цьому випадку використовувала +однопотоковий режим.) +.IP "" +Щоб скористатися багатопотоковим режимом із лише одним потоком обробки, +встановіть для аргументу \fIпотоки\fP значення \fB+1\fP. Префікс \fB+\fP не впливає +на значення, окрім \fB1\fP. Обмеження на використання пам'яті можуть перемкнути +\fBxz\fP в однопотоковий режим, якщо не використано параметр +\fB\-\-no\-adjust\fP. Підтримку \fB+\fP prefix було додано у версії \fBxz\fP 5.4.0. +.IP "" +Якщо було вказано автоматичне визначення кількості потоків і не вказано +обмеження на використання пам'яті, буде використано специфічне для системи +типове м'яке обмеження для можливого обмеження кількості потоків обробки. Це +обмеження є м'яким у сенсі того, що його буде проігноровано, якщо кількість +потоків зрівняється з одиницею, а отже, м'яке обмеження ніколи не +запобігатиму у \fBxz\fP стисканню або розпаковуванню. Це типове м'яке обмеження +не перемкне \fBxz\fP з багатопотокового режиму на однопотоковий режим. Активні +обмеження можна переглянути за допомогою команди \fBxz \-\-info\-memory\fP. +.IP "" +У поточній версії єдиним способом поділу на потоки обробки є поділ вхідних +даних на блоки і стискання цих блоків незалежно один від одного. Типовий +розмір блоку залежить від рівня стискання. Його може бути перевизначено за +допомогою параметра \fB\-\-block\-size=\fP\fIрозмір\fP. +.IP "" +Розпакування з потоками обробки працює лише для файлів, які містять декілька +блоків із даними щодо розміру у заголовках блоків. Цю умову задовольняють +усі достатньо великі файли, які стиснено у багатопотоковому режимі, але не +задовольняють будь\-які файли, які було стиснуто у однопотоковому режимі, +навіть якщо було використано параметр \fB\-\-block\-size=\fP\fIрозмір\fP. +.IP "" +Типовим значенням для \fIпотоків\fP є \fB0\fP. У \fBxz\fP 5.4.x та старіших версіях +типовим значенням є \fB1\fP. +. +.SS "Нетипові ланцюжки фільтрів засобу стискання" +Нетиповий ланцюжок фільтрування уможливлює докладне визначення параметрів +стискання замість використання параметрів, які пов'язано із наперед +визначеними рівнями стискання. Якщо вказано нетиповий ланцюжок фільтрів, +параметри рівнів стискання (\fB\-0\fP \&...\& \fB\-9\fP і \fB\-\-extreme\fP), які +передують їм у рядку команди, буде знехтувано. Якщо параметр рівня стискання +вказано після одного або декількох параметрів нетипового ланцюжка фільтрів, +буде використано рівень стискання, а попередніми параметрами ланцюжка +фільтрування буде знехтувано. +.PP +Ланцюжок фільтрів можна порівняти із конвеєром у командному рядку. При +стисканні нестиснені вхідні дані потрапляють до першого фільтра, виведені +ним дані йдуть до наступного фільтра (якщо такий є). Виведені останнім +фільтром дані буде записано до стисненого файла. Максимальна кількість +фільтрів у ланцюжку дорівнює чотирьом, але у типовому ланцюжку фільтрів +використовують один або два фільтри. +.PP +У багатьох фільтрів є обмеження на місце перебування у ланцюжку фільтрів: +деякі фільтри можуть працювати, лише якщо вони є останніми у ланцюжку, +деякі, лише якщо не останніми, а деякі працюють у будь\-якій позиції +ланцюжка. Залежно від фільтра, це обмеження є наслідком структури фільтра +або існує для запобігання проблем із захистом. +.PP +Нетиповий ланцюжок фільтрів можна вказати двома різними способами. Параметри +\fB\-\-filters=\fP\fIфільтри\fP і \fB\-\-filters1=\fP\fIфільтри\fP \&...\& +\fB\-\-filters9=\fP\fIфільтри\fP надають змогу вказати цілий ланцюжок фільтрів в +одному варіанті з використанням синтаксису рядків фільтрів liblzma. Крім +того, ланцюжок фільтрів можна вказати за допомогою одного або кількох +окремих параметрів фільтрування у тому порядку, в якому їх слід використати +у ланцюжку фільтрів. Тобто порядок окремих параметрів фільтра є важливим! +Під час декодування необроблених потоків (\fB\-\-format=raw\fP) ланцюжок фільтрів +має бути вказано у тому ж порядку, що й під час стиснення. Будь\-який окремий +фільтр або параметри попереднього налаштування, вказані перед параметром +повного ланцюжка (\fB\-\-filters=\fP\fIфільтри\fP), буде відкинуто. Окремі фільтри, +указані після параметра повного ланцюжка, відновлять типовий ланцюжок +фільтрів. +.PP +І параметр повного і параметр окремого фільтра приймають специфічні для +фільтрів \fIпараметри\fP у форматі списку значень, які відокремлено +комами. Зайві коми у \fIпараметрах\fP буде проігноровано. У кожного параметра є +типове значення, отже, вам слід вказати ті параметри, значення яких ви +хочете змінити. +.PP +Щоб переглянути увесь ланцюжок фільтрів та \fIпараметри\fP, скористайтеся +командою \fBxz \-vv\fP (тобто, скористайтеся \fB\-\-verbose\fP двічі). Це працює +також для перегляду параметрів ланцюжка фільтрів, який використано у рівнях +стискання. +.TP +\fB\-\-filters=\fP\fIфільтри\fP +Визначає повний ланцюжок фільтрів або шаблон у форматі одного +параметра. Кожен фільтр можна відокремити від інших пробілами або двома +дефісами (\fB\-\-\fP). Можливо, \fIфільтри\fP доведеться взяти в лапки в командному +рядку оболонки, щоб їх було оброблено як один параметр. Для позначення +\fIпараметрів\fP скористайтеся \fB:\fP або \fB=\fP. До шаблона можна додати префікс +\fB\-\fP і завершити без прапорців або декількома прапорцями. Єдиним +підтримуваним прапорцем є \fBe\fP для застосування тих самих параметрів, що й +\fB\-\-extreme\fP. +.TP +\fB\-\-filters1\fP=\fIфільтри\fP ... \fB\-\-filters9\fP=\fIфільтри\fP +Вказати до дев'яти додаткових ланцюжків фільтрів, якими можна скористатися +за допомогою \fB\-\-block\-list\fP. +.IP "" +Наприклад, якщо виконується стискання архіву із виконуваними файлами, за +якими йдуть текстові файли, для виконуваної частини може бути використано +ланцюжок фільтрів з фільтром BCJ, а для текстової частини — лише фільтр +LZMA2. +.TP +\fB\-\-filters\-help\fP +Вивести довідкове повідомлення з описом того, як вказати шаблони та нетипові +ланцюжки фільтрів у параметри \fB\-\-filters\fP і \fB\-\-filters1=\fP\fIфільтри\fP +\&...\& \fB\-\-filters9=\fP\fIфільтри\fP і завершити роботу із кодом успіху. +.TP +\fB\-\-lzma1\fP[\fB=\fP\fIпараметри\fP] +.PD 0 +.TP +\fB\-\-lzma2\fP[\fB=\fP\fIпараметри\fP] +.PD +Додати фільтр LZMA1 або LZMA2 до ланцюжка фільтрів. Ці фільтри може бути +використано лише як останній фільтр у ланцюжку. +.IP "" +LZMA1 є застарілим фільтром, підтримку якого збережено майже лише через +використання формату файлів \fB.lzma\fP, у яких передбачено підтримку лише +LZMA1. LZMA2 є оновленою версією LZMA1, у якій виправлено деякі практичні +вади LZMA1. У форматі \fB.xz\fP використано LZMA2 і взагалі не передбачено +підтримки LZMA1. Швидкість стискання та коефіцієнт стискання для LZMA1 і +LZMA2 є практично однаковими. +.IP "" +LZMA1 і LZMA2 спільно використовують той самий набір \fIпараметрів\fP: +.RS +.TP +\fBpreset=\fP\fIшаблон\fP +Скинути усі \fIпараметри\fP LZMA1 або LZMA2 до параметрів \fIшаблона\fP. Аргумент +\fIшаблон\fP складається з цілого числа, після якого може бути однолітерний +модифікатор шаблона. Ціле число може належати лише діапазону від \fB0\fP до +\fB9\fP, що відповідає параметрам командного рядка \fB\-0\fP \&...\& \fB\-9\fP. Єдиним +підтримуваним модифікатором у поточній версії є \fBe\fP, щоб відповідає +параметру \fB\-\-extreme\fP. Якщо аргумент \fBшаблон\fP не вказано, типові значення +\fIпараметрів\fP LZMA1 або LZMA2 буде взято із шаблона \fB6\fP. +.TP +\fBdict=\fP\fIрозмір\fP +Параметр \fIрозміру\fP словника (буфера журналу) визначає, скільки байтів +нещодавно оброблених нестиснених даних слід зберігати у пам'яті. Алгоритм +намагається знайти повторювані послідовності байтів (відповідники) у +нестиснених даних і замінити їх на посилання на дані зі словника. Чим +більшим є словник, тим вищою є ймовірність відшукати відповідник. Отже, +збільшення \fIрозміру\fP словника, зазвичай, покращує коефіцієнт стискання, але +використання словника, розмір якого перевищу є розмір нестисненого файла є +простоюю витратою пам'яті. +.IP "" +\fIРозмір\fP типового словника складає від 64\ КіБ до 64\ МіБ. Мінімальним є +розмір 4\ КіБ. Максимальним розміром для стискання у поточній версії 1.5\ ГіБ (1536\ МіБ). У засобі розпаковування вже передбачено підтримку словників +на один байт менших за 4\ ГіБ, що є максимальним значенням для форматів +потоків даних LZMA1 і LZMA2. +.IP "" +Аргумент \fIрозміру\fP словника і засіб пошуку відповідників (\fImf\fP) разом +визначають параметри використання пам'яті для кодувальника LZMA1 або +LZMA2. Для розпаковування потрібен такий самий (або більший) \fIрозмір\fP +словника, що і для стискання, отже, використання пам'яті для засобу +розпаковування буде визначено за розміром словника, який було використано +для стискання. У заголовках \fB.xz\fP зберігається \fIрозмір\fP словника або як +2^\fIn\fP, або як 2^\fIn\fP + 2^(\fIn\fP\-1), отже, ці \fIрозміри\fP є дещо пріоритетними +для стискання. Інші \fIрозміри\fP буде отримано округленням при зберіганні у +заголовках \fB.xz\fP. +.TP +\fBlc=\fP\fIlc\fP +Визначає кількість буквальних контекстних бітів. Мінімальною кількістю є 0, +а максимальною — 4. Типовою кількістю є 3. Крім того, сума \fIlc\fP і \fIlp\fP має +не перевищувати 4. +.IP "" +Усі байти, які не може бути закодовано як відповідності, буде закодовано як +літерали. Тобто літерали є просто 8\-бітовими байтами, які буде закодовано по +одному за раз. +.IP "" +При кодуванні літералів роблять припущення, що найвищі біти \fIlc\fP +попереднього нестисненого байта корелюють із наступним байтом. Наприклад, у +типовому тексті англійською за літерою у верхньому регістрі йде літера у +нижньому регістрі, а за літерою у нижньому регістрі, зазвичай, йде інша +літера у нижньому регістрі. У наборі символів US\-ASCII найвищими трьома +бітами є 010 для літер верхнього регістру і 011 для літер нижнього +регістру. Якщо \fIlc\fP дорівнює принаймні 3, при кодуванні літералів можна +отримати перевагу встановлення цієї властивості для нестиснених даних. +.IP "" +Зазвичай, типового значення (3) достатньо. Якщо вам потрібне максимальне +стискання, спробуйте \fBlc=4\fP. Іноді це трохи допомагає, а іноді, робить +стискання гіршим. Якщо стискання стане гіршим, спробуйте також \fBlc=2\fP. +.TP +\fBlp=\fP\fIlp\fP +Визначає кількість буквальних позиційних бітів. Мінімальною кількістю є 0, а +максимальною — 4. Типовою кількістю є 0. +.IP "" +\fILp\fP впливає на те, яке вирівнювання у нестиснених даних слід припускати +при кодуванні літералів. Див. \fIpb\fP нижче, щоб дізнатися більше про +вирівнювання. +.TP +\fBpb=\fP\fIpb\fP +Визначає кількість позиційних бітів. Мінімальною кількістю є 0, а +максимальною — 4. Типовою кількістю є 2. +.IP "" +\fIPb\fP впливає на те, який тип вирівнювання загалом припускатиметься для +нестиснених даних. Типовим є чотирибайтове вирівнювання (2^\fIpb\fP=2^2=4), +яке, зазвичай, є добрим варіантом, якщо немає кращих припущень. +.IP "" +Якщо вирівнювання є відомим, встановлення відповідним чином \fIpb\fP може трохи +зменшити розмір файла. Наприклад, у текстових файлах із однобайтовим +вирівнюванням (US\-ASCII, ISO\-8859\-*, UTF\-8), встановлення значення \fBpb=0\fP +може трохи поліпшити стискання. Для тексту UTF\-16 добрим варіантом є +\fBpb=1\fP. Якщо вирівнювання є непарним числом, наприклад 3 байти, найкращим +вибором, ймовірно, є \fBpb=0\fP. +.IP "" +Хоча прогнозоване вирівнювання можна скоригувати за допомогою \fIpb\fP і \fIlp\fP, +у LZMA1 і LZMA2 дещо пріоритетним є 16\-байтове вирівнювання. Це, ймовірно, +слід враховувати при компонуванні форматів файлів, які, ймовірно, часто +будуть стискатися з використанням LZMA1 або LZMA2. +.TP +\fBmf=\fP\fImf\fP +Засіб пошуку відповідників має значний вплив на швидкість, використання +пам'яті та коефіцієнт стискання кодувальника. Зазвичай, засоби пошуку +відповідників на основі ланцюжка хешів є швидшими за засоби пошуку +відповідників на основі двійкового дерева. Типовий засіб залежить від +\fIшаблона\fP: для 0 використовують \fBhc3\fP, для 1\(en3 — \fBhc4\fP, а для решти +використовують \fBbt4\fP. +.IP "" +Передбачено підтримку вказаних нижче засобів пошуку відповідників. Наведені +нижче формули обчислення використання пам'яті є грубими наближеннями, які є +найближчими до реальних значень, якщо значенням \fIсловник\fP є степінь двійки. +.RS +.TP +\fBhc3\fP +Ланцюжок хешів із 2\- та 3\-байтовим хешуванням +.br +Мінімальне значення \fIпріоритетності\fP: 3 +.br +Використання пам'яті: +.br +\fIdict\fP * 7.5 (якщо \fIdict\fP <= 16 МіБ); +.br +\fIdict\fP * 5.5 + 64 МіБ (якщо \fIdict\fP > 16 МіБ) +.TP +\fBhc4\fP +Ланцюжок хешів із 2\-, 3\- та 4\-байтовим хешуванням +.br +Мінімальне значення \fIпріоритетності\fP: 4 +.br +Використання пам'яті: +.br +\fIdict\fP * 7.5 (якщо \fIdict\fP <= 32 МіБ); +.br +\fIdict\fP * 6.5 (якщо \fIdict\fP > 32 МіБ) +.TP +\fBbt2\fP +Двійкове дерево із 2\-байтовим хешуванням +.br +Мінімальне значення \fIпріоритетності\fP: 2 +.br +Використання пам'яті: \fIdict\fP * 9.5 +.TP +\fBbt3\fP +Двійкове дерево із 2\- і 3\-байтовим хешуванням +.br +Мінімальне значення \fIпріоритетності\fP: 3 +.br +Використання пам'яті: +.br +\fIdict\fP * 11.5 (якщо \fIdict\fP <= 16 МіБ); +.br +\fIdict\fP * 9.5 + 64 МіБ (якщо \fIdict\fP > 16 МіБ) +.TP +\fBbt4\fP +Двійкове дерево із 2\-, 3\- і 4\-байтовим хешуванням +.br +Мінімальне значення \fIпріоритетності\fP: 4 +.br +Використання пам'яті: +.br +\fIdict\fP * 11.5 (якщо \fIdict\fP <= 32 МіБ); +.br +\fIdict\fP * 10.5 (якщо \fIdict\fP > 32 МіБ) +.RE +.TP +\fBmode=\fP\fIрежим\fP +Параметр \fIрежиму\fP стискання визначає спосіб, який буде використано для +аналізу даних, які створено засобом пошуку відповідників. Підтримуваними +\fIрежимами\fP є \fBfast\fP (швидкий) і \fBnormal\fP (нормальний). Типовим є режим +\fBfast\fP для \fIшаблонів\fP 0\(en3 і режим \fBnormal\fP для \fIшаблонів\fP 4\(en9. +.IP "" +Зазвичай, із засобом пошуку відповідників на основі ланцюжка хешів +використовують \fBfast\fP, а із засобом пошуку відповідників на основі +двійкового дерева використовують \fBnormal\fP. Так само налаштовано і +\fIшаблони\fP. +.TP +\fBnice=\fP\fIпріоритетність\fP +Вказати, яка довжина є пріоритетною для відповідності. Щойно буде виявлено +відповідність у принаймні \fIпріоритетність\fP байтів, алгоритм зупинятиме +пошук можливих кращих відповідників. +.IP "" +\fIПріоритетністю\fP може бути число до 2\(en273 байтів. Вищі значення дають +кращий коефіцієнт стискання за рахунок швидкості. Типове значення залежить +від \fIшаблона\fP. +.TP +\fBdepth=\fP\fIглибина\fP +Вказати максимальну глибину пошуку у засобі пошуку відповідності. Типовим є +особливе значення 0, яке наказує засобу стискання визначити прийнятну +\fIглибину\fP на основі \fImf\fP і \fIпріоритетності\fP. +.IP "" +Прийнятним значенням \fIглибини\fP для ланцюжків хешів є 4\(en100 і 16\(en1000 +для двійкових дерев. Використання дуже високих значень для \fIглибини\fP може +зробити кодувальник дуже повільним для деяких файлів. Не встановлюйте +значення \fIглибини\fP, що перевищує 1000, якщо ви не готові перервати +стискання, якщо воно триватиме надто довго. +.RE +.IP "" +При декодуванні необроблених потоків даних (\fB\-\-format=raw\fP), LZMA2 потребує +лише \fIрозміру\fP словника. LZMA1 потребує також \fIlc\fP, \fIlp\fP і \fIpb\fP. +.TP +\fB\-\-x86\fP[\fB=\fP\fIпараметри\fP] +.PD 0 +.TP +\fB\-\-arm\fP[\fB=\fP\fIпараметри\fP] +.TP +\fB\-\-armthumb\fP[\fB=\fP\fIпараметри\fP] +.TP +\fB\-\-arm64\fP[\fB=\fP\fIпараметри\fP] +.TP +\fB\-\-powerpc\fP[\fB=\fP\fIпараметри\fP] +.TP +\fB\-\-ia64\fP[\fB=\fP\fIпараметри\fP] +.TP +\fB\-\-sparc\fP[\fB=\fP\fIпараметри\fP] +.PD +Додати фільтр гілок/викликів/переходів (branch/call/jump або BCJ) до +ланцюжка фільтрів. Цими фільтрами можна скористатися, лише якщо вони не є +останнім фільтром у ланцюжку фільтрів. +.IP "" +Фільтр BCJ перетворює відносні адреси у машинному коді на їхні абсолютні +відповідники. Це не змінює розміру даних, але підвищує резервування, що може +допомогти LZMA2 створити файл \fB.xz\fP на 0\(en15\ % менше. Фільтри BCJ завжди +є придатними до обернення, тому використання фільтра BCJ до помилкового типу +даних не спричинятиме втрати даних, хоча може дещо погіршити коефіцієнт +стискання. Фільтри BCJ є дуже швидкими і такими, що використовують незначний +об'єм пам'яті. +.IP "" +Ці фільтри BCJ мають відомі проблеми, які пов'язано із рівнем стискання: +.RS +.IP \(bu 3 +У деяких типах файлів, де зберігається виконуваний код, (наприклад, в +об'єктних файлах, статичних бібліотеках та модулях ядра Linux) адреси в +інструкціях заповнено значеннями заповнювача. Ці фільтри BCJ виконуватимуть +перетворення адрес, яке зробить стискання для цих файлів гіршим. +.IP \(bu 3 +Якщо фільтр BCJ застосовано до архіву, може так статися, що він погіршить +коефіцієнт стискання порівняно із варіантом без фільтра BCJ. Наприклад, якщо +є подібні або навіть однакові виконувані файли, фільтрування, ймовірно, +зробить ці файли менш подібними, а отже, зробить стискання гіршим. Вміст +файлів, які не є виконуваними, у тому самому архіві також може вплинути на +результат. На практиці, варто спробувати варіанти з фільтром BCJ і без +нього, щоб визначитися із тим, що буде кращим у кожній ситуації. +.RE +.IP "" +Різні набори інструкцій мають різне вирівнювання: виконуваний файл має бути +вирівняно на кратне до цього значення у вхідних даних, щоб фільтр спрацював. +.RS +.RS +.PP +.TS +tab(;); +l n l +l n l. +Фільтр;Вирівнювання;Нотатки +x86;1;32\-бітова або 64\-бітова x86 +ARM;4; +ARM\-Thumb;2; +ARM64;4;Найкращим є вирівнювання за +;;4096 байтами +PowerPC;4;Лише зворотний порядок байтів +IA\-64;16;Itanium +SPARC;4; +RISC\-V;2; +.TE +.RE +.RE +.IP "" +Оскільки фільтровані BCJ дані, зазвичай, стискають за допомогою LZMA2, +коефіцієнт стискання можна трохи поліпшити, якщо параметри LZMA2 буде +встановлено так, щоб вони відповідали вирівнюванню вибраного фільтра +BCJ. Приклади: +.RS +.IP \(bu 3 +Фільтр IA\-64 має 16\-байтове вирівнювання, отже \fBpb=4,lp=4,lc=0\fP дасть добрі +результати у поєднанні із LZMA2 (2^4=16). +.IP \(bu 3 +Код RISC\-V має 2\-байтове або 4\-байтове вирівнювання залежно від того, чи +містить файл 16\-бітові стислі інструкції (розширення C). Якщо використано +16\-бітові інструкції, добрі результати дасть \fBpb=2,lp=1,lc=3\fP або +\fBpb=1,lp=1,lc=3\fP. Якщо 16\-бітових інструкцій немає, найкращим варіантом є +\fBpb=2,lp=2,lc=2\fP. Можна скористатися \fBreadelf \-h\fP, щоб перевірити, чи є +"RVC" у рядку "Flags". +.IP \(bu 3 +ARM64 завжди вирівняно на 4 байти, тому найкращим варіантом буде +\fBpb=2,lp=2,lc=2\fP. +.IP \(bu 3 +Фільтр x86 є виключенням. Зазвичай, добрі результати дають типові для LZMA2 +значення (\fBpb=2,lp=0,lc=3\fP), якщо стискають виконувані файли x86. +.RE +.IP "" +У всіх фільтрах BCJ передбачено підтримку тих самих \fIпараметрів\fP: +.RS +.TP +\fBstart=\fP\fIзсув\fP +Встановити початковий \fIзсув\fP, який буде використано при перетворенні між +відносною та абсолютною адресами. Значення \fIзсув\fP має бути кратним до +вирівнювання фільтра (див. таблицю вище). Типовим зсувом є нульовий. На +практиці, типове значення є прийнятним; визначення нетипового значення +\fIзсув\fP майже завжди нічого корисного не дає. +.RE +.TP +\fB\-\-delta\fP[\fB=\fP\fIпараметри\fP] +Додати дельта\-фільтр до ланцюжка фільтрів. Дельта\-фільтр може бути +використано, лише якщо він не є останнім у ланцюжку фільтрів. +.IP "" +У поточній версії передбачено підтримку обчислення лише простої побітової +дельти. Це може бути корисним при стисканні, наприклад, нестиснутих +растрових зображень або нестиснутих звукових даних PCM. Втім, спеціалізовані +алгоритми можуть давати значно кращі результати за дельту + LZMA2. Це +правило особливо стосується звукових даних, які стискає швидше і краще, +наприклад, \fBflac\fP(1). +.IP "" +Підтримувані \fIпараметри\fP: +.RS +.TP +\fBdist=\fP\fIвідстань\fP +Вказати \fIвідстань\fP обчислень різниці у байтах. Значення \fIвідстань\fP має +потрапляти у діапазон 1\(en256. Типовим значенням є 1. +.IP "" +Наприклад, з \fBdist=2\fP та восьмибайтовими вхідними даними A1 B1 A2 B3 A3 B5 +A4 B7, результатом буде A1 B1 01 02 01 02 01 02. +.RE +. +.SS "Інші параметри" +.TP +\fB\-q\fP, \fB\-\-quiet\fP +Придушити попередження та сповіщення. Вкажіть цей параметр двічі, щоб +придушити також повідомлення про помилки. Цей параметр не впливає на стан +виходу з програми. Тобто, навіть якщо було придушено попередження, стан +виходу вказуватиме на те, що попередження були. +.TP +\fB\-v\fP, \fB\-\-verbose\fP +Докладний режим повідомлень. Якщо стандартне виведення помилок з'єднано із +терміналом, \fBxz\fP показуватиме індикатор поступу. Використання \fB\-\-verbose\fP +двічі призведе до ще докладнішого виведення. +.IP "" +Індикатор поступу показує такі дані: +.RS +.IP \(bu 3 +Частку завершеності буде показано, якщо відомий розмір файла вхідних +даних. Тобто, для каналів даних частку не може бути показано. +.IP \(bu 3 +Об'єм стиснених виведених даних (стискання) або оброблених (розпаковування). +.IP \(bu 3 +Об'єм незапакованих даних (стискання) або виведених даних (розпаковування). +.IP \(bu 3 +Коефіцієнт стискання, який обчислено діленням об'єму оброблених стиснутих +даних на об'єм оброблених нестиснутих даних. +.IP \(bu 3 +Швидкість стискання або розпаковування. Обчислюється як об'єм нестиснутих +даних (стискання) або виведених даних (розпаковування) за секунду. Його буде +показано за декілька секунд з моменту, коли \fBxz\fP почала обробляти файл. +.IP \(bu 3 +Витрачений час у форматі Х:СС або Г:ХХ:СС. +.IP \(bu 3 +Оцінку часу, що лишився, буде показано, лише якщо розмір файла вхідних даних +є відомим, і минуло принаймні декілька секунд з моменту, коли \fBxz\fP почала +обробляти файл. Час буде показано у менш точному форматі, без двокрапок, +наприклад, 2 хв. 30 с. +.RE +.IP "" +Якщо стандартним виведенням помилок не є термінал, \fB\-\-verbose\fP призведе до +того, що \fBxz\fP виведе назву файла, стиснений розмір, нестиснений розмір, +коефіцієнт стискання та, можливо, також швидкість та витрачений час у одному +рядку до стандартного виведення помилок після стискання або розпаковування +файла. Швидкість та витрачений час буде включено, лише якщо дія триває +принаймні декілька секунд. Якщо дію не буде завершено, наприклад, через +втручання користувача, буде також виведено частку виконання, якщо відомий +розмір файла вхідних даних. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +Не встановлювати стан виходу 2, навіть якщо було виявлено відповідність +умові, яка варта попередження. Цей параметр не впливає на рівень докладності +повідомлень, отже, слід використати \fB\-\-quiet\fP і \fB\-\-no\-warn\fP, щоб програма +не показувала попереджень і не змінювала стан виходу. +.TP +\fB\-\-robot\fP +Виводити повідомлення у придатному для обробки комп'ютером форматі. Цей +формат призначено для полегшення написання оболонок, які використовуватимуть +\fBxz\fP замість liblzma, що може бути зручним для різноманітних +скриптів. Виведені дані з цим параметром має бути стабільним для усіх +випусків \fBxz\fP. Докладніший опис можна знайти у розділі \fBРЕЖИМ РОБОТА\fP. +.TP +\fB\-\-info\-memory\fP +Вивести у придатному для читання людиною форматі, скільки фізичної пам'яті +(RAM) та скільки потоків процесора є за даними \fBxz\fP у системі, обмеження +для стискання та розпаковування, а потім успішно завершити роботу. +.TP +\fB\-h\fP, \fB\-\-help\fP +Вивести повідомлення про помилку з описом найбільш типових використаних +параметрів і успішно завершити роботу. +.TP +\fB\-H\fP, \fB\-\-long\-help\fP +Вивести довідкове повідомлення з описом усіх можливостей \fBxz\fP і успішно +завершити роботу +.TP +\fB\-V\fP, \fB\-\-version\fP +Вивести номер версії \fBxz\fP та liblzma у зручному для читання форматі. Щоб +отримати дані, зручні для обробки на комп'ютері, вкажіть \fB\-\-robot\fP до +\fB\-\-version\fP. +. +.SH "РЕЖИМ РОБОТА" +Режим робота активують за допомогою параметра \fB\-\-robot\fP. Він спрощує +обробку виведених \fBxz\fP даних іншими програмами. У поточній версії підтримку +\fB\-\-robot\fP передбачено лише разом із \fB\-\-list\fP, \fB\-\-filters\-help\fP, +\fB\-\-info\-memory\fP і \fB\-\-version\fP. У майбутньому підтримку параметра буде +передбачено для стискання та розпаковування. +. +.SS "Режим списку" +У \fBxz \-\-robot \-\-list\fP використано табуляції для поділу виведених +даних. Першим стовпчиком у кожному рядку є рядок, що вказує на тип +відомостей, які можна знайти у цьому рядку: +.TP +\fBназва\fP +Це завжди перший рядок на початку списку файла. Другим стовпчиком у рядку є +назва файла. +.TP +\fBфайл\fP +У цьому рядку містяться загальні відомості щодо файла \fB.xz\fP. Цей рядок +завжди виводять після рядка \fBname\fP. +.TP +\fBstream\fP +Цей тип рядка використовують, лише якщо було вказано \fB\-\-verbose\fP. Буде +стільки рядків \fBstream\fP, скільки потоків у файлі \fB.xz\fP. +.TP +\fBblock\fP +Цей тип рядка використовують, лише якщо було вказано \fB\-\-verbose\fP. Буде +стільки рядків \fBblock\fP, скільки блоків у файлі \fB.xz\fP. Рядки \fBblock\fP буде +показано після усіх рядків \fBstream\fP; різні типи рядків не перемежовуються. +.TP +\fBsummary\fP +Цей тип рядків використовують, лише якщо \fB\-\-verbose\fP було вказано +двічі. Цей рядок буде виведено після усіх рядків \fBblock\fP. Подібно до рядка +\fBfile\fP, рядок \fBsummary\fP містить загальні відомості щодо файла \fB.xz\fP. +.TP +\fBtotals\fP +Цей рядок завжди є найостаннішим рядком у виведеному списку. У ньому буде +показано загальні кількості та розміри. +.PP +Стовпчики у рядках \fBфайла\fP: +.PD 0 +.RS +.IP 2. 4 +Кількість потоків у файлі +.IP 3. 4 +Загальна кількість блоків у потоках +.IP 4. 4 +Розмір стисненого файла +.IP 5. 4 +Розмір нестисненого файла +.IP 6. 4 +Коефіцієнт стискання, наприклад, \fB0.123\fP. Якщо коефіцієнт перевищує 9.999, +замість коефіцієнта буде показано дефіси (\fB\-\-\-\fP). +.IP 7. 4 +Список відокремлених комами назв перевірок цілісності. Наведені нижче рядки +використовують для відомих типів перевірок: \fBNone\fP, \fBCRC32\fP, \fBCRC64\fP і +\fBSHA\-256\fP. Для невідомих типів перевірок буде використано \fBUnknown\-\fP\fIN\fP, +де \fIN\fP є ідентифікатором перевірки у форматі десяткового числа (одна або +дві цифри). +.IP 8. 4 +Загальний розмір доповнення потоку у файлі +.RE +.PD +.PP +Стовпчики у рядках \fBstream\fP: +.PD 0 +.RS +.IP 2. 4 +Номер потоку (перший потік має номер 1) +.IP 3. 4 +Кількість блоків у потоці +.IP 4. 4 +Зсув початку стисненого +.IP 5. 4 +Зсув початку нестисненого +.IP 6. 4 +Стиснений розмір (не включає доповнення потоку) +.IP 7. 4 +Нестиснутий розмір +.IP 8. 4 +Рівень стискання +.IP 9. 4 +Назва перевірки цілісності +.IP 10. 4 +Розмір доповнення потоку +.RE +.PD +.PP +Стовпчики у рядках \fBblock\fP: +.PD 0 +.RS +.IP 2. 4 +Номер потоку, що містить цей блок +.IP 3. 4 +Номер блоку відносно початку потоку (перший блок має номер 1) +.IP 4. 4 +Номер блоку відносно початку файла +.IP 5. 4 +Зсув початку стисненого відносно початку файла +.IP 6. 4 +Зсув початку нестисненого відносно початку файла +.IP 7. 4 +Загальний стиснений розмір блоку (включено з заголовками) +.IP 8. 4 +Нестиснутий розмір +.IP 9. 4 +Рівень стискання +.IP 10. 4 +Назва перевірки цілісності +.RE +.PD +.PP +Якщо \fB\-\-verbose\fP було вказано двічі, до рядків \fBblock\fP буде включено +додаткові стовпчики. Ці стовпчики не буде показано, якщо вказано одинарний +параметр \fB\-\-verbose\fP, оскільки отримання цих відомостей потребує багатьох +позиціювань, а ця процедура може бути повільною: +.PD 0 +.RS +.IP 11. 4 +Значення перевірки цілісності у шістнадцятковій формі +.IP 12. 4 +Розмір заголовка блоку +.IP 13. 4 +Прапорці блоку: \fBc\fP вказує, що наявний стиснений розмір, а \fBu\fP вказує, що +наявний нестиснений розмір. Якщо прапорець не встановлено, буде показано +(\fB\-\fP) замість підтримання фіксованого розміру рядка. У майбутньому +наприкінці рядка може бути додано нові прапорці. +.IP 14. 4 +Розмір справжніх стиснених даних у блоці (це включає заголовок блоку, +доповнення блоку та поля перевірок) +.IP 15. 4 +Об'єм пам'яті (у байтах), який потрібен для розпаковування цього блоку за +допомогою цієї версії \fBxz\fP +.IP 16. 4 +Ланцюжок фільтрів. Зауважте, що більшість параметрів, які використано під +час стискання, не є наперед відомим, оскільки у заголовках \fB.xz\fP +зберігаються лише параметри, які потрібні для розпаковування. +.RE +.PD +.PP +Стовпчики у рядках \fBsummary\fP: +.PD 0 +.RS +.IP 2. 4 +Об'єм пам'яті (у байтах), який потрібен для розпаковування цього файла за +допомогою цієї версії \fBxz\fP +.IP 3. 4 +\fByes\fP або \fBno\fP вказує, якщо усі заголовки блоків містять одразу стиснений +розмір та розпакований розмір +.PP +\fIПочинаючи з\fP \fBxz\fP \fI5.1.2alpha:\fP +.IP 4. 4 +Мінімальна версія \fBxz\fP, яка потрібна для розпаковування файла +.RE +.PD +.PP +Стовпчики рядка \fBtotals\fP: +.PD 0 +.RS +.IP 2. 4 +Кількість потоків +.IP 3. 4 +Кількість блоків +.IP 4. 4 +Стиснутий розмір +.IP 5. 4 +Нестиснутий розмір +.IP 6. 4 +Середній коефіцієнт стискання +.IP 7. 4 +Список відокремлених комами назв перевірок цілісності, результати яких +наявні у файлах +.IP 8. 4 +Розмір доповнення потоку +.IP 9. 4 +Кількість файлів. Наявний тут для зберігання такого самого порядку +стовпчиків, що і у попередніх рядках \fBfile\fP. +.PD +.RE +.PP +Якщо \fB\-\-verbose\fP було вказано двічі, до рядка \fBtotals\fP буде включено +додаткові стовпчики: +.PD 0 +.RS +.IP 10. 4 +Максимальний об'єм пам'яті (у байтах), який потрібен для розпаковування +файлів за допомогою цієї версії \fBxz\fP +.IP 11. 4 +\fByes\fP або \fBno\fP вказує, якщо усі заголовки блоків містять одразу стиснений +розмір та розпакований розмір +.PP +\fIПочинаючи з\fP \fBxz\fP \fI5.1.2alpha:\fP +.IP 12. 4 +Мінімальна версія \fBxz\fP, яка потрібна для розпаковування файла +.RE +.PD +.PP +У майбутніх версіях може бути додано нові типи рядків і нові стовпчики до +наявних типів рядків, але наявні стовпчики мають лишитися незмінними. +. +.SS "Довідка з фільтрування" +\fBxz \-\-robot \-\-filters\-help\fP виведе список підтримуваних фільтрів у такому +форматі: +.PP +\fIфільтр\fP\fB:\fP\fIпараметр\fP\fB=<\fP\fIзначення\fP\fB>,\fP\fIпараметр\fP\fB=<\fP\fIзначення\fP\fB>\fP... +.TP +\fIфільтр\fP +Назва фільтра +.TP +\fIпараметр\fP +Назва специфічного для фільтра параметра +.TP +\fIзначення\fP +Числові діапазони \fIvalue\fP слід вказати у форматі +\fB<\fP\fIмінімум\fP\fB\-\fP\fIмаксимум\fP\fB>\fP. Варіанти рядка \fIзначення\fP +показано у \fB< >\fP і відокремлено символом \fB|\fP. +.PP +Кожен фільтр буде виведено до окремого рядка. +. +.SS "Дані щодо обмеження пам'яті" +\fBxz \-\-robot \-\-info\-memory\fP виводить один рядок з декількома відокремленими +табуляціями стовпчиками: +.IP 1. 4 +Загальний об'єм фізичної пам'яті (RAM) у байтах. +.IP 2. 4 +Обмеження на використання пам'яті для стискання у байтах +(\fB\-\-memlimit\-compress\fP). Особливе значення \fB0\fP вказує на типові +налаштування, якими для однопотокового режиму є налаштування без обмеження +на використання пам'яті. +.IP 3. 4 +Обмеження на використання пам'яті для розпакування у байтах +(\fB\-\-memlimit\-decompress\fP). Особливе значення \fB0\fP вказує на типові +налаштування, якими для однопотокового режиму є налаштування без обмеження +на використання пам'яті. +.IP 4. 4 +Починаючи з \fBxz\fP 5.3.4alpha: використання пам'яті для багатопотокового +розпаковування у байтах (\fB\-\-memlimit\-mt\-decompress\fP). Ніколи не дорівнює +нулеві, оскільки буде використано специфічне для системи типове значення, +яке показано у стовпчику 5, якщо обмеження не встановлено явним чином. Також +ніколи не перевищуватиме значення у стовпчику 3, навіть якщо було вказано +більше значення за допомогою \fB\-\-memlimit\-mt\-decompress\fP. +.IP 5. 4 +Починаючи з \fBxz\fP 5.3.4alpha: специфічне для системи типове обмеження на +використання пам'яті, яке використовують для обмеження кількості потоків при +стисканні з автоматичною кількістю потоків (\fB\-\-threads=0\fP) і без визначення +обмеження на використання пам'яті (\fB\-\-memlimit\-compress\fP). Це значення +також використовують як типове значення для \fB\-\-memlimit\-mt\-decompress\fP. +.IP 6. 4 +Починаючи з \fBxz\fP 5.3.4alpha: кількість доступних потоків обробки процесора. +.PP +У майбутньому у виведенні \fBxz \-\-robot \-\-info\-memory\fP може бути більше +стовпчиків, але у виведеному буде не більше за один рядок. +. +.SS Версія +\fBxz \-\-robot \-\-version\fP виведе назву версії \fBxz\fP і liblzma у такому +форматі: +.PP +\fBXZ_VERSION=\fP\fIXYYYZZZS\fP +.br +\fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP +.TP +\fIX\fP +Основна версія. +.TP +\fIYYY\fP +Проміжна версія. Непарні номери буде використано для стабільних +версій. Непарні номери є номерами тестових версій. +.TP +\fIZZZ\fP +Рівень латання для стабільних випусків або просто лічильник для випусків, +які перебувають у розробці. +.TP +\fIS\fP +Стабільність. 0 — alpha, 1 — beta, а 2 означає «стабільна версія». \fIS\fP має +завжди дорівнювати 2, якщо \fIYYY\fP є парним. +.PP +\fIXYYYZZZS\fP є тим самим в обох рядках, якщо \fBxz\fP і liblzma належать до +одного випуску XZ Utils. +.PP +Приклади: 4.999.9beta — це \fB49990091\fP, а 5.0.0 — це \fB50000002\fP. +. +.SH "СТАН ВИХОДУ" +.TP +\fB0\fP +Усе добре. +.TP +\fB1\fP +Сталася помилка. +.TP +\fB2\fP +Сталося щось варте попередження, але справжніх помилок не сталося. +.PP +Зауваження (не попередження або помилки), які виведено до стандартного +виведення помилок, не впливають на стан виходу. +. +.SH СЕРЕДОВИЩЕ +\fBxz\fP обробляє списки відокремлених пробілами параметрів зі змінних +середовища \fBXZ_DEFAULTS\fP і \fBXZ_OPT\fP, перш ніж обробляти параметри з рядка +команди. Зауважте, що буде оброблено лише параметри зі змінних середовища; +усі непараметричні записи буде без повідомлень проігноровано. Обробку буде +виконано за допомогою функції \fBgetopt_long\fP(3), яку також використовують +для аргументів рядка команди. +.TP +\fBXZ_DEFAULTS\fP +Специфічні для користувача або загальносистемні типові параметри. Зазвичай, +їх встановлюють у скрипті ініціалізації оболонки для типового вмикання +обмеження на використання пам'яті у \fBxz\fP. Окрім скриптів ініціалізації +оболонки і подібних особливих випадків, не слід встановлювати або +скасовувати встановлення значення \fBXZ_DEFAULTS\fP у скриптах. +.TP +\fBXZ_OPT\fP +Цю змінну призначено для передавання параметрів до \fBxz\fP, якщо неможливо +встановити параметри безпосередньо у рядку команди \fBxz\fP. Це трапляється, +якщо \fBxz\fP запущено скриптом або інструментом, наприклад, GNU \fBtar\fP(1): +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=\-2v tar caf foo.tar.xz foo\fP +.fi +.RE +.RE +.IP "" +Скрипти можуть використовувати \fBXZ_OPT\fP, наприклад, для встановлення +специфічних типових параметрів стискання. Втім, рекомендуємо дозволити +користувачам перевизначати \fBXZ_OPT\fP, якщо це має якісь причини. Наприклад, +у скриптах \fBsh\fP(1) можна скористатися чимось таким: +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=${XZ_OPT\-"\-7e"} export XZ_OPT\fP +.fi +.RE +.RE +. +.SH "СУМІСНІСТЬ ІЗ LZMA UTILS" +Синтаксис рядка команди \fBxz\fP практично є надбудовою щодо \fBlzma\fP, \fBunlzma\fP +і \fBlzcat\fP з LZMA Utils 4.32.x. У більшості випадків можна замінити LZMA +Utils XZ Utils без порушення працездатності наявних скриптів. Втім, існують +певні несумісності, які іноді можуть спричиняти проблеми. +. +.SS "Рівні шаблонів стискання" +Нумерація у шаблонах рівнів стискання у \fBxz\fP не є тотожною до нумерації у +LZMA Utils. Найважливішою відмінністю є прив'язка розмірів словника до +різних шаблонів. Розмір словника грубо рівний використанню пам'яті у засобі +розпаковування. +.RS +.PP +.TS +tab(;); +c c c +c n n. +Рівень;xz;LZMA Utils +\-0;256 КіБ;н/д +\-1;1 МіБ;64 КіБ +\-2;2 МіБ;1 МіБ +\-3;4 МіБ;512 КіБ +\-4;4 МіБ;1 МіБ +\-5;8 МіБ;2 МіБ +\-6;8 МіБ;4 МіБ +\-7;16 МіБ;8 МіБ +\-8;32 МіБ;16 МіБ +\-9;64 МіБ;32 МіБ +.TE +.RE +.PP +Відмінності у розмірах словників також впливають на використання пам'яті +засобом стискання, але є і інші відмінності між LZMA Utils і XZ Utils, які +роблять різницю ще помітнішою: +.RS +.PP +.TS +tab(;); +c c c +c n n. +Рівень;xz;LZMA Utils 4.32.x +\-0;3 МіБ;н/д +\-1;9 МіБ;2 МіБ +\-2;17 МіБ;12 МіБ +\-3;32 МіБ;12 МіБ +\-4;48 МіБ;16 МіБ +\-5;94 МіБ;26 МіБ +\-6;94 МіБ;45 МіБ +\-7;186 МіБ;83 МіБ +\-8;370 МіБ;159 МіБ +\-9;674 МіБ;311 МіБ +.TE +.RE +.PP +Типовим рівнем стискання у LZMA Utils є \fB\-7\fP, а у XZ Utils — \fB\-6\fP, отже, +обидва комплекти програм типово використовують словник розміром у 8 МіБ. +. +.SS "Потокові і непотокові файл .lzma" +Розмір нестисненого файла може бути збережено у заголовку \fB.lzma\fP. LZMA +Utils зберігають дані при стисканні звичайних файлів. Альтернативним +підходом є позначення нестисненого розміру як невідомого і використання +позначки кінця вмісту для позначення місця, де засіб розпаковування має +зупинитися. У LZMA Utils цей спосіб використовують, якщо нестиснений розмір +є невідомим, що трапляється, наприклад, для конвеєрів обробки даних. +.PP +У \fBxz\fP передбачено підтримку розпаковування файлів \fB.lzma\fP з позначкою +кінця вмісту та без неї, але усі файли \fB.lzma\fP, які створено за допомогою +\fBxz\fP, використовують позначку кінця вмісту, а нестиснений розмір у +заголовку \fB.lzma\fP позначають як невідомий. Це може призвести до проблем у +деяких нетипових ситуаціях. Наприклад, розпакувальник \fB.lzma\fP у вбудованому +пристрої може працювати лише з файлами, для яких відомий нестиснений +розмір. Якщо ви зіткнулися з цією проблемою, вам слід скористатися LZMA +Utils або LZMA SDK для створення файлів \fB.lzma\fP із відомим розміром +нестиснених даних. +. +.SS "Непідтримувані файли .lzma" +У форматі \fB.lzma\fP можливі значення \fIlc\fP аж до 8 і значення \fIlp\fP аж до +4. LZMA Utils можуть розпаковувати файли із будь\-якими значеннями \fIlc\fP і +\fIlp\fP, але завжди створюють файли з \fBlc=3\fP і \fBlp=0\fP. Створення файлів з +іншими значеннями \fIlc\fP і \fIlp\fP є можливим за допомогою \fBxz\fP і LZMA SDK. +.PP +Реалізація фільтра LZMA1 у liblzma потребує, щоби сума \fIlc\fP і \fIlp\fP не +перевищувала 4. Отже, файли \fB.lzma\fP, у яких перевищено обмеження, не може +бути розпаковано за допомогою \fBxz\fP. +.PP +LZMA Utils створюють лише файли \fB.lzma\fP, які мають розмір словника у 2^\fIn\fP +(степінь 2), але приймають файли із будь\-яким розміром словника. liblzma +приймає лише файли \fB.lzma\fP, які мають розмір словника 2^\fIn\fP або 2^\fIn\fP + +2^(\fIn\fP\-1). Так зроблено для зменшення помилок при виявленні файлів +\&\fB.lzma\fP. +.PP +Ці обмеження не мають призводити до проблем на практиці, оскільки практично +усі файли \fB.lzma\fP було стиснено з використанням параметрів, які приймає +liblzma. +. +.SS "Кінцевий мотлох" +При розпаковуванні LZMA Utils без повідомлень ігнорують усі дані після +першого потоку \fB.lzma\fP. У більшості випадків це пов'язано із вадою у +програмі. Це також означає, що у LZMA Utils не передбачено підтримки +розпаковування з'єднаних файлів \fB.lzma\fP. +.PP +Якщо після першого потоку \fB.lzma\fP лишилися дані, \fBxz\fP вважатиме файл +пошкодженим, якщо не було використано \fB\-\-single\-stream\fP. Це може зашкодити +роботі скриптів, де зроблено припущення, що кінцеві зайві дані буде +проігноровано. +. +.SH ПРИМІТКИ +. +.SS "Стискання даних може бути різним" +Точні стиснені дані, які створено на основі того самого нестисненого файла +вхідних даних, можуть бути різними для різних версій XZ Utils, навіть якщо +використано однакові параметри стискання. Причиною цього є удосконалення у +кодувальнику (пришвидшення або краще стискання) без зміни формату +файлів. Виведені дані можуть бути різними навіть для різних збірок тієї +самої версії XZ Utils, якщо використано різні параметри збирання. +.PP +Написане вище означає, що після реалізації \fB\-\-rsyncable\fP файли\-результати +не обов'язково можна буде синхронізувати за допомогою rsyncable, якщо старий +і новий файли було стиснено за допомогою тієї самої версії xz. Цю проблему +можна усунути, якщо буде заморожено частину реалізації кодувальника, щоб +введені для rsync дані були стабільними між версіями xz. +. +.SS "Вбудовані розпакувальники .xz" +У вбудованих реалізаціях розпакувальника \fB.xz\fP, подібних до XZ Embedded, не +обов'язково передбачено підтримку файлів, які створено із типами +\fIперевірки\fP цілісності, відмінними від \fBnone\fP і \fBcrc32\fP. Оскільки типовим +є \fB\-\-check=crc64\fP, вам слід використовувати \fB\-\-check=none\fP або +\fB\-\-check=crc32\fP при створенні файлів для вбудованих систем. +.PP +Поза вбудованими системами, в усіх засобах розпаковування формату \fB.xz\fP +передбачено підтримку усіх типів \fIперевірок\fP або принаймні можливість +розпакувати файл без перевірки цілісності, якщо підтримки певної +\fIперевірки\fP не передбачено. +.PP +У XZ Embedded передбачено підтримку BCJ, але лише з типовим початковим +зсувом. +. +.SH ПРИКЛАДИ +. +.SS Основи +Стиснути файл \fIfoo\fP до \fIfoo.xz\fP за допомогою типового рівня стискання +(\fB\-6\fP) і вилучити \fIfoo\fP, якщо стискання відбулося успішно: +.RS +.PP +.nf +\f(CWxz foo\fP +.fi +.RE +.PP +Розпакувати \fIbar.xz\fP до \fIbar\fP і не вилучати \fIbar.xz\fP, навіть якщо +розпаковування відбулося успішно: +.RS +.PP +.nf +\f(CWxz \-dk bar.xz\fP +.fi +.RE +.PP +Створити \fIbaz.tar.xz\fP з використанням шаблона \fB\-4e\fP (\fB\-4 \-\-extreme\fP), +який є повільнішими за типовий \fB\-6\fP, але потребує менше пам'яті для +стискання та розпаковування (48\ МіБ та 5\ МіБ, відповідно): +.RS +.PP +.nf +\f(CWtar cf \- baz | xz \-4e > baz.tar.xz\fP +.fi +.RE +.PP +Суміш стиснених і нестиснених файлів можна розпакувати до стандартного +виведення за допомогою єдиної команди: +.RS +.PP +.nf +\f(CWxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fP +.fi +.RE +. +.SS "Паралельне стискання багатьох файлів" +У GNU і *BSD можна скористатися \fBfind\fP(1) і \fBxargs\fP(1) для паралельного +стискання багатьох файлів: +.RS +.PP +.nf +\f(CWfind . \-type f \e! \-name '*.xz' \-print0 \e | xargs \-0r \-P4 \-n16 xz \-T1\fP +.fi +.RE +.PP +Параметр \fB\-P\fP \fBxargs\fP(1) встановлює кількість паралельних процесів +\fBxz\fP. Найкраще значення параметра \fB\-n\fP залежить від того, скільки файлів +має бути стиснено. Якщо файлів мало, значенням, ймовірно, має бути 1. Якщо +файлів десятки тисяч, може знадобитися значення 100 або навіть більше, щоб +зменшити кількість процесів \fBxz\fP, які врешті створить \fBxargs\fP(1). +.PP +Параметр \fB\-T1\fP для \fBxz\fP тут для примусового встановлення однопотокового +режиму, оскільки для керування рівнем паралелізації використано \fBxargs\fP(1). +. +.SS "Режим робота" +Обчислити скільки байтів було заощаджено загалом після стискання декількох +файлів: +.RS +.PP +.nf +\f(CWxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fP +.fi +.RE +.PP +Скрипту можуть знадобитися дані щодо того, що використано достатньо нову +версію \fBxz\fP. У наведеному нижче скрипті \fBsh\fP(1) виконано перевірку того, +що номер версії засобу \fBxz\fP є принаймні рівним 5.0.0. Цей спосіб є сумісним +зі старими тестовими версіями, де не передбачено підтримки параметра +\fB\-\-robot\fP: +.RS +.PP +.nf +\f(CWif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" || [ "$XZ_VERSION" \-lt 50000002 ]; then echo "Your xz is too old." fi unset XZ_VERSION LIBLZMA_VERSION\fP +.fi +.RE +.PP +Встановити обмеження на використання пам'яті для розпаковування за допомогою +\fBXZ_OPT\fP, але якщо обмеження вже було встановлено, не збільшувати його: +.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 "Нетипові ланцюжки фільтрів засобу стискання" +Найпростішим використанням ланцюжка фільтрів є налаштовування шаблона +LZMA2. Це може бути корисним, оскільки у шаблонах використано лише +підмножину потенційно корисних комбінацій параметрів стискання. +.PP +При налаштовуванні шаблонів LZMA2 корисними є стовпчики CompCPU таблиць з +описів параметрів \fB\-0\fP ... \fB\-9\fP і \fB\-\-extreme\fP. Ось відповідні частини з +цих двох таблиць: +.RS +.PP +.TS +tab(;); +c c +n n. +Шаблон;CompCPU +\-0;0 +\-1;1 +\-2;2 +\-3;3 +\-4;4 +\-5;5 +\-6;6 +\-5e;7 +\-6e;8 +.TE +.RE +.PP +Якщо вам відомо, що певний файл потребує дещо більшого словника (наприклад, +32\ МіБ) для якісного стискання, але ви хочете стиснути його швидше за +команду \fBxz \-8\fP, можна внести зміни до шаблона із нижчим значенням CompCPU +(наприклад, 1) для використання більшого словника: +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=1,dict=32MiB foo.tar\fP +.fi +.RE +.PP +Для певних файлів наведена вище команда може працювати швидше за \fBxz \-6\fP і +стискати дані значно краще. Втім, слід наголосити, переваги більшого +словника з одночасним низьким значенням CompCPU проявляються лише для деяких +файлів. Найочевиднішим випадком, коли великий словник є корисним, є випадок, +коли архів містить дуже подібні файли розміром у принаймні декілька +мегабайтів. Розмір словника має бути значно більшим за будь\-який окремий +файл, щоб у LZMA2 було використано усі переваги подібностей між послідовними +файлами. +.PP +Якщо дуже високий рівень використання пам'яті у засобі стискання або +розпаковування не є проблемою, і файли, який стискають має об'єм у принаймні +декілька десятків мегабайтів, може бути корисним використання навіть +більшого за 64 МіБ словника, який використано у \fBxz \-9\fP: +.RS +.PP +.nf +\f(CWxz \-vv \-\-lzma2=dict=192MiB big_foo.tar\fP +.fi +.RE +.PP +Використання \fB\-vv\fP (\fB\-\-verbose \-\-verbose\fP), подібно до наведеного вище +прикладу, може бути корисним для перегляду вимог з боку засобів стискання та +розпаковування до пам'яті. Пам'ятайте, що використання словника, розмір +якого перевищує розмір файла, який стискають, є простоюю витратою пам'яті, +отже наведену вище команду не варто використовувати для малих файлів. +.PP +Іноді час стискання не має значення, але використання пам'яті засобом +розпаковування має бути низьким для того, щоб, наприклад, уможливити +розпаковування файла у вбудованій системі. У наведеній нижче команді +використано \fB\-6e\fP (\fB\-6 \-\-extreme\fP) як основу і встановлено розмір словника +лише у 64\ КіБ. Файл\-результат можна розпакувати за допомогою XZ Embedded +(ось чому використано \fB\-\-check=crc32\fP) з використанням лише 100\ КіБ +пам'яті. +.RS +.PP +.nf +\f(CWxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo\fP +.fi +.RE +.PP +Якщо вам потрібно витиснути зі стискання максимальну кількість байтів, може +допомогти коригування кількості бітів контексту літералів (\fIlc\fP) та +кількість позиційних бітів (\fIpb\fP). Також може допомогти коригування +кількості бітів позиції літералів (\fIlp\fP), але, зазвичай, важливішими є +\fIlc\fP і \fIpb\fP. Наприклад, в архівах зі початковим кодом міститься +здебільшого текст US\-ASCII, щось подібне до наведеного нижче може дещо (на +щось близьке до 0,1\ %) зменшити файл, порівняно із \fBxz \-6e\fP (спробуйте +також без \fBlc=4\fP): +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=6e,pb=0,lc=4 source_code.tar\fP +.fi +.RE +.PP +Використання іншого фільтра разом із LZMA2 може покращити стискання для +певних типів файлів. Наприклад, для стискання бібліотеки спільного +користування x86\-32 або x86\-64 з використанням фільтра BCJ x86 скористайтеся +такою командою: +.RS +.PP +.nf +\f(CWxz \-\-x86 \-\-lzma2 libfoo.so\fP +.fi +.RE +.PP +Зауважте, що порядок параметрів фільтрування має значення. Якщо \fB\-\-x86\fP +вказано після \fB\-\-lzma2\fP, \fBxz\fP повідомить про помилку, оскільки після LZMA2 +не може бути жодного фільтра, а також оскільки фільтр BCJ x86 не можна +використовувати як останній фільтр у ланцюжку. +.PP +Фільтр Delta разом із LZMA2 може дати добрі результати для растрових +зображень. Зазвичай, результати є кращими за формат PNG, у якого є декілька +більш досконалих фільтрів, ніж проста дельта, але там використовують для +стискання Deflate. +.PP +Зображення слід берегти у нестисненому форматі, наприклад, як нестиснений +TIFF. Параметр відстані фільтра Delta встановлюють так, щоб він збігався із +кількістю байтів на піксель у зображенні. Наприклад, для 24\-бітового +растрового зображення RGB слід вказати \fBdist=3\fP, а також добре передати +\fBpb=0\fP до LZMA2 для пристосовування до трибайтового вирівнювання: +.RS +.PP +.nf +\f(CWxz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff\fP +.fi +.RE +.PP +Якщо в один архів запаковано декілька зображень (наприклад, в архів +\&\fB.tar\fP), фільтр Delta також даватиме добрі результати, якщо у всіх +зображеннях однакова кількість байтів для кожного пікселя. +. +.SH "ДИВ. ТАКОЖ" +\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 Utils: <https://xz.tukaani.org/xz\-utils/> +.br +Вбудовуваний XZ: <https://xz.tukaani.org/xz\-embedded/> +.br +LZMA SDK: <https://7\-zip.org/sdk.html> diff --git a/po4a/man/uk/xzdec.1 b/po4a/man/uk/xzdec.1 new file mode 100644 index 00000000..5f0ca930 --- /dev/null +++ b/po4a/man/uk/xzdec.1 @@ -0,0 +1,85 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Author: Lasse Collin +.\" +.\" Ukrainian translation for xz-man. +.\" Yuri Chornoivan <yurchor@ukr.net>, 2019, 2022, 2023, 2024. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 "19 січня 2024 року" Tukaani "XZ Utils" +.SH НАЗВА +xzdec, lzmadec — невеличкі розпакувальники .xz і .lzma +.SH "КОРОТКИЙ ОПИС" +\fBxzdec\fP [\fIпараметр...\fP] [\fIфайл...\fP] +.br +\fBlzmadec\fP [\fIпараметр...\fP] [\fIфайл...\fP] +.SH ОПИС +\fBxzdec\fP є інструментом на основі liblzma, який призначено лише для +розпаковування файлів \fB.xz\fP (і лише файлів \fB.xz\fP). \fBxzdec\fP призначено для +того, щоб працювати як повноцінний замінник \fBxz\fP(1) у більшості типових +ситуацій, де скрипт було написано для використання \fBxz \-\-decompress \-\-stdout\fP (і, можливо, декількох інших типових параметрів), для +розпаковування файлів \fB.xz\fP. \fBlzmadec\fP є тотожним до \fBxzdec\fP, але у +\fBlzmadec\fP передбачено підтримку файлів \fB.lzma\fP, замість файлів \fB.xz\fP. +.PP +Щоб зменшити розмір виконуваного файла, у \fBxzdec\fP не передбачено підтримки +багатопотокової обробки та локалізації, а також читання параметрів зі +змінних середовища \fBXZ_DEFAULTS\fP і \fBXZ_OPT\fP. У \fBxzdec\fP не передбачено +підтримки показу проміжних даних щодо поступу: надсилання \fBSIGINFO\fP до +\fBxzdec\fP не призводить ні до яких наслідків, але надсилання \fBSIGUSR1\fP +перериває процес, замість показу даних щодо поступу. +.SH ПАРАМЕТРИ +.TP +\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP +Буде проігноровано для сумісності з \fBxz\fP(1). У \fBxzdec\fP передбачено +підтримку лише розпаковування. +.TP +\fB\-k\fP, \fB\-\-keep\fP +Буде проігноровано. Призначено для сумісності з \fBxz\fP(1). \fBxzdec\fP ніколи не +створюватиме і ніколи не вилучатиме ці файли. +.TP +\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP +Буде проігноровано. Для сумісності з \fBxz\fP(1). \fBxzdec\fP завжди записує +розпаковані дані до стандартного виведення. +.TP +\fB\-q\fP, \fB\-\-quiet\fP +Якщо цей параметр вказано один раз, нічого не станеться, оскільки \fBxzdec\fP +ніколи не показуватиме жодних попереджень або нотаток. Вкажіть параметр +двічі, щоб придушити повідомлення про помилки. +.TP +\fB\-Q\fP, \fB\-\-no\-warn\fP +Буде проігноровано для сумісності із \fBxz\fP(1). \fBxzdec\fP ніколи не +використовує стан виходу 2. +.TP +\fB\-h\fP, \fB\-\-help\fP +Вивести довідкове повідомлення і успішно завершити роботу. +.TP +\fB\-V\fP, \fB\-\-version\fP +Вивести номер версії \fBxzdec\fP та liblzma. +.SH "СТАН ВИХОДУ" +.TP +\fB0\fP +Усе добре. +.TP +\fB1\fP +Сталася помилка. +.PP +\fBxzdec\fP не має жодних повідомлень із попередженнями, на відміну від +\fBxz\fP(1), тому у \fBxzdec\fP стан виходу 2 не використовується. +.SH ПРИМІТКИ +Користуйтеся \fBxz\fP(1), замість \fBxzdec\fP або \fBlzmadec\fP, для щоденних +потреб. \fBxzdec\fP та \fBlzmadec\fP призначено лише для тих ситуацій, коли +важливо мати меншу програму для розпаковування, ніж \fBxz\fP(1). +.PP +\fBxzdec\fP і \fBlzmadec\fP не такі вже і малі програми. Їхній розмір можна +зменшити викиданням можливостей з liblzma під час збирання, але цього +зазвичай не роблять для виконуваних файлів, які поширюються у типових, не +вбудованих, дистрибутивах операційних систем. Якщо вам потрібний дуже мала +програма для розпаковування \fB.xz\fP, варто скористатися XZ Embedded. +.SH "ДИВ. ТАКОЖ" +\fBxz\fP(1) +.PP +Вбудовуваний XZ: <https://xz.tukaani.org/xz\-embedded/> diff --git a/po4a/man/uk/xzdiff.1 b/po4a/man/uk/xzdiff.1 new file mode 100644 index 00000000..4b41aafe --- /dev/null +++ b/po4a/man/uk/xzdiff.1 @@ -0,0 +1,55 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" Ukrainian translation for xz-man. +.\" Yuri Chornoivan <yurchor@ukr.net>, 2019, 2022, 2023, 2024. +.\" +.\" (Note that this file is not based on gzip's zdiff.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDIFF 1 "13 лютого 2024 року" Tukaani "XZ Utils" +.SH НАЗВА +xzcmp, xzdiff, lzcmp, lzdiff — порівняння стиснених файлів +. +.SH "КОРОТКИЙ ОПИС" +\fBxzcmp\fP [\fIпараметр...\fP] \fIфайл1\fP [\fIфайл2\fP] +.br +\fBxzdiff\fP \&... +.br +\fBlzcmp\fP \&... +.br +\fBlzdiff\fP \&... +. +.SH ОПИС +\fBxzcmp\fP і \fBxzdiff\fP порівнюють нестиснені дані двох файлів. Нестиснені дані +та параметри буде передано \fBcmp\fP(1) або \fBdiff\fP(1), якщо не вказано +\fB\-\-help\fP або \fB\-\-version\fP. +.PP +Якщо вказано одразу \fIфайл1\fP і \fIфайл2\fP, це можуть бути нестиснені файли або +файли у форматах, які може бути розпаковано за допомогою \fBxz\fP(1), +\fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1) або \fBlz4\fP(1). Потрібні +команди розпаковування визначаються з суфіксів назв файлів \fIфайл1\fP і +\fIфайл2\fP. Файли із невідомими програмі суфіксами вважатимуться або +нестисненими або такими, що мають формат, дані у якому може розпаковувати +\fBxz\fP(1). +.PP +Якщо вказано лише одну назву файла, \fIфайл1\fP повинен мати суфікс +підтримуваного формату стискання, а назвою \fIфайл2\fP має бути назва \fIфайл1\fP +з вилученим суфіксом формату стискання. +.PP +Працездатність команд \fBlzcmp\fP і \fBlzdiff\fP забезпечено для зворотної +сумісності із LZMA Utils. +. +.SH "СТАН ВИХОДУ" +Якщо станеться помилка розпаковування, станом виходу буде \fB2\fP. Інакше, +станом виходу буде \fBcmp\fP(1) або буде використано \fBdiff\fP(1). +. +.SH "ДИВ. ТАКОЖ" +\fBcmp\fP(1), \fBdiff\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), +\fBzstd\fP(1), \fBlz4\fP(1) diff --git a/po4a/man/uk/xzgrep.1 b/po4a/man/uk/xzgrep.1 new file mode 100644 index 00000000..a763728e --- /dev/null +++ b/po4a/man/uk/xzgrep.1 @@ -0,0 +1,95 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Lasse Collin +.\" Jia Tan +.\" +.\" Ukrainian translation for xz-man. +.\" Yuri Chornoivan <yurchor@ukr.net>, 2019, 2022, 2023, 2024. +.\" +.\" (Note that this file is not based on gzip's zgrep.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZGREP 1 "13 лютого 2024 року" Tukaani "XZ Utils" +.SH НАЗВА +xzgrep — пошук взірців у ймовірно стиснених файлах +. +.SH "КОРОТКИЙ ОПИС" +\fBxzgrep\fP [\fIпараметр...\fP] [\fIсписок_взірців\fP] [\fIфайл...\fP] +.br +\fBxzegrep\fP \&... +.br +\fBxzfgrep\fP \&... +.br +\fBlzgrep\fP \&... +.br +\fBlzegrep\fP \&... +.br +\fBlzfgrep\fP \&... +. +.SH ОПИС +\fBxzgrep\fP викликає \fBgrep\fP(1) для розпакованих даних файлів. Формати +\fIфайлів\fP визначатимуться з суфіксів назв файлів. Будь\-який \fIфайл\fP із +суфіксом назви, підтримку якого передбачено у \fBxz\fP(1), \fBgzip\fP(1), +\fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1) або \fBlz4\fP(1), буде розпаковано; усі +інші файли вважатимуться нестисненими. +.PP +Якщо не вказано аргументу \fIфайли\fP або замість \fIфайл\fP вказано \fB\-\fP, дані +буде прочитано зі стандартного джерела вхідних даних. При читанні зі +стандартного джерела буде розпаковано лише файли, підтримку яких передбачено +у \fBxz\fP(1). Інші файли вважатимуться такими, що вже перебувають у +нестисненому форматі. +.PP +Передбачено підтримку більшості \fIпараметрів\fP \fBgrep\fP(1). Втім, підтримки +цих параметрів не передбачено: +.IP "" 4 +\fB\-r\fP, \fB\-\-recursive\fP +.IP "" 4 +\fB\-R\fP, \fB\-\-dereference\-recursive\fP +.IP "" 4 +\fB\-d\fP, \fB\-\-directories=\fP\fIдія\fP +.IP "" 4 +\fB\-Z\fP, \fB\-\-null\fP +.IP "" 4 +\fB\-z\fP, \fB\-\-null\-data\fP +.IP "" 4 +\fB\-\-include=\fP\fIglob\fP +.IP "" 4 +\fB\-\-exclude=\fP\fIglob\fP +.IP "" 4 +\fB\-\-exclude\-from=\fP\fIфайл\fP +.IP "" 4 +\fB\-\-exclude\-dir=\fP\fIglob\fP +.PP +\fBxzegrep\fP є альтернативним записом \fBxzgrep \-E\fP. \fBxzfgrep\fP є +альтернативним записом \fBxzgrep \-F\fP. +.PP +Працездатність команд \fBlzgrep\fP, \fBlzegrep\fP і \fBlzfgrep\fP забезпечено для +зворотної сумісності із LZMA Utils. +. +.SH "СТАН ВИХОДУ" +.TP +0 +В одному з файлів вхідних даних знайдено принаймні одну +відповідність. Помилок не сталося. +.TP +1 +У жодному з файлів вхідних даних не знайдено відповідника. Не сталося ніяких +помилок. +.TP +>1 +Сталася одна або декілька помилок. Невідомо, чи було знайдено відповідники +критерію пошуку. +. +.SH СЕРЕДОВИЩЕ +.TP +\fBGREP\fP +Якщо для змінної середовища \fBGREP\fP встановлено непорожнє значення, його +буде використано замість \fBgrep\fP(1), \fBgrep \-E\fP або \fBgrep \-F\fP. +. +.SH "ДИВ. ТАКОЖ" +\fBgrep\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1), +\fBlz4\fP(1), \fBzgrep\fP(1) diff --git a/po4a/man/uk/xzless.1 b/po4a/man/uk/xzless.1 new file mode 100644 index 00000000..9c355650 --- /dev/null +++ b/po4a/man/uk/xzless.1 @@ -0,0 +1,48 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" Ukrainian translation for xz-man. +.\" Yuri Chornoivan <yurchor@ukr.net>, 2019, 2022, 2023, 2024. +.\" +.\" (Note that this file is not based on gzip's zless.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZLESS 1 "12 лютого 2024 року" Tukaani "XZ Utils" +.SH НАЗВА +xzless, lzless — перегляд стиснених xz або lzma (текстових) файлів +.SH "КОРОТКИЙ ОПИС" +\fBxzless\fP [\fIфайл\fP...] +.br +\fBlzless\fP [\fIфайл\fP...] +.SH ОПИС +\fBxzless\fP є фільтром, який показує текст зі стиснених файлів у +терміналі. Файли, підтримку обробки яких передбачено у \fBxz\fP(1), буде +розпаковано; інші файли вважатимуться нестисненими. Якщо не вказано жодного +\fIфайла\fP, \fBxzless\fP читатиме дані зі стандартного джерела вхідних даних. +.PP +Для показу виведених даних \fBxzless\fP використовує \fBless\fP(1). На відміну від +\fBxzmore\fP, вибір програми для поділу на сторінки не можна змінити за +допомогою змінної середовища. Команди засновано на \fBmore\fP(1) і \fBvi\fP(1). За +допомогою команд можна просуватися назад і вперед даними та шукати дані. Щоб +дізнатися більше, ознайомтеся із підручником з \fBless\fP(1). +.PP +Команду \fBlzless\fP реалізовано для забезпечення зворотної сумісності з LZMA +Utils. +.SH СЕРЕДОВИЩЕ +.TP +\fBLESSMETACHARS\fP +Список символів, які є особливими символами командної +оболонки. Встановлюється \fBxzless\fP, якщо його ще не встановлено у +середовищі. +.TP +\fBLESSOPEN\fP +Має значення рядка команди для виклику засобу розпаковування \fBxz\fP(1) для +обробки вхідних файлів \fBless\fP(1). +.SH "ДИВ. ТАКОЖ" +\fBless\fP(1), \fBxz\fP(1), \fBxzmore\fP(1), \fBzless\fP(1) diff --git a/po4a/man/uk/xzmore.1 b/po4a/man/uk/xzmore.1 new file mode 100644 index 00000000..ade3d1ba --- /dev/null +++ b/po4a/man/uk/xzmore.1 @@ -0,0 +1,48 @@ +.\" SPDX-License-Identifier: 0BSD +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" Ukrainian translation for xz-man. +.\" Yuri Chornoivan <yurchor@ukr.net>, 2019, 2022, 2023, 2024. +.\" +.\" (Note that this file is based on xzless.1 instead of gzip's zmore.1.) +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZMORE 1 "12 лютого 2024 року" Tukaani "XZ Utils" +.SH НАЗВА +xzmore, lzmore — перегляд стиснених xz або lzma (текстових) файлів +. +.SH "КОРОТКИЙ ОПИС" +\fBxzmore\fP [\fIфайл\fP...] +.br +\fBlzmore\fP [\fIфайл\fP...] +. +.SH ОПИС +\fBxzmore\fP показує текст зі стиснених файлів у терміналі за допомогою +\fBmore\fP(1). Файли, підтримку яких передбачено у \fBxz\fP(1), буде розпаковано; +інші файли вважатимуться вже наданими у розпакованій формі. Якщо не вказано +аргументу \fIфайли\fP, \fBxzmore\fP читатиме дані зі стандартного джерела +даних. Див. підручник з \fBmore\fP(1), щоб дізнатися більше про клавіатурні +команди. +.PP +Зауважте, що гортання у зворотному напрямку може бути неможливим через +реалізацію \fBmore\fP(1). Причиною є те, що \fBxzmore\fP використовує канал для +передавання розпакованих даних \fBmore\fP(1). \fBxzless\fP(1) використовує +\fBless\fP(1), можливості якої є ширшими. +.PP +Команду \fBlzmore\fP реалізовано для забезпечення зворотної сумісності з LZMA +Utils. +. +.SH СЕРЕДОВИЩЕ +.TP +\fBPAGER\fP +Якщо встановлено значення \fBPAGER\fP, значення буде використано для засобу +поділу на сторінки, замість \fBmore\fP(1). +. +.SH "ДИВ. ТАКОЖ" +\fBmore\fP(1), \fBxz\fP(1), \fBxzless\fP(1), \fBzmore\fP(1) diff --git a/po4a/pt_BR.po b/po4a/pt_BR.po index 98fcd140..ef32a422 100644 --- a/po4a/pt_BR.po +++ b/po4a/pt_BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: xz-man 5.4.0-pre2\n" -"POT-Creation-Date: 2024-02-22 22:35+0800\n" +"POT-Creation-Date: 2024-02-24 16:22+0800\n" "PO-Revision-Date: 2023-01-26 13:29-0300\n" "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n" "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge." @@ -1777,6 +1777,13 @@ msgid "" "means that B<xz> won't be able decompress the files in multi-threaded mode." msgstr "" +#. type: TP +#: ../src/xz/xz.1:922 +#, fuzzy, no-wrap +#| msgid "B<--block-size=>I<size>" +msgid "B<--block-list=>I<items>" +msgstr "B<--block-size=>I<tamanho>" + #. type: Plain text #: ../src/xz/xz.1:928 msgid "" @@ -2370,6 +2377,13 @@ msgstr "" "B<--verbose> duas vezes). Isso também funciona para visualizar as opções da " "cadeia de filtros usadas pelas predefinições." +#. type: TP +#: ../src/xz/xz.1:1392 +#, fuzzy, no-wrap +#| msgid "B<--files>[B<=>I<file>]" +msgid "B<--filters=>I<filters>" +msgstr "B<--files>[B<=>I<arquivo>]" + #. type: Plain text #: ../src/xz/xz.1:1413 msgid "" @@ -2402,6 +2416,13 @@ msgid "" "and the text part only the LZMA2 filter." msgstr "" +#. type: TP +#: ../src/xz/xz.1:1421 +#, fuzzy, no-wrap +#| msgid "B<-h>, B<--help>" +msgid "B<--filters-help>" +msgstr "B<-h>, B<--help>" + #. type: Plain text #: ../src/xz/xz.1:1431 msgid "" @@ -4040,6 +4061,13 @@ msgstr "" "ser adicionadas aos tipos de linha existentes, mas as colunas existentes não " "serão alteradas." +#. type: SS +#: ../src/xz/xz.1:2382 +#, fuzzy, no-wrap +#| msgid "Filter" +msgid "Filters help" +msgstr "Filtro" + #. type: Plain text #: ../src/xz/xz.1:2385 msgid "" @@ -4054,6 +4082,27 @@ msgid "" ">I<option>B<=E<lt>>I<value>B<E<gt>>..." msgstr "" +#. type: TP +#: ../src/xz/xz.1:2387 +#, fuzzy, no-wrap +#| msgid "B<file>" +msgid "I<filter>" +msgstr "B<file>" + +#. type: Plain text +#: ../src/xz/xz.1:2390 +#, fuzzy +#| msgid "Name of the integrity check" +msgid "Name of the filter" +msgstr "Nome da verificação de integridade" + +#. type: TP +#: ../src/xz/xz.1:2390 +#, fuzzy, no-wrap +#| msgid "Supported I<options>:" +msgid "I<option>" +msgstr "I<Opções> suportadas:" + #. type: Plain text #: ../src/xz/xz.1:2393 msgid "Name of a filter specific option" @@ -5448,6 +5497,34 @@ msgid "xzcmp, xzdiff, lzcmp, lzdiff - compare compressed files" msgstr "xzcmp, xzdiff, lzcmp, lzdiff - compara arquivos compactados" #. type: Plain text +#: ../src/scripts/xzdiff.1:17 +#, fuzzy +#| msgid "B<xz> [I<option...>] [I<file...>]" +msgid "B<xzcmp> [I<option...>] I<file1> [I<file2>]" +msgstr "B<xz> [I<opção...>] [I<arquivo...>]" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:20 +#, fuzzy +#| msgid "B<xzfgrep> \\&..." +msgid "B<xzdiff> \\&..." +msgstr "B<xzfgrep> \\&..." + +#. type: Plain text +#: ../src/scripts/xzdiff.1:23 +#, fuzzy +#| msgid "B<lzgrep> \\&..." +msgid "B<lzcmp> \\&..." +msgstr "B<lzgrep> \\&..." + +#. type: Plain text +#: ../src/scripts/xzdiff.1:26 +#, fuzzy +#| msgid "B<lzfgrep> \\&..." +msgid "B<lzdiff> \\&..." +msgstr "B<lzfgrep> \\&..." + +#. type: Plain text #: ../src/scripts/xzdiff.1:41 msgid "" "B<xzcmp> and B<xzdiff> compare uncompressed contents of two files. " @@ -5475,12 +5552,38 @@ msgid "" msgstr "" #. type: Plain text +#: ../src/scripts/xzdiff.1:78 +#, fuzzy +#| msgid "" +#| "The command named B<lzless> is provided for backward compatibility with " +#| "LZMA Utils." +msgid "" +"The commands B<lzcmp> and B<lzdiff> are provided for backward compatibility " +"with LZMA Utils." +msgstr "" +"O comando denominado B<lzless> é fornecido para compatibilidade com versões " +"anteriores do LZMA Utils." + +#. type: Plain text #: ../src/scripts/xzdiff.1:87 msgid "" "If a decompression error occurs, the exit status is B<2>. Otherwise the " "exit status of B<cmp>(1) or B<diff>(1) is used." msgstr "" +#. type: Plain text +#: ../src/scripts/xzdiff.1:96 +#, fuzzy +#| msgid "" +#| "B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), " +#| "B<gzip>(1), B<bzip2>(1), B<7z>(1)" +msgid "" +"B<cmp>(1), B<diff>(1), B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), " +"B<zstd>(1), B<lz4>(1)" +msgstr "" +"B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), " +"B<gzip>(1), B<bzip2>(1), B<7z>(1)" + #. type: TH #: ../src/scripts/xzgrep.1:8 #, no-wrap @@ -5493,6 +5596,13 @@ msgid "xzgrep - search possibly-compressed files for patterns" msgstr "" #. type: Plain text +#: ../src/scripts/xzgrep.1:17 +#, fuzzy +#| msgid "B<xz> [I<option...>] [I<file...>]" +msgid "B<xzgrep> [I<option...>] [I<pattern_list>] [I<file...>]" +msgstr "B<xz> [I<opção...>] [I<arquivo...>]" + +#. type: Plain text #: ../src/scripts/xzgrep.1:20 msgid "B<xzegrep> \\&..." msgstr "B<xzegrep> \\&..." @@ -5544,11 +5654,60 @@ msgid "" msgstr "" #. type: Plain text +#: ../src/scripts/xzgrep.1:75 +#, fuzzy +#| msgid "B<-v>, B<--verbose>" +msgid "B<-r>, B<--recursive>" +msgstr "B<-v>, B<--verbose>" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:78 +#, fuzzy +#| msgid "B<-f>, B<--force>" +msgid "B<-R>, B<--dereference-recursive>" +msgstr "B<-f>, B<--force>" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:81 +#, fuzzy +#| msgid "B<-V>, B<--version>" +msgid "B<-d>, B<--directories=>I<action>" +msgstr "B<-V>, B<--version>" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:84 +#, fuzzy +#| msgid "B<-l>, B<--list>" +msgid "B<-Z>, B<--null>" +msgstr "B<-l>, B<--list>" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:87 +#, fuzzy +#| msgid "B<-l>, B<--list>" +msgid "B<-z>, B<--null-data>" +msgstr "B<-l>, B<--list>" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:89 +#, fuzzy +#| msgid "B<--files>[B<=>I<file>]" +msgid "B<--include=>I<glob>" +msgstr "B<--files>[B<=>I<arquivo>]" + +#. type: Plain text #: ../src/scripts/xzgrep.1:91 msgid "B<--exclude=>I<glob>" msgstr "" #. type: Plain text +#: ../src/scripts/xzgrep.1:93 +#, fuzzy +#| msgid "B<--files>[B<=>I<file>]" +msgid "B<--exclude-from=>I<file>" +msgstr "B<--files>[B<=>I<arquivo>]" + +#. type: Plain text #: ../src/scripts/xzgrep.1:95 msgid "B<--exclude-dir=>I<glob>" msgstr "" @@ -5561,6 +5720,19 @@ msgid "" msgstr "" #. type: Plain text +#: ../src/scripts/xzgrep.1:109 +#, fuzzy +#| msgid "" +#| "The command named B<lzless> is provided for backward compatibility with " +#| "LZMA Utils." +msgid "" +"The commands B<lzgrep>, B<lzegrep>, and B<lzfgrep> are provided for backward " +"compatibility with LZMA Utils." +msgstr "" +"O comando denominado B<lzless> é fornecido para compatibilidade com versões " +"anteriores do LZMA Utils." + +#. type: Plain text #: ../src/scripts/xzgrep.1:115 msgid "" "At least one match was found from at least one of the input files. No " @@ -5601,6 +5773,19 @@ msgid "" "B<grep -E>, or B<grep -F>." msgstr "" +#. type: Plain text +#: ../src/scripts/xzgrep.1:144 +#, fuzzy +#| msgid "" +#| "B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), " +#| "B<gzip>(1), B<bzip2>(1), B<7z>(1)" +msgid "" +"B<grep>(1), B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), B<zstd>(1), " +"B<lz4>(1), B<zgrep>(1)" +msgstr "" +"B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), " +"B<gzip>(1), B<bzip2>(1), B<7z>(1)" + #. type: TH #: ../src/scripts/xzless.1:8 #, no-wrap @@ -5708,6 +5893,20 @@ msgid "xzmore, lzmore - view xz or lzma compressed (text) files" msgstr "xzmore, lzmore - visualiza arquivos (texto) compactados em xz ou lzma" #. type: Plain text +#: ../src/scripts/xzmore.1:15 +#, fuzzy +#| msgid "B<xzless> [I<file>...]" +msgid "B<xzmore> [I<file>...]" +msgstr "B<xzless> [I<arquivo>...]" + +#. type: Plain text +#: ../src/scripts/xzmore.1:18 +#, fuzzy +#| msgid "B<lzless> [I<file>...]" +msgid "B<lzmore> [I<file>...]" +msgstr "B<lzless> [I<arquivo>...]" + +#. type: Plain text #: ../src/scripts/xzmore.1:35 msgid "" "B<xzmore> displays text from compressed files to a terminal using " @@ -5726,6 +5925,18 @@ msgid "" "provides more advanced features." msgstr "" +#. type: Plain text +#: ../src/scripts/xzmore.1:51 +#, fuzzy +#| msgid "" +#| "The command named B<lzless> is provided for backward compatibility with " +#| "LZMA Utils." +msgid "" +"The command B<lzmore> is provided for backward compatibility with LZMA Utils." +msgstr "" +"O comando denominado B<lzless> é fornecido para compatibilidade com versões " +"anteriores do LZMA Utils." + #. type: TP #: ../src/scripts/xzmore.1:53 #, no-wrap diff --git a/po4a/pt_BR.po.authors b/po4a/pt_BR.po.authors new file mode 100644 index 00000000..90e7b125 --- /dev/null +++ b/po4a/pt_BR.po.authors @@ -0,0 +1,5 @@ +PO4A-HEADER: position=^\.\\" Author; mode=after; beginboundary=^\.\\"$ +.\" +.\" Brazilian Portuguese translations for xz package +.\" Traduções em português brasileiro para o pacote xz. +.\" Rafael Fontenelle <rafaelff@gnome.org>, 2022-2023. diff --git a/po4a/ro.po.authors b/po4a/ro.po.authors new file mode 100644 index 00000000..745d94f2 --- /dev/null +++ b/po4a/ro.po.authors @@ -0,0 +1,13 @@ +PO4A-HEADER: position=^\.\\" Author; mode=after; beginboundary=^\.\\"$ +.\" +.\" Romanian translation for xz-man. +.\" Mesajele în limba română pentru manualul pachetului XZ Utils. +.\" Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2024. +.\" Cronologia traducerii fișierului „xz-man”: +.\" Traducerea inițială, făcută de R-GC, pentru versiunea xz-man 5.4.0-pre1. +.\" Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022. +.\" Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023. +.\" Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre1, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea 5.6.0-pre2, făcută de R-GC, feb-2024. +.\" Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). diff --git a/po4a/uk.po.authors b/po4a/uk.po.authors new file mode 100644 index 00000000..28c23fee --- /dev/null +++ b/po4a/uk.po.authors @@ -0,0 +1,4 @@ +PO4A-HEADER: position=^\.\\" Author; mode=after; beginboundary=^\.\\"$ +.\" +.\" Ukrainian translation for xz-man. +.\" Yuri Chornoivan <yurchor@ukr.net>, 2019, 2022, 2023, 2024. diff --git a/po4a/xz-man.pot b/po4a/xz-man.pot new file mode 100644 index 00000000..3bcbb198 --- /dev/null +++ b/po4a/xz-man.pot @@ -0,0 +1,4905 @@ +# SPDX-License-Identifier: 0BSD +# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) The XZ Utils authors and contributors +# This file is published under the BSD Zero Clause License. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: XZ Utils 5.6.0\n" +"POT-Creation-Date: 2024-02-24 16:32+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: ../src/xz/xz.1:7 +#, no-wrap +msgid "XZ" +msgstr "" + +#. type: TH +#: ../src/xz/xz.1:7 ../src/scripts/xzdiff.1:8 ../src/scripts/xzgrep.1:8 +#, no-wrap +msgid "2024-02-13" +msgstr "" + +#. type: TH +#: ../src/xz/xz.1:7 ../src/xzdec/xzdec.1:5 ../src/lzmainfo/lzmainfo.1:5 +#: ../src/scripts/xzdiff.1:8 ../src/scripts/xzgrep.1:8 +#: ../src/scripts/xzless.1:8 ../src/scripts/xzmore.1:8 +#, no-wrap +msgid "Tukaani" +msgstr "" + +#. type: TH +#: ../src/xz/xz.1:7 ../src/xzdec/xzdec.1:5 ../src/lzmainfo/lzmainfo.1:5 +#: ../src/scripts/xzdiff.1:8 ../src/scripts/xzgrep.1:8 +#: ../src/scripts/xzless.1:8 ../src/scripts/xzmore.1:8 +#, no-wrap +msgid "XZ Utils" +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:9 ../src/xzdec/xzdec.1:6 ../src/lzmainfo/lzmainfo.1:6 +#: ../src/scripts/xzdiff.1:9 ../src/scripts/xzgrep.1:9 +#: ../src/scripts/xzless.1:9 ../src/scripts/xzmore.1:9 +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:11 +msgid "" +"xz, unxz, xzcat, lzma, unlzma, lzcat - Compress or decompress .xz and .lzma " +"files" +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:12 ../src/xzdec/xzdec.1:8 ../src/lzmainfo/lzmainfo.1:8 +#: ../src/scripts/xzdiff.1:12 ../src/scripts/xzgrep.1:12 +#: ../src/scripts/xzless.1:11 ../src/scripts/xzmore.1:12 +#, no-wrap +msgid "SYNOPSIS" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:16 +msgid "B<xz> [I<option...>] [I<file...>]" +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:17 +#, no-wrap +msgid "COMMAND ALIASES" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:21 +msgid "B<unxz> is equivalent to B<xz --decompress>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:25 +msgid "B<xzcat> is equivalent to B<xz --decompress --stdout>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:29 +msgid "B<lzma> is equivalent to B<xz --format=lzma>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:33 +msgid "B<unlzma> is equivalent to B<xz --format=lzma --decompress>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:37 +msgid "B<lzcat> is equivalent to B<xz --format=lzma --decompress --stdout>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:49 +msgid "" +"When writing scripts that need to decompress files, it is recommended to " +"always use the name B<xz> with appropriate arguments (B<xz -d> or B<xz -dc>) " +"instead of the names B<unxz> and B<xzcat>." +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:50 ../src/xzdec/xzdec.1:16 ../src/lzmainfo/lzmainfo.1:13 +#: ../src/scripts/xzdiff.1:27 ../src/scripts/xzgrep.1:33 +#: ../src/scripts/xzless.1:17 ../src/scripts/xzmore.1:19 +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:69 +msgid "" +"B<xz> is a general-purpose data compression tool with command line syntax " +"similar to B<gzip>(1) and B<bzip2>(1). The native file format is the " +"B<.xz> format, but the legacy B<.lzma> format used by LZMA Utils and raw " +"compressed streams with no container format headers are also supported. In " +"addition, decompression of the B<.lz> format used by B<lzip> is supported." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:91 +msgid "" +"B<xz> compresses or decompresses each I<file> according to the selected " +"operation mode. If no I<files> are given or I<file> is B<->, B<xz> reads " +"from standard input and writes the processed data to standard output. B<xz> " +"will refuse (display an error and skip the I<file>) to write compressed " +"data to standard output if it is a terminal. Similarly, B<xz> will refuse " +"to read compressed data from standard input if it is a terminal." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:101 +msgid "" +"Unless B<--stdout> is specified, I<files> other than B<-> are written to a " +"new file whose name is derived from the source I<file> name:" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:101 ../src/xz/xz.1:107 ../src/xz/xz.1:132 ../src/xz/xz.1:137 +#: ../src/xz/xz.1:140 ../src/xz/xz.1:143 ../src/xz/xz.1:159 ../src/xz/xz.1:420 +#: ../src/xz/xz.1:423 ../src/xz/xz.1:430 ../src/xz/xz.1:675 ../src/xz/xz.1:677 +#: ../src/xz/xz.1:776 ../src/xz/xz.1:787 ../src/xz/xz.1:796 ../src/xz/xz.1:802 +#: ../src/xz/xz.1:965 ../src/xz/xz.1:969 ../src/xz/xz.1:973 ../src/xz/xz.1:977 +#: ../src/xz/xz.1:981 ../src/xz/xz.1:983 ../src/xz/xz.1:1079 +#: ../src/xz/xz.1:1088 ../src/xz/xz.1:1100 ../src/xz/xz.1:1837 +#: ../src/xz/xz.1:1843 ../src/xz/xz.1:1884 ../src/xz/xz.1:1889 +#: ../src/xz/xz.1:1904 ../src/xz/xz.1:1908 ../src/xz/xz.1:1986 +#: ../src/xz/xz.1:1990 ../src/xz/xz.1:1993 ../src/xz/xz.1:1996 +#: ../src/xz/xz.1:2000 ../src/xz/xz.1:2007 ../src/xz/xz.1:2009 +#, no-wrap +msgid "\\(bu" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:107 +msgid "" +"When compressing, the suffix of the target file format (B<.xz> or B<.lzma>) " +"is appended to the source filename to get the target filename." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:122 +msgid "" +"When decompressing, the B<.xz>, B<.lzma>, or B<.lz> suffix is removed from " +"the filename to get the target filename. B<xz> also recognizes the suffixes " +"B<.txz> and B<.tlz>, and replaces them with the B<.tar> suffix." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:126 +msgid "" +"If the target file already exists, an error is displayed and the I<file> is " +"skipped." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:132 +msgid "" +"Unless writing to standard output, B<xz> will display a warning and skip the " +"I<file> if any of the following applies:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:137 +msgid "" +"I<File> is not a regular file. Symbolic links are not followed, and thus " +"they are not considered to be regular files." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:140 +msgid "I<File> has more than one hard link." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:143 +msgid "I<File> has setuid, setgid, or sticky bit set." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:159 +msgid "" +"The operation mode is set to compress and the I<file> already has a suffix " +"of the target file format (B<.xz> or B<.txz> when compressing to the B<.xz> " +"format, and B<.lzma> or B<.tlz> when compressing to the B<.lzma> format)." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:169 +msgid "" +"The operation mode is set to decompress and the I<file> doesn't have a " +"suffix of any of the supported file formats (B<.xz>, B<.txz>, B<.lzma>, " +"B<.tlz>, or B<.lz>)." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:184 +msgid "" +"After successfully compressing or decompressing the I<file>, B<xz> copies " +"the owner, group, permissions, access time, and modification time from the " +"source I<file> to the target file. If copying the group fails, the " +"permissions are modified so that the target file doesn't become accessible " +"to users who didn't have permission to access the source I<file>. B<xz> " +"doesn't support copying other metadata like access control lists or extended " +"attributes yet." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:194 +msgid "" +"Once the target file has been successfully closed, the source I<file> is " +"removed unless B<--keep> was specified. The source I<file> is never removed " +"if the output is written to standard output or if an error occurs." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:206 +msgid "" +"Sending B<SIGINFO> or B<SIGUSR1> to the B<xz> process makes it print " +"progress information to standard error. This has only limited use since " +"when standard error is a terminal, using B<--verbose> will display an " +"automatically updating progress indicator." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:207 +#, no-wrap +msgid "Memory usage" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:223 +msgid "" +"The memory usage of B<xz> varies from a few hundred kilobytes to several " +"gigabytes depending on the compression settings. The settings used when " +"compressing a file determine the memory requirements of the decompressor. " +"Typically the decompressor needs 5\\ % to 20\\ % of the amount of memory " +"that the compressor needed when creating the file. For example, " +"decompressing a file created with B<xz -9> currently requires 65\\ MiB of " +"memory. Still, it is possible to have B<.xz> files that require several " +"gigabytes of memory to decompress." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:235 +msgid "" +"Especially users of older systems may find the possibility of very large " +"memory usage annoying. To prevent uncomfortable surprises, B<xz> 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 " +"B<ulimit>(1) to limit virtual memory tends to cripple B<mmap>(2))." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:257 +msgid "" +"The memory usage limiter can be enabled with the command line option " +"B<--memlimit=>I<limit>. Often it is more convenient to enable the limiter " +"by default by setting the environment variable B<XZ_DEFAULTS>, for example, " +"B<XZ_DEFAULTS=--memlimit=150MiB>. It is possible to set the limits " +"separately for compression and decompression by using " +"B<--memlimit-compress=>I<limit> and B<--memlimit-decompress=>I<limit>. " +"Using these two options outside B<XZ_DEFAULTS> is rarely useful because a " +"single run of B<xz> cannot do both compression and decompression and " +"B<--memlimit=>I<limit> (or B<-M> I<limit>) is shorter to type on the " +"command line." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:276 +msgid "" +"If the specified memory usage limit is exceeded when decompressing, B<xz> " +"will display an error and decompressing the file will fail. If the limit is " +"exceeded when compressing, B<xz> will try to scale the settings down so that " +"the limit is no longer exceeded (except when using B<--format=raw> or " +"B<--no-adjust>). 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 B<xz -9>, the settings will be scaled down only " +"a little, not all the way down to B<xz -8>." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:277 +#, no-wrap +msgid "Concatenation and padding with .xz files" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:285 +msgid "" +"It is possible to concatenate B<.xz> files as is. B<xz> will decompress " +"such files as if they were a single B<.xz> file." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:294 +msgid "" +"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 B<.xz> file is stored on a medium that measures file sizes in " +"512-byte blocks." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:298 +msgid "" +"Concatenation and padding are not allowed with B<.lzma> files or raw " +"streams." +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:299 ../src/xzdec/xzdec.1:59 +#, no-wrap +msgid "OPTIONS" +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:301 +#, no-wrap +msgid "Integer suffixes and special values" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:305 +msgid "" +"In most places where an integer argument is expected, an optional suffix is " +"supported to easily indicate large integers. There must be no space between " +"the integer and the suffix." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:305 +#, no-wrap +msgid "B<KiB>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:316 +msgid "" +"Multiply the integer by 1,024 (2^10). B<Ki>, B<k>, B<kB>, B<K>, and B<KB> " +"are accepted as synonyms for B<KiB>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:316 +#, no-wrap +msgid "B<MiB>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:326 +msgid "" +"Multiply the integer by 1,048,576 (2^20). B<Mi>, B<m>, B<M>, and B<MB> are " +"accepted as synonyms for B<MiB>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:326 +#, no-wrap +msgid "B<GiB>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:336 +msgid "" +"Multiply the integer by 1,073,741,824 (2^30). B<Gi>, B<g>, B<G>, and B<GB> " +"are accepted as synonyms for B<GiB>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:341 +msgid "" +"The special value B<max> can be used to indicate the maximum integer value " +"supported by the option." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:342 +#, no-wrap +msgid "Operation mode" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:345 +msgid "If multiple operation mode options are given, the last one takes effect." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:345 +#, no-wrap +msgid "B<-z>, B<--compress>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:354 +msgid "" +"Compress. This is the default operation mode when no operation mode option " +"is specified and no other operation mode is implied from the command name " +"(for example, B<unxz> implies B<--decompress>)." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:354 ../src/xzdec/xzdec.1:60 +#, no-wrap +msgid "B<-d>, B<--decompress>, B<--uncompress>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:357 +msgid "Decompress." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:357 +#, no-wrap +msgid "B<-t>, B<--test>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:366 +msgid "" +"Test the integrity of compressed I<files>. This option is equivalent to " +"B<--decompress --stdout> except that the decompressed data is discarded " +"instead of being written to standard output. No files are created or " +"removed." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:366 +#, no-wrap +msgid "B<-l>, B<--list>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:375 +msgid "" +"Print information about compressed I<files>. No uncompressed output is " +"produced, and no files are created or removed. In list mode, the program " +"cannot read the compressed data from standard input or from other unseekable " +"sources." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:390 +msgid "" +"The default listing shows basic information about I<files>, one file per " +"line. To get more detailed information, use also the B<--verbose> option. " +"For even more information, use B<--verbose> 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, B<less\\ -S> may be convenient if the terminal isn't wide enough." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:397 +msgid "" +"The exact output may vary between B<xz> versions and different locales. For " +"machine-readable output, B<--robot --list> should be used." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:398 +#, no-wrap +msgid "Operation modifiers" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:399 ../src/xzdec/xzdec.1:67 +#, no-wrap +msgid "B<-k>, B<--keep>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:402 +msgid "Don't delete the input files." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:416 +msgid "" +"Since B<xz> 5.2.6, this option also makes B<xz> 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 B<--force>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:416 +#, no-wrap +msgid "B<-f>, B<--force>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:419 +msgid "This option has several effects:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:423 +msgid "" +"If the target file already exists, delete it before compressing or " +"decompressing." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:430 +msgid "" +"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." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:455 +msgid "" +"When used with B<--decompress> B<--stdout> and B<xz> cannot recognize the " +"type of the source file, copy the source file as is to standard output. " +"This allows B<xzcat> B<--force> to be used like B<cat>(1) for files that " +"have not been compressed with B<xz>. Note that in future, B<xz> might " +"support new compressed file formats, which may make B<xz> decompress more " +"types of files instead of copying them as is to standard output. " +"B<--format=>I<format> can be used to restrict B<xz> to decompress only a " +"single file format." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:456 ../src/xzdec/xzdec.1:74 +#, no-wrap +msgid "B<-c>, B<--stdout>, B<--to-stdout>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:462 +msgid "" +"Write the compressed or decompressed data to standard output instead of a " +"file. This implies B<--keep>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:462 +#, no-wrap +msgid "B<--single-stream>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:471 +msgid "" +"Decompress only the first B<.xz> stream, and silently ignore possible " +"remaining input data following the stream. Normally such trailing garbage " +"makes B<xz> display an error." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:480 +msgid "" +"B<xz> never decompresses more than one stream from B<.lzma> files or raw " +"streams, but this option still makes B<xz> ignore the possible trailing data " +"after the B<.lzma> file or raw stream." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:485 +msgid "" +"This option has no effect if the operation mode is not B<--decompress> or " +"B<--test>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:485 +#, no-wrap +msgid "B<--no-sparse>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:497 +msgid "" +"Disable creation of sparse files. By default, if decompressing into a " +"regular file, B<xz> tries to make the file sparse if the decompressed data " +"contains long sequences of binary zeros. It also works when writing to " +"standard output as long as standard output is connected to a regular file " +"and certain additional conditions are met to make it safe. Creating sparse " +"files may save disk space and speed up the decompression by reducing the " +"amount of disk I/O." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:497 +#, no-wrap +msgid "B<-S> I<.suf>, B<--suffix=>I<.suf>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:509 +msgid "" +"When compressing, use I<.suf> as the suffix for the target file instead of " +"B<.xz> or B<.lzma>. If not writing to standard output and the source file " +"already has the suffix I<.suf>, a warning is displayed and the file is " +"skipped." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:523 +msgid "" +"When decompressing, recognize files with the suffix I<.suf> in addition to " +"files with the B<.xz>, B<.txz>, B<.lzma>, B<.tlz>, or B<.lz> suffix. If the " +"source file has the suffix I<.suf>, the suffix is removed to get the target " +"filename." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:529 +msgid "" +"When compressing or decompressing raw streams (B<--format=raw>), the suffix " +"must always be specified unless writing to standard output, because there is " +"no default suffix for raw streams." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:529 +#, no-wrap +msgid "B<--files>[B<=>I<file>]" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:543 +msgid "" +"Read the filenames to process from I<file>; if I<file> is omitted, filenames " +"are read from standard input. Filenames must be terminated with the newline " +"character. A dash (B<->) is taken as a regular filename; it doesn't mean " +"standard input. If filenames are given also as command line arguments, they " +"are processed before the filenames read from I<file>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:543 +#, no-wrap +msgid "B<--files0>[B<=>I<file>]" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:547 +msgid "" +"This is identical to B<--files>[B<=>I<file>] except that each filename must " +"be terminated with the null character." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:548 +#, no-wrap +msgid "Basic file format and compression options" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:549 +#, no-wrap +msgid "B<-F> I<format>, B<--format=>I<format>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:554 +msgid "Specify the file I<format> to compress or decompress:" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:555 +#, no-wrap +msgid "B<auto>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:567 +msgid "" +"This is the default. When compressing, B<auto> is equivalent to B<xz>. " +"When decompressing, the format of the input file is automatically detected. " +"Note that raw streams (created with B<--format=raw>) cannot be " +"auto-detected." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:567 +#, no-wrap +msgid "B<xz>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:574 +msgid "" +"Compress to the B<.xz> file format, or accept only B<.xz> files when " +"decompressing." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:574 +#, no-wrap +msgid "B<lzma>, B<alone>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:584 +msgid "" +"Compress to the legacy B<.lzma> file format, or accept only B<.lzma> files " +"when decompressing. The alternative name B<alone> is provided for backwards " +"compatibility with LZMA Utils." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:584 +#, no-wrap +msgid "B<lzip>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:590 +msgid "Accept only B<.lz> files when decompressing. Compression is not supported." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:603 +msgid "" +"The B<.lz> format version 0 and the unextended version 1 are supported. " +"Version 0 files were produced by B<lzip> 1.3 and older. Such files aren't " +"common but may be found from file archives as a few source packages were " +"released in this format. People might have old personal files in this " +"format too. Decompression support for the format version 0 was removed in " +"B<lzip> 1.18." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:612 +msgid "" +"B<lzip> 1.4 and later create files in the format version 1. The sync flush " +"marker extension to the format version 1 was added in B<lzip> 1.6. This " +"extension is rarely used and isn't supported by B<xz> (diagnosed as corrupt " +"input)." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:612 +#, no-wrap +msgid "B<raw>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:620 +msgid "" +"Compress or uncompress a raw stream (no headers). This is meant for " +"advanced users only. To decode raw streams, you need use B<--format=raw> " +"and explicitly specify the filter chain, which normally would have been " +"stored in the container headers." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:621 +#, no-wrap +msgid "B<-C> I<check>, B<--check=>I<check>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:636 +msgid "" +"Specify the type of the integrity check. The check is calculated from the " +"uncompressed data and stored in the B<.xz> file. This option has an effect " +"only when compressing into the B<.xz> format; the B<.lzma> format doesn't " +"support integrity checks. The integrity check (if any) is verified when the " +"B<.xz> file is decompressed." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:640 +msgid "Supported I<check> types:" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:641 +#, no-wrap +msgid "B<none>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:647 +msgid "" +"Don't calculate an integrity check at all. This is usually a bad idea. " +"This can be useful when integrity of the data is verified by other means " +"anyway." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:647 +#, no-wrap +msgid "B<crc32>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:650 +msgid "Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet)." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:650 +#, no-wrap +msgid "B<crc64>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:655 +msgid "" +"Calculate CRC64 using the polynomial from ECMA-182. This is the default, " +"since it is slightly better than CRC32 at detecting damaged files and the " +"speed difference is negligible." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:655 +#, no-wrap +msgid "B<sha256>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:659 +msgid "Calculate SHA-256. This is somewhat slower than CRC32 and CRC64." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:665 +msgid "" +"Integrity of the B<.xz> headers is always verified with CRC32. It is not " +"possible to change or disable it." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:665 +#, no-wrap +msgid "B<--ignore-check>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:671 +msgid "" +"Don't verify the integrity check of the compressed data when decompressing. " +"The CRC32 values in the B<.xz> headers will still be verified normally." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:674 +msgid "" +"B<Do not use this option unless you know what you are doing.> Possible " +"reasons to use this option:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:677 +msgid "Trying to recover data from a corrupt .xz file." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:683 +msgid "" +"Speeding up decompression. This matters mostly with SHA-256 or with files " +"that have compressed extremely well. It's recommended to not use this " +"option for this purpose unless the file integrity is verified externally in " +"some other way." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:684 +#, no-wrap +msgid "B<-0> ... B<-9>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:693 +msgid "" +"Select a compression preset level. The default is B<-6>. If multiple " +"preset levels are specified, the last one takes effect. If a custom filter " +"chain was already specified, setting a compression preset level clears the " +"custom filter chain." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:708 +msgid "" +"The differences between the presets are more significant than with " +"B<gzip>(1) and B<bzip2>(1). The selected compression settings determine " +"the memory requirements of the decompressor, thus using a too high preset " +"level might make it painful to decompress the file on an old system with " +"little RAM. Specifically, B<it's not a good idea to blindly use -9 for " +"everything> like it often is with B<gzip>(1) and B<bzip2>(1)." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:709 +#, no-wrap +msgid "B<-0> ... B<-3>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:721 +msgid "" +"These are somewhat fast presets. B<-0> is sometimes faster than B<gzip -9> " +"while compressing much better. The higher ones often have speed comparable " +"to B<bzip2>(1) with comparable or better compression ratio, although the " +"results depend a lot on the type of data being compressed." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:721 +#, no-wrap +msgid "B<-4> ... B<-6>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:735 +msgid "" +"Good to very good compression while keeping decompressor memory usage " +"reasonable even for old systems. B<-6> 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. (B<-5e> or B<-6e> may be worth considering " +"too. See B<--extreme>.)" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:735 +#, no-wrap +msgid "B<-7 ... -9>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:742 +msgid "" +"These are like B<-6> but with higher compressor and decompressor memory " +"requirements. These are useful only when compressing files bigger than 8\\ " +"MiB, 16\\ MiB, and 32\\ MiB, respectively." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:750 +msgid "" +"On the same hardware, the decompression speed is approximately a constant " +"number of bytes of compressed data per second. In other words, the better " +"the compression, the faster the decompression will usually be. This also " +"means that the amount of uncompressed output produced per second can vary a " +"lot." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:752 +msgid "The following table summarises the features of the presets:" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:759 ../src/xz/xz.1:847 ../src/xz/xz.1:3000 +#, no-wrap +msgid "Preset" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:759 ../src/xz/xz.1:847 +#, no-wrap +msgid "DictSize" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:759 ../src/xz/xz.1:847 ../src/xz/xz.1:3000 +#, no-wrap +msgid "CompCPU" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:759 ../src/xz/xz.1:847 +#, no-wrap +msgid "CompMem" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:759 ../src/xz/xz.1:847 +#, no-wrap +msgid "DecMem" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:760 ../src/xz/xz.1:2611 ../src/xz/xz.1:2636 +#: ../src/xz/xz.1:3001 +#, no-wrap +msgid "-0" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:760 ../src/xz/xz.1:848 ../src/xz/xz.1:2611 +#, no-wrap +msgid "256 KiB" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:760 ../src/xz/xz.1:3001 ../src/scripts/xzgrep.1:111 +#, no-wrap +msgid "0" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:760 ../src/xz/xz.1:762 ../src/xz/xz.1:850 ../src/xz/xz.1:2636 +#, no-wrap +msgid "3 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:760 ../src/xz/xz.1:761 ../src/xz/xz.1:848 ../src/xz/xz.1:849 +#: ../src/xz/xz.1:2612 ../src/xz/xz.1:2613 ../src/xz/xz.1:2615 +#, no-wrap +msgid "1 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:761 ../src/xz/xz.1:2612 ../src/xz/xz.1:2637 +#: ../src/xz/xz.1:3002 +#, no-wrap +msgid "-1" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:761 ../src/xz/xz.1:1866 ../src/xz/xz.1:3002 +#: ../src/scripts/xzgrep.1:115 +#, no-wrap +msgid "1" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:761 ../src/xz/xz.1:765 ../src/xz/xz.1:766 ../src/xz/xz.1:853 +#: ../src/xz/xz.1:854 ../src/xz/xz.1:2637 +#, no-wrap +msgid "9 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:761 ../src/xz/xz.1:762 ../src/xz/xz.1:849 ../src/xz/xz.1:850 +#: ../src/xz/xz.1:2613 ../src/xz/xz.1:2616 ../src/xz/xz.1:2637 +#, no-wrap +msgid "2 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:762 ../src/xz/xz.1:2613 ../src/xz/xz.1:2638 +#: ../src/xz/xz.1:3003 +#, no-wrap +msgid "-2" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:762 ../src/xz/xz.1:1868 ../src/xz/xz.1:1873 +#: ../src/xz/xz.1:3003 +#, no-wrap +msgid "2" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:762 ../src/xz/xz.1:767 ../src/xz/xz.1:855 ../src/xz/xz.1:2638 +#, no-wrap +msgid "17 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:763 ../src/xz/xz.1:2614 ../src/xz/xz.1:2639 +#: ../src/xz/xz.1:3004 +#, no-wrap +msgid "-3" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:763 ../src/xz/xz.1:764 ../src/xz/xz.1:848 ../src/xz/xz.1:851 +#: ../src/xz/xz.1:852 ../src/xz/xz.1:2614 ../src/xz/xz.1:2615 +#: ../src/xz/xz.1:2617 +#, no-wrap +msgid "4 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:763 ../src/xz/xz.1:3004 +#, no-wrap +msgid "3" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:763 ../src/xz/xz.1:768 ../src/xz/xz.1:856 ../src/xz/xz.1:2619 +#: ../src/xz/xz.1:2620 ../src/xz/xz.1:2639 +#, no-wrap +msgid "32 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:763 ../src/xz/xz.1:764 ../src/xz/xz.1:851 ../src/xz/xz.1:852 +#, no-wrap +msgid "5 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:764 ../src/xz/xz.1:2615 ../src/xz/xz.1:2640 +#: ../src/xz/xz.1:3005 +#, no-wrap +msgid "-4" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:764 ../src/xz/xz.1:1867 ../src/xz/xz.1:1869 +#: ../src/xz/xz.1:1870 ../src/xz/xz.1:1872 ../src/xz/xz.1:3005 +#, no-wrap +msgid "4" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:764 ../src/xz/xz.1:851 ../src/xz/xz.1:852 ../src/xz/xz.1:2640 +#, no-wrap +msgid "48 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:765 ../src/xz/xz.1:2616 ../src/xz/xz.1:2641 +#: ../src/xz/xz.1:3006 +#, no-wrap +msgid "-5" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:765 ../src/xz/xz.1:766 ../src/xz/xz.1:853 ../src/xz/xz.1:854 +#: ../src/xz/xz.1:2616 ../src/xz/xz.1:2617 ../src/xz/xz.1:2618 +#, no-wrap +msgid "8 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:765 ../src/xz/xz.1:3006 +#, no-wrap +msgid "5" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:765 ../src/xz/xz.1:766 ../src/xz/xz.1:853 ../src/xz/xz.1:854 +#: ../src/xz/xz.1:2641 ../src/xz/xz.1:2642 +#, no-wrap +msgid "94 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:766 ../src/xz/xz.1:2617 ../src/xz/xz.1:2642 +#: ../src/xz/xz.1:3007 +#, no-wrap +msgid "-6" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:766 ../src/xz/xz.1:767 ../src/xz/xz.1:768 ../src/xz/xz.1:769 +#: ../src/xz/xz.1:3007 +#, no-wrap +msgid "6" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:767 ../src/xz/xz.1:2618 ../src/xz/xz.1:2643 +#, no-wrap +msgid "-7" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:767 ../src/xz/xz.1:855 ../src/xz/xz.1:2618 +#: ../src/xz/xz.1:2619 ../src/xz/xz.1:2640 +#, no-wrap +msgid "16 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:767 ../src/xz/xz.1:855 ../src/xz/xz.1:2643 +#, no-wrap +msgid "186 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:768 ../src/xz/xz.1:2619 ../src/xz/xz.1:2644 +#, no-wrap +msgid "-8" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:768 ../src/xz/xz.1:856 ../src/xz/xz.1:2644 +#, no-wrap +msgid "370 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:768 ../src/xz/xz.1:856 +#, no-wrap +msgid "33 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:769 ../src/xz/xz.1:2620 ../src/xz/xz.1:2645 +#, no-wrap +msgid "-9" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:769 ../src/xz/xz.1:857 ../src/xz/xz.1:2620 +#, no-wrap +msgid "64 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:769 ../src/xz/xz.1:857 ../src/xz/xz.1:2645 +#, no-wrap +msgid "674 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:769 ../src/xz/xz.1:857 +#, no-wrap +msgid "65 MiB" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:775 +msgid "Column descriptions:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:787 +msgid "" +"DictSize is the LZMA2 dictionary size. It is waste of memory to use a " +"dictionary bigger than the size of the uncompressed file. This is why it is " +"good to avoid using the presets B<-7> ... B<-9> when there's no real need " +"for them. At B<-6> and lower, the amount of memory wasted is usually low " +"enough to not matter." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:796 +msgid "" +"CompCPU is a simplified representation of the LZMA2 settings that affect " +"compression speed. The dictionary size affects speed too, so while CompCPU " +"is the same for levels B<-6> ... B<-9>, higher levels still tend to be a " +"little slower. To get even slower and thus possibly better compression, see " +"B<--extreme>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:802 +msgid "" +"CompMem contains the compressor memory requirements in the single-threaded " +"mode. It may vary slightly between B<xz> versions." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:809 +msgid "" +"DecMem contains the decompressor memory requirements. That is, the " +"compression settings determine the memory requirements of the decompressor. " +"The exact decompressor memory usage is slightly more than the LZMA2 " +"dictionary size, but the values in the table have been rounded up to the " +"next full MiB." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:819 +msgid "" +"Memory requirements of the multi-threaded mode are significantly higher than " +"that of the single-threaded mode. With the default value of " +"B<--block-size>, each thread needs 3*3*DictSize plus CompMem or DecMem. For " +"example, four threads with preset B<-6> needs 660\\(en670\\ MiB of memory." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:819 +#, no-wrap +msgid "B<-e>, B<--extreme>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:828 +msgid "" +"Use a slower variant of the selected compression preset level (B<-0> " +"... B<-9>) to hopefully get a little bit better compression ratio, but with " +"bad luck this can also make it worse. Decompressor memory usage is not " +"affected, but compressor memory usage increases a little at preset levels " +"B<-0> ... B<-3>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:840 +msgid "" +"Since there are two presets with dictionary sizes 4\\ MiB and 8\\ MiB, the " +"presets B<-3e> and B<-5e> use slightly faster settings (lower CompCPU) than " +"B<-4e> and B<-6e>, respectively. That way no two presets are identical." +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:848 +#, no-wrap +msgid "-0e" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:848 ../src/xz/xz.1:849 ../src/xz/xz.1:850 ../src/xz/xz.1:852 +#: ../src/xz/xz.1:854 ../src/xz/xz.1:855 ../src/xz/xz.1:856 ../src/xz/xz.1:857 +#: ../src/xz/xz.1:3009 +#, no-wrap +msgid "8" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:849 +#, no-wrap +msgid "-1e" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:849 +#, no-wrap +msgid "13 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:850 +#, no-wrap +msgid "-2e" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:850 +#, no-wrap +msgid "25 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:851 +#, no-wrap +msgid "-3e" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:851 ../src/xz/xz.1:853 ../src/xz/xz.1:3008 +#, no-wrap +msgid "7" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:852 +#, no-wrap +msgid "-4e" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:853 ../src/xz/xz.1:3008 +#, no-wrap +msgid "-5e" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:854 ../src/xz/xz.1:3009 +#, no-wrap +msgid "-6e" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:855 +#, no-wrap +msgid "-7e" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:856 +#, no-wrap +msgid "-8e" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:857 +#, no-wrap +msgid "-9e" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:869 +msgid "" +"For example, there are a total of four presets that use 8\\ MiB dictionary, " +"whose order from the fastest to the slowest is B<-5>, B<-6>, B<-5e>, and " +"B<-6e>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:869 +#, no-wrap +msgid "B<--fast>" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:872 +#, no-wrap +msgid "B<--best>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:883 +msgid "" +"These are somewhat misleading aliases for B<-0> and B<-9>, respectively. " +"These are provided only for backwards compatibility with LZMA Utils. Avoid " +"using these options." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:883 +#, no-wrap +msgid "B<--block-size=>I<size>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:896 +msgid "" +"When compressing to the B<.xz> format, split the input data into blocks of " +"I<size> bytes. The blocks are compressed independently from each other, " +"which helps with multi-threading and makes limited random-access " +"decompression possible. This option is typically used to override the " +"default block size in multi-threaded mode, but this option can be used in " +"single-threaded mode too." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:913 +msgid "" +"In multi-threaded mode about three times I<size> bytes will be allocated in " +"each thread for buffering input and output. The default I<size> 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 I<size> less than the LZMA2 dictionary size is waste of RAM " +"because then the LZMA2 dictionary buffer will never get fully used. In " +"multi-threaded mode, the sizes of the blocks are stored in the block " +"headers. This size information is required for multi-threaded " +"decompression." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:922 +msgid "" +"In single-threaded mode no block splitting is done by default. Setting this " +"option doesn't affect memory usage. No size information is stored in block " +"headers, thus files created in single-threaded mode won't be identical to " +"files created in multi-threaded mode. The lack of size information also " +"means that B<xz> won't be able decompress the files in multi-threaded mode." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:922 +#, no-wrap +msgid "B<--block-list=>I<items>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:928 +msgid "" +"When compressing to the B<.xz> format, start a new block with an optional " +"custom filter chain after the given intervals of uncompressed data." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:938 +msgid "" +"The I<items> are a comma-separated list. Each item consists of an optional " +"filter chain number between 0 and 9 followed by a colon (B<:>) and a " +"required size of uncompressed data. Omitting an item (two or more " +"consecutive commas) is a shorthand to use the size and filters of the " +"previous item." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:947 +msgid "" +"If the input file is bigger than the sum of the sizes in I<items>, the last " +"item is repeated until the end of the file. A special value of B<0> may be " +"used as the last size to indicate that the rest of the file should be " +"encoded as a single block." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:964 +msgid "" +"An alternative filter chain for each block can be specified in combination " +"with the B<--filters1=>I<filters> \\&...\\& B<--filters9=>I<filters> " +"options. These options define filter chains with an identifier between " +"1\\(en9. Filter chain 0 can be used to refer to the default filter chain, " +"which is the same as not specifying a filter chain. The filter chain " +"identifier can be used before the uncompressed size, followed by a colon " +"(B<:>). For example, if one specifies " +"B<--block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB> then blocks will be " +"created using:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:969 +msgid "The filter chain specified by B<--filters1> and 2 MiB input" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:973 +msgid "The filter chain specified by B<--filters3> and 2 MiB input" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:977 ../src/xz/xz.1:981 +msgid "The filter chain specified by B<--filters2> and 4 MiB input" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:983 +msgid "The default filter chain and 2 MiB input" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:986 +msgid "The default filter chain and 4 MiB input for every block until end of input." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1000 +msgid "" +"If one specifies a size that exceeds the encoder's block size (either the " +"default value in threaded mode or the value specified with " +"B<--block-size=>I<size>), the encoder will create additional blocks while " +"keeping the boundaries specified in I<items>. For example, if one specifies " +"B<--block-size=10MiB> B<--block-list=5MiB,10MiB,8MiB,12MiB,24MiB> and the " +"input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, " +"10, 10, and 1 MiB." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1006 +msgid "" +"In multi-threaded mode the sizes of the blocks are stored in the block " +"headers. This isn't done in single-threaded mode, so the encoded output " +"won't be identical to that of the multi-threaded mode." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1006 +#, no-wrap +msgid "B<--flush-timeout=>I<timeout>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1023 +msgid "" +"When compressing, if more than I<timeout> milliseconds (a positive integer) " +"has passed since the previous flush and reading more input would block, all " +"the pending input data is flushed from the encoder and made available in the " +"output stream. This can be useful if B<xz> is used to compress data that is " +"streamed over a network. Small I<timeout> values make the data available at " +"the receiving end with a small delay, but large I<timeout> values give " +"better compression ratio." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1031 +msgid "" +"This feature is disabled by default. If this option is specified more than " +"once, the last one takes effect. The special I<timeout> value of B<0> can " +"be used to explicitly disable this feature." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1033 +msgid "This feature is not available on non-POSIX systems." +msgstr "" + +#. FIXME +#. type: Plain text +#: ../src/xz/xz.1:1041 +msgid "" +"B<This feature is still experimental.> Currently B<xz> is unsuitable for " +"decompressing the stream in real time due to how B<xz> does buffering." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1041 +#, no-wrap +msgid "B<--memlimit-compress=>I<limit>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1046 +msgid "" +"Set a memory usage limit for compression. If this option is specified " +"multiple times, the last one takes effect." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1059 +msgid "" +"If the compression settings exceed the I<limit>, B<xz> will attempt to " +"adjust the settings downwards so that the limit is no longer exceeded and " +"display a notice that automatic adjustment was done. The adjustments are " +"done in this order: reducing the number of threads, switching to " +"single-threaded mode if even one thread in multi-threaded mode exceeds the " +"I<limit>, and finally reducing the LZMA2 dictionary size." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1067 +msgid "" +"When compressing with B<--format=raw> or if B<--no-adjust> has been " +"specified, only the number of threads may be reduced since it can be done " +"without affecting the compressed output." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1074 +msgid "" +"If the I<limit> cannot be met even with the adjustments described above, an " +"error is displayed and B<xz> will exit with exit status 1." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1078 +msgid "The I<limit> can be specified in multiple ways:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1088 +msgid "" +"The I<limit> can be an absolute value in bytes. Using an integer suffix " +"like B<MiB> can be useful. Example: B<--memlimit-compress=80MiB>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1100 +msgid "" +"The I<limit> can be specified as a percentage of total physical memory " +"(RAM). This can be useful especially when setting the B<XZ_DEFAULTS> " +"environment variable in a shell initialization script that is shared between " +"different computers. That way the limit is automatically bigger on systems " +"with more memory. Example: B<--memlimit-compress=70%>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1110 +msgid "" +"The I<limit> can be reset back to its default value by setting it to B<0>. " +"This is currently equivalent to setting the I<limit> to B<max> (no memory " +"usage limit)." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1134 +msgid "" +"For 32-bit B<xz> there is a special case: if the I<limit> would be over " +"B<4020\\ MiB>, the I<limit> is set to B<4020\\ MiB>. On MIPS32 B<2000\\ " +"MiB> is used instead. (The values B<0> and B<max> 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." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1137 +msgid "See also the section B<Memory usage>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1137 +#, no-wrap +msgid "B<--memlimit-decompress=>I<limit>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1151 +msgid "" +"Set a memory usage limit for decompression. This also affects the B<--list> " +"mode. If the operation is not possible without exceeding the I<limit>, " +"B<xz> will display an error and decompressing the file will fail. See " +"B<--memlimit-compress=>I<limit> for possible ways to specify the I<limit>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1151 +#, no-wrap +msgid "B<--memlimit-mt-decompress=>I<limit>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1173 +msgid "" +"Set a memory usage limit for multi-threaded decompression. This can only " +"affect the number of threads; this will never make B<xz> refuse to " +"decompress a file. If I<limit> is too low to allow any multi-threading, the " +"I<limit> is ignored and B<xz> will continue in single-threaded mode. Note " +"that if also B<--memlimit-decompress> is used, it will always apply to both " +"single-threaded and multi-threaded modes, and so the effective I<limit> for " +"multi-threading will never be higher than the limit set with " +"B<--memlimit-decompress>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1180 +msgid "" +"In contrast to the other memory usage limit options, " +"B<--memlimit-mt-decompress=>I<limit> has a system-specific default " +"I<limit>. B<xz --info-memory> can be used to see the current value." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1196 +msgid "" +"This option and its default value exist because without any limit the " +"threaded decompressor could end up allocating an insane amount of memory " +"with some input files. If the default I<limit> is too low on your system, " +"feel free to increase the I<limit> but never set it to a value larger than " +"the amount of usable RAM as with appropriate input files B<xz> will attempt " +"to use that amount of memory even with a low number of threads. Running out " +"of memory or swapping will not improve decompression performance." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1208 +msgid "" +"See B<--memlimit-compress=>I<limit> for possible ways to specify the " +"I<limit>. Setting I<limit> to B<0> resets the I<limit> to the default " +"system-specific value." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1208 +#, no-wrap +msgid "B<-M> I<limit>, B<--memlimit=>I<limit>, B<--memory=>I<limit>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1214 +msgid "" +"This is equivalent to specifying B<--memlimit-compress=>I<limit> " +"B<--memlimit-decompress=>I<limit> B<--memlimit-mt-decompress=>I<limit>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1214 +#, no-wrap +msgid "B<--no-adjust>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1224 +msgid "" +"Display an error and exit if the memory usage limit cannot be met without " +"adjusting settings that affect the compressed output. That is, this " +"prevents B<xz> from switching the encoder from multi-threaded mode to " +"single-threaded mode and from reducing the LZMA2 dictionary size. Even when " +"this option is used the number of threads may be reduced to meet the memory " +"usage limit as that won't affect the compressed output." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1227 +msgid "" +"Automatic adjusting is always disabled when creating raw streams " +"(B<--format=raw>)." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1227 +#, no-wrap +msgid "B<-T> I<threads>, B<--threads=>I<threads>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1242 +msgid "" +"Specify the number of worker threads to use. Setting I<threads> to a " +"special value B<0> makes B<xz> use up to as many threads as the processor(s) " +"on the system support. The actual number of threads can be fewer than " +"I<threads> if the input file is not big enough for threading with the given " +"settings or if using more threads would exceed the memory usage limit." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1261 +msgid "" +"The single-threaded and multi-threaded compressors produce different " +"output. Single-threaded compressor will give the smallest file size but " +"only the output from the multi-threaded compressor can be decompressed using " +"multiple threads. Setting I<threads> to B<1> will use the single-threaded " +"mode. Setting I<threads> to any other value, including B<0>, will use the " +"multi-threaded compressor even if the system supports only one hardware " +"thread. (B<xz> 5.2.x used single-threaded mode in this situation.)" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1280 +msgid "" +"To use multi-threaded mode with only one thread, set I<threads> to B<+1>. " +"The B<+> prefix has no effect with values other than B<1>. A memory usage " +"limit can still make B<xz> switch to single-threaded mode unless " +"B<--no-adjust> is used. Support for the B<+> prefix was added in B<xz> " +"5.4.0." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1295 +msgid "" +"If an automatic number of threads has been requested and no memory usage " +"limit has been specified, then a system-specific default soft limit will be " +"used to possibly limit the number of threads. It is a soft limit in sense " +"that it is ignored if the number of threads becomes one, thus a soft limit " +"will never stop B<xz> from compressing or decompressing. This default soft " +"limit will not make B<xz> switch from multi-threaded mode to single-threaded " +"mode. The active limits can be seen with B<xz --info-memory>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1302 +msgid "" +"Currently the only threading method is to split the input into blocks and " +"compress them independently from each other. The default block size depends " +"on the compression level and can be overridden with the " +"B<--block-size=>I<size> option." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1310 +msgid "" +"Threaded decompression only works on files that contain multiple blocks with " +"size information in block headers. All large enough files compressed in " +"multi-threaded mode meet this condition, but files compressed in " +"single-threaded mode don't even if B<--block-size=>I<size> has been used." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1319 +msgid "" +"The default value for I<threads> is B<0>. In B<xz> 5.4.x and older the " +"default is B<1>." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:1320 ../src/xz/xz.1:2980 +#, no-wrap +msgid "Custom compressor filter chains" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1336 +msgid "" +"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 (B<-0> \\&...\\& B<-9> and " +"B<--extreme>) 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." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1343 +msgid "" +"A filter chain is comparable to piping on the command line. When " +"compressing, the uncompressed input goes to the first filter, whose output " +"goes to the next filter (if any). The output of the last filter gets " +"written to the compressed file. The maximum number of filters in the chain " +"is four, but typically a filter chain has only one or two filters." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1351 +msgid "" +"Many filters have limitations on where they can be in the filter chain: some " +"filters can work only as the last filter in the chain, some only as a " +"non-last filter, and some work in any position in the chain. Depending on " +"the filter, this limitation is either inherent to the filter design or " +"exists to prevent security issues." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1374 +msgid "" +"A custom filter chain can be specified in two different ways. The options " +"B<--filters=>I<filters> and B<--filters1=>I<filters> \\&...\\& " +"B<--filters9=>I<filters> allow specifying an entire filter chain in one " +"option using the liblzma filter string syntax. Alternatively, a filter " +"chain can be specified by using one or more individual filter options in the " +"order they are wanted in the filter chain. That is, the order of the " +"individual filter options is significant! When decoding raw streams " +"(B<--format=raw>), the filter chain must be specified in the same order as " +"it was specified when compressing. Any individual filter or preset options " +"specified before the full chain option (B<--filters=>I<filters>) will be " +"forgotten. Individual filters specified after the full chain option will " +"reset the filter chain." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1383 +msgid "" +"Both the full and individual filter options take filter-specific I<options> " +"as a comma-separated list. Extra commas in I<options> are ignored. Every " +"option has a default value, so specify those you want to change." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1392 +msgid "" +"To see the whole filter chain and I<options>, use B<xz -vv> (that is, use " +"B<--verbose> twice). This works also for viewing the filter chain options " +"used by presets." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1392 +#, no-wrap +msgid "B<--filters=>I<filters>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1413 +msgid "" +"Specify the full filter chain or a preset in a single option. Each filter " +"can be separated by spaces or two dashes (B<-->). I<filters> may need to be " +"quoted on the shell command line so it is parsed as a single option. To " +"denote I<options>, use B<:> or B<=>. A preset can be prefixed with a B<-> " +"and followed with zero or more flags. The only supported flag is B<e> to " +"apply the same options as B<--extreme>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1413 +#, no-wrap +msgid "B<--filters1>=I<filters> ... B<--filters9>=I<filters>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1417 +msgid "" +"Specify up to nine additional filter chains that can be used with " +"B<--block-list>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1421 +msgid "" +"For example, when compressing an archive with executable files followed by " +"text files, the executable part could use a filter chain with a BCJ filter " +"and the text part only the LZMA2 filter." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1421 +#, no-wrap +msgid "B<--filters-help>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1431 +msgid "" +"Display a help message describing how to specify presets and custom filter " +"chains in the B<--filters> and B<--filters1=>I<filters> \\&...\\& " +"B<--filters9=>I<filters> options, and exit successfully." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1431 +#, no-wrap +msgid "B<--lzma1>[B<=>I<options>]" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1434 +#, no-wrap +msgid "B<--lzma2>[B<=>I<options>]" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1439 +msgid "" +"Add LZMA1 or LZMA2 filter to the filter chain. These filters can be used " +"only as the last filter in the chain." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1451 +msgid "" +"LZMA1 is a legacy filter, which is supported almost solely due to the legacy " +"B<.lzma> file format, which supports only LZMA1. LZMA2 is an updated " +"version of LZMA1 to fix some practical issues of LZMA1. The B<.xz> format " +"uses LZMA2 and doesn't support LZMA1 at all. Compression speed and ratios " +"of LZMA1 and LZMA2 are practically the same." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1454 +msgid "LZMA1 and LZMA2 share the same set of I<options>:" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1455 +#, no-wrap +msgid "B<preset=>I<preset>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1482 +msgid "" +"Reset all LZMA1 or LZMA2 I<options> to I<preset>. I<Preset> consist of an " +"integer, which may be followed by single-letter preset modifiers. The " +"integer can be from B<0> to B<9>, matching the command line options B<-0> " +"\\&...\\& B<-9>. The only supported modifier is currently B<e>, which " +"matches B<--extreme>. If no B<preset> is specified, the default values of " +"LZMA1 or LZMA2 I<options> are taken from the preset B<6>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1482 +#, no-wrap +msgid "B<dict=>I<size>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1497 +msgid "" +"Dictionary (history buffer) I<size> indicates how many bytes of the " +"recently processed uncompressed data is kept in memory. The algorithm tries " +"to find repeating byte sequences (matches) in the uncompressed data, and " +"replace them with references to the data currently in the dictionary. The " +"bigger the dictionary, the higher is the chance to find a match. Thus, " +"increasing dictionary I<size> usually improves compression ratio, but a " +"dictionary bigger than the uncompressed file is waste of memory." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1506 +msgid "" +"Typical dictionary I<size> is from 64\\ KiB to 64\\ MiB. The minimum is 4\\ " +"KiB. The maximum for compression is currently 1.5\\ GiB (1536\\ MiB). The " +"decompressor already supports dictionaries up to one byte less than 4\\ GiB, " +"which is the maximum for the LZMA1 and LZMA2 stream formats." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1533 +msgid "" +"Dictionary I<size> and match finder (I<mf>) together determine the memory " +"usage of the LZMA1 or LZMA2 encoder. The same (or bigger) dictionary " +"I<size> is required for decompressing that was used when compressing, thus " +"the memory usage of the decoder is determined by the dictionary size used " +"when compressing. The B<.xz> headers store the dictionary I<size> either as " +"2^I<n> or 2^I<n> + 2^(I<n>-1), so these I<sizes> are somewhat preferred for " +"compression. Other I<sizes> will get rounded up when stored in the B<.xz> " +"headers." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1533 +#, no-wrap +msgid "B<lc=>I<lc>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1542 +msgid "" +"Specify the number of literal context bits. The minimum is 0 and the " +"maximum is 4; the default is 3. In addition, the sum of I<lc> and I<lp> " +"must not exceed 4." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1547 +msgid "" +"All bytes that cannot be encoded as matches are encoded as literals. That " +"is, literals are simply 8-bit bytes that are encoded one at a time." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1561 +msgid "" +"The literal coding makes an assumption that the highest I<lc> 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 I<lc> is at least " +"3, the literal coding can take advantage of this property in the " +"uncompressed data." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1570 +msgid "" +"The default value (3) is usually good. If you want maximum compression, " +"test B<lc=4>. Sometimes it helps a little, and sometimes it makes " +"compression worse. If it makes it worse, test B<lc=2> too." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1570 +#, no-wrap +msgid "B<lp=>I<lp>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1574 +msgid "" +"Specify the number of literal position bits. The minimum is 0 and the " +"maximum is 4; the default is 0." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1581 +msgid "" +"I<Lp> affects what kind of alignment in the uncompressed data is assumed " +"when encoding literals. See I<pb> below for more information about " +"alignment." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1581 +#, no-wrap +msgid "B<pb=>I<pb>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1585 +msgid "" +"Specify the number of position bits. The minimum is 0 and the maximum is 4; " +"the default is 2." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1592 +msgid "" +"I<Pb> affects what kind of alignment in the uncompressed data is assumed in " +"general. The default means four-byte alignment (2^I<pb>=2^2=4), which is " +"often a good choice when there's no better guess." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1606 +msgid "" +"When the alignment is known, setting I<pb> accordingly may reduce the file " +"size a little. For example, with text files having one-byte alignment " +"(US-ASCII, ISO-8859-*, UTF-8), setting B<pb=0> can improve compression " +"slightly. For UTF-16 text, B<pb=1> is a good choice. If the alignment is " +"an odd number like 3 bytes, B<pb=0> might be the best choice." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1614 +msgid "" +"Even though the assumed alignment can be adjusted with I<pb> and I<lp>, " +"LZMA1 and LZMA2 still slightly favor 16-byte alignment. It might be worth " +"taking into account when designing file formats that are likely to be often " +"compressed with LZMA1 or LZMA2." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1614 +#, no-wrap +msgid "B<mf=>I<mf>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1629 +msgid "" +"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 I<preset>: 0 uses B<hc3>, " +"1\\(en3 use B<hc4>, and the rest use B<bt4>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1635 +msgid "" +"The following match finders are supported. The memory usage formulas below " +"are rough approximations, which are closest to the reality when I<dict> is a " +"power of two." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1636 +#, no-wrap +msgid "B<hc3>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1639 +msgid "Hash Chain with 2- and 3-byte hashing" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1643 ../src/xz/xz.1:1692 +msgid "Minimum value for I<nice>: 3" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1645 ../src/xz/xz.1:1664 ../src/xz/xz.1:1694 +#: ../src/xz/xz.1:1713 +msgid "Memory usage:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1650 +msgid "I<dict> * 7.5 (if I<dict> E<lt>= 16 MiB);" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1655 +msgid "I<dict> * 5.5 + 64 MiB (if I<dict> E<gt> 16 MiB)" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1655 +#, no-wrap +msgid "B<hc4>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1658 +msgid "Hash Chain with 2-, 3-, and 4-byte hashing" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1662 ../src/xz/xz.1:1711 +msgid "Minimum value for I<nice>: 4" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1669 +msgid "I<dict> * 7.5 (if I<dict> E<lt>= 32 MiB);" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1674 +msgid "I<dict> * 6.5 (if I<dict> E<gt> 32 MiB)" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1674 +#, no-wrap +msgid "B<bt2>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1677 +msgid "Binary Tree with 2-byte hashing" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1681 +msgid "Minimum value for I<nice>: 2" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1685 +msgid "Memory usage: I<dict> * 9.5" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1685 +#, no-wrap +msgid "B<bt3>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1688 +msgid "Binary Tree with 2- and 3-byte hashing" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1699 +msgid "I<dict> * 11.5 (if I<dict> E<lt>= 16 MiB);" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1704 +msgid "I<dict> * 9.5 + 64 MiB (if I<dict> E<gt> 16 MiB)" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1704 +#, no-wrap +msgid "B<bt4>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1707 +msgid "Binary Tree with 2-, 3-, and 4-byte hashing" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1718 +msgid "I<dict> * 11.5 (if I<dict> E<lt>= 32 MiB);" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1723 +msgid "I<dict> * 10.5 (if I<dict> E<gt> 32 MiB)" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1724 +#, no-wrap +msgid "B<mode=>I<mode>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1745 +msgid "" +"Compression I<mode> specifies the method to analyze the data produced by the " +"match finder. Supported I<modes> are B<fast> and B<normal>. The default is " +"B<fast> for I<presets> 0\\(en3 and B<normal> for I<presets> 4\\(en9." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1754 +msgid "" +"Usually B<fast> is used with Hash Chain match finders and B<normal> with " +"Binary Tree match finders. This is also what the I<presets> do." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1754 +#, no-wrap +msgid "B<nice=>I<nice>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1761 +msgid "" +"Specify what is considered to be a nice length for a match. Once a match of " +"at least I<nice> bytes is found, the algorithm stops looking for possibly " +"better matches." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1768 +msgid "" +"I<Nice> can be 2\\(en273 bytes. Higher values tend to give better " +"compression ratio at the expense of speed. The default depends on the " +"I<preset>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1768 +#, no-wrap +msgid "B<depth=>I<depth>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1778 +msgid "" +"Specify the maximum search depth in the match finder. The default is the " +"special value of 0, which makes the compressor determine a reasonable " +"I<depth> from I<mf> and I<nice>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1789 +msgid "" +"Reasonable I<depth> for Hash Chains is 4\\(en100 and 16\\(en1000 for Binary " +"Trees. Using very high values for I<depth> can make the encoder extremely " +"slow with some files. Avoid setting the I<depth> over 1000 unless you are " +"prepared to interrupt the compression in case it is taking far too long." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1800 +msgid "" +"When decoding raw streams (B<--format=raw>), LZMA2 needs only the dictionary " +"I<size>. LZMA1 needs also I<lc>, I<lp>, and I<pb>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1800 +#, no-wrap +msgid "B<--x86>[B<=>I<options>]" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1803 +#, no-wrap +msgid "B<--arm>[B<=>I<options>]" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1805 +#, no-wrap +msgid "B<--armthumb>[B<=>I<options>]" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1807 +#, no-wrap +msgid "B<--arm64>[B<=>I<options>]" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1809 +#, no-wrap +msgid "B<--powerpc>[B<=>I<options>]" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1811 +#, no-wrap +msgid "B<--ia64>[B<=>I<options>]" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1813 +#, no-wrap +msgid "B<--sparc>[B<=>I<options>]" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1819 +msgid "" +"Add a branch/call/jump (BCJ) filter to the filter chain. These filters can " +"be used only as a non-last filter in the filter chain." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1833 +msgid "" +"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 " +"B<.xz> 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. The BCJ filters are very fast and use an " +"insignificant amount of memory." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1836 +msgid "These BCJ filters have known problems related to the compression ratio:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1843 +msgid "" +"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." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1853 +msgid "" +"If a BCJ filter is applied on an archive, it is possible that it makes the " +"compression ratio worse than not using a BCJ filter. For example, if there " +"are similar or even identical executables then filtering will likely make " +"the files less similar and thus compression is worse. The contents of " +"non-executable files in the same archive can matter too. In practice one " +"has to try with and without a BCJ filter to see which is better in each " +"situation." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1858 +msgid "" +"Different instruction sets have different alignment: the executable file " +"must be aligned to a multiple of this value in the input data to make the " +"filter work." +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1865 +#, no-wrap +msgid "Filter" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1865 +#, no-wrap +msgid "Alignment" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1865 +#, no-wrap +msgid "Notes" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1866 +#, no-wrap +msgid "x86" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1866 +#, no-wrap +msgid "32-bit or 64-bit x86" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1867 +#, no-wrap +msgid "ARM" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1868 +#, no-wrap +msgid "ARM-Thumb" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1869 +#, no-wrap +msgid "ARM64" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1869 +#, no-wrap +msgid "4096-byte alignment is best" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1870 +#, no-wrap +msgid "PowerPC" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1870 +#, no-wrap +msgid "Big endian only" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1871 +#, no-wrap +msgid "IA-64" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1871 +#, no-wrap +msgid "16" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1871 +#, no-wrap +msgid "Itanium" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1872 +#, no-wrap +msgid "SPARC" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:1873 +#, no-wrap +msgid "RISC-V" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1883 +msgid "" +"Since the BCJ-filtered data is usually compressed with LZMA2, the " +"compression ratio may be improved slightly if the LZMA2 options are set to " +"match the alignment of the selected BCJ filter. Examples:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1889 +msgid "" +"IA-64 filter has 16-byte alignment so B<pb=4,lp=4,lc=0> is good with LZMA2 " +"(2^4=16)." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1904 +msgid "" +"RISC-V code has 2-byte or 4-byte alignment depending on whether the file " +"contains 16-bit compressed instructions (the C extension). When 16-bit " +"instructions are used, B<pb=2,lp=1,lc=3> or B<pb=1,lp=1,lc=3> is good. When " +"16-bit instructions aren't present, B<pb=2,lp=2,lc=2> is the best. " +"B<readelf -h> can be used to check if \"RVC\" appears on the \"Flags\" line." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1908 +msgid "ARM64 is always 4-byte aligned so B<pb=2,lp=2,lc=2> is the best." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1913 +msgid "" +"The x86 filter is an exception. It's usually good to stick to LZMA2's " +"defaults (B<pb=2,lp=0,lc=3>) when compressing x86 executables." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1917 +msgid "All BCJ filters support the same I<options>:" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1918 +#, no-wrap +msgid "B<start=>I<offset>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1932 +msgid "" +"Specify the start I<offset> that is used when converting between relative " +"and absolute addresses. The I<offset> must be a multiple of the alignment " +"of the filter (see the table above). The default is zero. In practice, the " +"default is good; specifying a custom I<offset> is almost never useful." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1933 +#, no-wrap +msgid "B<--delta>[B<=>I<options>]" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1938 +msgid "" +"Add the Delta filter to the filter chain. The Delta filter can be only used " +"as a non-last filter in the filter chain." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1947 +msgid "" +"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 " +"B<flac>(1)." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1950 +msgid "Supported I<options>:" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1951 +#, no-wrap +msgid "B<dist=>I<distance>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1959 +msgid "" +"Specify the I<distance> of the delta calculation in bytes. I<distance> must " +"be 1\\(en256. The default is 1." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1964 +msgid "" +"For example, with B<dist=2> and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, " +"the output will be A1 B1 01 02 01 02 01 02." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:1966 +#, no-wrap +msgid "Other options" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1967 ../src/xzdec/xzdec.1:81 +#, no-wrap +msgid "B<-q>, B<--quiet>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1974 +msgid "" +"Suppress warnings and notices. Specify this twice to suppress errors too. " +"This option has no effect on the exit status. That is, even if a warning " +"was suppressed, the exit status to indicate a warning is still used." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:1974 +#, no-wrap +msgid "B<-v>, B<--verbose>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1983 +msgid "" +"Be verbose. If standard error is connected to a terminal, B<xz> will " +"display a progress indicator. Specifying B<--verbose> twice will give even " +"more verbose output." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1985 +msgid "The progress indicator shows the following information:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1990 +msgid "" +"Completion percentage is shown if the size of the input file is known. That " +"is, the percentage cannot be shown in pipes." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1993 +msgid "" +"Amount of compressed data produced (compressing) or consumed " +"(decompressing)." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:1996 +msgid "" +"Amount of uncompressed data consumed (compressing) or produced " +"(decompressing)." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2000 +msgid "" +"Compression ratio, which is calculated by dividing the amount of compressed " +"data processed so far by the amount of uncompressed data processed so far." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2007 +msgid "" +"Compression or decompression speed. This is measured as the amount of " +"uncompressed data consumed (compression) or produced (decompression) per " +"second. It is shown after a few seconds have passed since B<xz> started " +"processing the file." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2009 +msgid "Elapsed time in the format M:SS or H:MM:SS." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2017 +msgid "" +"Estimated remaining time is shown only when the size of the input file is " +"known and a couple of seconds have already passed since B<xz> started " +"processing the file. The time is shown in a less precise format which never " +"has any colons, for example, 2 min 30 s." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2032 +msgid "" +"When standard error is not a terminal, B<--verbose> will make B<xz> 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." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2032 ../src/xzdec/xzdec.1:87 +#, no-wrap +msgid "B<-Q>, B<--no-warn>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2042 +msgid "" +"Don't set the exit status to 2 even if a condition worth a warning was " +"detected. This option doesn't affect the verbosity level, thus both " +"B<--quiet> and B<--no-warn> have to be used to not display warnings and to " +"not alter the exit status." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2042 +#, no-wrap +msgid "B<--robot>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2054 +msgid "" +"Print messages in a machine-parsable format. This is intended to ease " +"writing frontends that want to use B<xz> instead of liblzma, which may be " +"the case with various scripts. The output with this option enabled is meant " +"to be stable across B<xz> releases. See the section B<ROBOT MODE> for " +"details." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2054 +#, no-wrap +msgid "B<--info-memory>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2061 +msgid "" +"Display, in human-readable format, how much physical memory (RAM) and how " +"many processor threads B<xz> thinks the system has and the memory usage " +"limits for compression and decompression, and exit successfully." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2061 ../src/xzdec/xzdec.1:94 +#, no-wrap +msgid "B<-h>, B<--help>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2065 +msgid "" +"Display a help message describing the most commonly used options, and exit " +"successfully." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2065 +#, no-wrap +msgid "B<-H>, B<--long-help>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2070 +msgid "" +"Display a help message describing all features of B<xz>, and exit " +"successfully" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2070 ../src/xzdec/xzdec.1:97 +#, no-wrap +msgid "B<-V>, B<--version>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2079 +msgid "" +"Display the version number of B<xz> and liblzma in human readable format. " +"To get machine-parsable output, specify B<--robot> before B<--version>." +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:2080 +#, no-wrap +msgid "ROBOT MODE" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2097 +msgid "" +"The robot mode is activated with the B<--robot> option. It makes the output " +"of B<xz> easier to parse by other programs. Currently B<--robot> is " +"supported only together with B<--list>, B<--filters-help>, B<--info-memory>, " +"and B<--version>. It will be supported for compression and decompression in " +"the future." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2098 +#, no-wrap +msgid "List mode" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2103 +msgid "" +"B<xz --robot --list> uses tab-separated output. The first column of every " +"line has a string that indicates the type of the information found on that " +"line:" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2103 +#, no-wrap +msgid "B<name>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2107 +msgid "" +"This is always the first line when starting to list a file. The second " +"column on the line is the filename." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2107 +#, no-wrap +msgid "B<file>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2115 +msgid "" +"This line contains overall information about the B<.xz> file. This line is " +"always printed after the B<name> line." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2115 +#, no-wrap +msgid "B<stream>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2125 +msgid "" +"This line type is used only when B<--verbose> was specified. There are as " +"many B<stream> lines as there are streams in the B<.xz> file." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2125 +#, no-wrap +msgid "B<block>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2140 +msgid "" +"This line type is used only when B<--verbose> was specified. There are as " +"many B<block> lines as there are blocks in the B<.xz> file. The B<block> " +"lines are shown after all the B<stream> lines; different line types are not " +"interleaved." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2140 +#, no-wrap +msgid "B<summary>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2155 +msgid "" +"This line type is used only when B<--verbose> was specified twice. This " +"line is printed after all B<block> lines. Like the B<file> line, the " +"B<summary> line contains overall information about the B<.xz> file." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2155 +#, no-wrap +msgid "B<totals>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2159 +msgid "" +"This line is always the very last line of the list output. It shows the " +"total counts and sizes." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2163 +msgid "The columns of the B<file> lines:" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2165 ../src/xz/xz.1:2202 ../src/xz/xz.1:2228 +#: ../src/xz/xz.1:2298 ../src/xz/xz.1:2325 ../src/xz/xz.1:2414 +#, no-wrap +msgid "2." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2167 +msgid "Number of streams in the file" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2167 ../src/xz/xz.1:2204 ../src/xz/xz.1:2230 +#: ../src/xz/xz.1:2303 ../src/xz/xz.1:2327 ../src/xz/xz.1:2421 +#, no-wrap +msgid "3." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2169 +msgid "Total number of blocks in the stream(s)" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2169 ../src/xz/xz.1:2206 ../src/xz/xz.1:2233 +#: ../src/xz/xz.1:2313 ../src/xz/xz.1:2329 ../src/xz/xz.1:2428 +#, no-wrap +msgid "4." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2171 +msgid "Compressed size of the file" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2171 ../src/xz/xz.1:2208 ../src/xz/xz.1:2235 +#: ../src/xz/xz.1:2331 ../src/xz/xz.1:2440 +#, no-wrap +msgid "5." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2173 +msgid "Uncompressed size of the file" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2173 ../src/xz/xz.1:2210 ../src/xz/xz.1:2237 +#: ../src/xz/xz.1:2333 ../src/xz/xz.1:2452 +#, no-wrap +msgid "6." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2179 +msgid "" +"Compression ratio, for example, B<0.123>. If ratio is over 9.999, three " +"dashes (B<--->) are displayed instead of the ratio." +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2179 ../src/xz/xz.1:2212 ../src/xz/xz.1:2239 +#: ../src/xz/xz.1:2335 +#, no-wrap +msgid "7." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2192 +msgid "" +"Comma-separated list of integrity check names. The following strings are " +"used for the known check types: B<None>, B<CRC32>, B<CRC64>, and " +"B<SHA-256>. For unknown check types, B<Unknown->I<N> is used, where I<N> is " +"the Check ID as a decimal number (one or two digits)." +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2192 ../src/xz/xz.1:2214 ../src/xz/xz.1:2241 +#: ../src/xz/xz.1:2338 +#, no-wrap +msgid "8." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2194 +msgid "Total size of stream padding in the file" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2200 +msgid "The columns of the B<stream> lines:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2204 +msgid "Stream number (the first stream is 1)" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2206 +msgid "Number of blocks in the stream" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2208 +msgid "Compressed start offset" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2210 +msgid "Uncompressed start offset" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2212 +msgid "Compressed size (does not include stream padding)" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2214 ../src/xz/xz.1:2243 ../src/xz/xz.1:2333 +msgid "Uncompressed size" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2216 ../src/xz/xz.1:2245 +msgid "Compression ratio" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2216 ../src/xz/xz.1:2243 ../src/xz/xz.1:2340 +#, no-wrap +msgid "9." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2218 ../src/xz/xz.1:2247 +msgid "Name of the integrity check" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2218 ../src/xz/xz.1:2245 ../src/xz/xz.1:2356 +#, no-wrap +msgid "10." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2220 +msgid "Size of stream padding" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2226 +msgid "The columns of the B<block> lines:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2230 +msgid "Number of the stream containing this block" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2233 +msgid "Block number relative to the beginning of the stream (the first block is 1)" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2235 +msgid "Block number relative to the beginning of the file" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2237 +msgid "Compressed start offset relative to the beginning of the file" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2239 +msgid "Uncompressed start offset relative to the beginning of the file" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2241 +msgid "Total compressed size of the block (includes headers)" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2259 +msgid "" +"If B<--verbose> was specified twice, additional columns are included on the " +"B<block> lines. These are not displayed with a single B<--verbose>, because " +"getting this information requires many seeks and can thus be slow:" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2261 ../src/xz/xz.1:2361 +#, no-wrap +msgid "11." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2263 +msgid "Value of the integrity check in hexadecimal" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2263 ../src/xz/xz.1:2371 +#, no-wrap +msgid "12." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2265 +msgid "Block header size" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2265 +#, no-wrap +msgid "13." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2275 +msgid "" +"Block flags: B<c> indicates that compressed size is present, and B<u> " +"indicates that uncompressed size is present. If the flag is not set, a dash " +"(B<->) is shown instead to keep the string length fixed. New flags may be " +"added to the end of the string in the future." +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2275 +#, no-wrap +msgid "14." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2278 +msgid "" +"Size of the actual compressed data in the block (this excludes the block " +"header, block padding, and check fields)" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2278 +#, no-wrap +msgid "15." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2283 +msgid "" +"Amount of memory (in bytes) required to decompress this block with this " +"B<xz> version" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2283 +#, no-wrap +msgid "16." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2290 +msgid "" +"Filter chain. Note that most of the options used at compression time cannot " +"be known, because only the options that are needed for decompression are " +"stored in the B<.xz> headers." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2296 +msgid "The columns of the B<summary> lines:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2303 +msgid "" +"Amount of memory (in bytes) required to decompress this file with this B<xz> " +"version" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2309 ../src/xz/xz.1:2367 +msgid "" +"B<yes> or B<no> indicating if all block headers have both compressed size " +"and uncompressed size stored in them" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2313 ../src/xz/xz.1:2371 +msgid "I<Since> B<xz> I<5.1.2alpha:>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2317 ../src/xz/xz.1:2375 +msgid "Minimum B<xz> version required to decompress the file" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2323 +msgid "The columns of the B<totals> line:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2327 +msgid "Number of streams" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2329 +msgid "Number of blocks" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2331 +msgid "Compressed size" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2335 +msgid "Average compression ratio" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2338 +msgid "Comma-separated list of integrity check names that were present in the files" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2340 +msgid "Stream padding size" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2346 +msgid "" +"Number of files. This is here to keep the order of the earlier columns the " +"same as on B<file> lines." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2354 +msgid "" +"If B<--verbose> was specified twice, additional columns are included on the " +"B<totals> line:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2361 +msgid "" +"Maximum amount of memory (in bytes) required to decompress the files with " +"this B<xz> version" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2381 +msgid "" +"Future versions may add new line types and new columns can be added to the " +"existing line types, but the existing columns won't be changed." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2382 +#, no-wrap +msgid "Filters help" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2385 +msgid "" +"B<xz --robot --filters-help> prints the supported filters in the following " +"format:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2387 +msgid "I<filter>B<:>I<option>B<=E<lt>>I<value>B<E<gt>,>I<option>B<=E<lt>>I<value>B<E<gt>>..." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2387 +#, no-wrap +msgid "I<filter>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2390 +msgid "Name of the filter" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2390 +#, no-wrap +msgid "I<option>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2393 +msgid "Name of a filter specific option" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2393 +#, no-wrap +msgid "I<value>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2406 +msgid "" +"Numeric I<value> ranges appear as B<E<lt>>I<min>B<->I<max>B<E<gt>>. String " +"I<value> choices are shown within B<E<lt> E<gt>> and separated by a B<|> " +"character." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2408 +msgid "Each filter is printed on its own line." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2409 +#, no-wrap +msgid "Memory limit information" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2412 +msgid "" +"B<xz --robot --info-memory> prints a single line with multiple tab-separated " +"columns:" +msgstr "" + +#. type: IP +#: ../src/xz/xz.1:2412 +#, no-wrap +msgid "1." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2414 +msgid "Total amount of physical memory (RAM) in bytes." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2421 +msgid "" +"Memory usage limit for compression in bytes (B<--memlimit-compress>). A " +"special value of B<0> indicates the default setting which for " +"single-threaded mode is the same as no limit." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2428 +msgid "" +"Memory usage limit for decompression in bytes (B<--memlimit-decompress>). A " +"special value of B<0> indicates the default setting which for " +"single-threaded mode is the same as no limit." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2440 +msgid "" +"Since B<xz> 5.3.4alpha: Memory usage for multi-threaded decompression in " +"bytes (B<--memlimit-mt-decompress>). This is never zero because a " +"system-specific default value shown in the column 5 is used if no limit has " +"been specified explicitly. This is also never greater than the value in the " +"column 3 even if a larger value has been specified with " +"B<--memlimit-mt-decompress>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2452 +msgid "" +"Since B<xz> 5.3.4alpha: A system-specific default memory usage limit that is " +"used to limit the number of threads when compressing with an automatic " +"number of threads (B<--threads=0>) and no memory usage limit has been " +"specified (B<--memlimit-compress>). This is also used as the default value " +"for B<--memlimit-mt-decompress>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2457 +msgid "Since B<xz> 5.3.4alpha: Number of available processor threads." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2461 +msgid "" +"In the future, the output of B<xz --robot --info-memory> may have more " +"columns, but never more than a single line." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2462 +#, no-wrap +msgid "Version" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2467 +msgid "" +"B<xz --robot --version> prints the version number of B<xz> and liblzma in " +"the following format:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2469 +msgid "B<XZ_VERSION=>I<XYYYZZZS>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2471 +msgid "B<LIBLZMA_VERSION=>I<XYYYZZZS>" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2471 +#, no-wrap +msgid "I<X>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2474 +msgid "Major version." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2474 +#, no-wrap +msgid "I<YYY>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2479 +msgid "" +"Minor version. Even numbers are stable. Odd numbers are alpha or beta " +"versions." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2479 +#, no-wrap +msgid "I<ZZZ>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2483 +msgid "Patch level for stable releases or just a counter for development releases." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2483 +#, no-wrap +msgid "I<S>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2491 +msgid "" +"Stability. 0 is alpha, 1 is beta, and 2 is stable. I<S> should be always 2 " +"when I<YYY> is even." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2496 +msgid "" +"I<XYYYZZZS> are the same on both lines if B<xz> and liblzma are from the " +"same XZ Utils release." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2502 +msgid "Examples: 4.999.9beta is B<49990091> and 5.0.0 is B<50000002>." +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:2503 ../src/xzdec/xzdec.1:102 ../src/lzmainfo/lzmainfo.1:42 +#: ../src/scripts/xzdiff.1:79 ../src/scripts/xzgrep.1:110 +#, no-wrap +msgid "EXIT STATUS" +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2504 ../src/xzdec/xzdec.1:103 ../src/lzmainfo/lzmainfo.1:43 +#, no-wrap +msgid "B<0>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2507 ../src/lzmainfo/lzmainfo.1:46 +msgid "All is good." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2507 ../src/xzdec/xzdec.1:106 ../src/lzmainfo/lzmainfo.1:46 +#, no-wrap +msgid "B<1>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2510 ../src/xzdec/xzdec.1:109 ../src/lzmainfo/lzmainfo.1:49 +msgid "An error occurred." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2510 +#, no-wrap +msgid "B<2>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2514 +msgid "Something worth a warning occurred, but no actual errors occurred." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2517 +msgid "" +"Notices (not warnings or errors) printed on standard error don't affect the " +"exit status." +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:2518 ../src/scripts/xzgrep.1:124 ../src/scripts/xzless.1:50 +#: ../src/scripts/xzmore.1:52 +#, no-wrap +msgid "ENVIRONMENT" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2531 +msgid "" +"B<xz> parses space-separated lists of options from the environment variables " +"B<XZ_DEFAULTS> and B<XZ_OPT>, in this order, before parsing the options from " +"the command line. Note that only options are parsed from the environment " +"variables; all non-options are silently ignored. Parsing is done with " +"B<getopt_long>(3) which is used also for the command line arguments." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2531 +#, no-wrap +msgid "B<XZ_DEFAULTS>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2540 +msgid "" +"User-specific or system-wide default options. Typically this is set in a " +"shell initialization script to enable B<xz>'s memory usage limiter by " +"default. Excluding shell initialization scripts and similar special cases, " +"scripts must never set or unset B<XZ_DEFAULTS>." +msgstr "" + +#. type: TP +#: ../src/xz/xz.1:2540 +#, no-wrap +msgid "B<XZ_OPT>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2551 +msgid "" +"This is for passing options to B<xz> when it is not possible to set the " +"options directly on the B<xz> command line. This is the case when B<xz> is " +"run by a script or tool, for example, GNU B<tar>(1):" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2557 +#, no-wrap +msgid "CW<XZ_OPT=-2v tar caf foo.tar.xz foo>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2571 +msgid "" +"Scripts may use B<XZ_OPT>, for example, to set script-specific default " +"compression options. It is still recommended to allow users to override " +"B<XZ_OPT> if that is reasonable. For example, in B<sh>(1) scripts one may " +"use something like this:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2578 +#, no-wrap +msgid "" +"CW<XZ_OPT=${XZ_OPT-\"-7e\"}\n" +"export XZ_OPT>\n" +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:2583 +#, no-wrap +msgid "LZMA UTILS COMPATIBILITY" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2596 +msgid "" +"The command line syntax of B<xz> is practically a superset of B<lzma>, " +"B<unlzma>, and B<lzcat> as found from LZMA Utils 4.32.x. In most cases, it " +"is possible to replace LZMA Utils with XZ Utils without breaking existing " +"scripts. There are some incompatibilities though, which may sometimes cause " +"problems." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2597 +#, no-wrap +msgid "Compression preset levels" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2604 +msgid "" +"The numbering of the compression level presets is not identical in B<xz> and " +"LZMA Utils. The most important difference is how dictionary sizes are " +"mapped to different presets. Dictionary size is roughly equal to the " +"decompressor memory usage." +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2610 ../src/xz/xz.1:2635 +#, no-wrap +msgid "Level" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2610 ../src/xz/xz.1:2635 +#, no-wrap +msgid "xz" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2610 +#, no-wrap +msgid "LZMA Utils" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2611 ../src/xz/xz.1:2636 +#, no-wrap +msgid "N/A" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2612 +#, no-wrap +msgid "64 KiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2614 +#, no-wrap +msgid "512 KiB" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2629 +msgid "" +"The dictionary size differences affect the compressor memory usage too, but " +"there are some other differences between LZMA Utils and XZ Utils, which make " +"the difference even bigger:" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2635 +#, no-wrap +msgid "LZMA Utils 4.32.x" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2638 ../src/xz/xz.1:2639 +#, no-wrap +msgid "12 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2641 +#, no-wrap +msgid "26 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2642 +#, no-wrap +msgid "45 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2643 +#, no-wrap +msgid "83 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2644 +#, no-wrap +msgid "159 MiB" +msgstr "" + +#. type: tbl table +#: ../src/xz/xz.1:2645 +#, no-wrap +msgid "311 MiB" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2654 +msgid "" +"The default preset level in LZMA Utils is B<-7> while in XZ Utils it is " +"B<-6>, so both use an 8 MiB dictionary by default." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2655 +#, no-wrap +msgid "Streamed vs. non-streamed .lzma files" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2665 +msgid "" +"The uncompressed size of the file can be stored in the B<.lzma> 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." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2686 +msgid "" +"B<xz> supports decompressing B<.lzma> files with or without end-of-payload " +"marker, but all B<.lzma> files created by B<xz> will use end-of-payload " +"marker and have uncompressed size marked as unknown in the B<.lzma> header. " +"This may be a problem in some uncommon situations. For example, a B<.lzma> " +"decompressor in an embedded device might work only with files that have " +"known uncompressed size. If you hit this problem, you need to use LZMA " +"Utils or LZMA SDK to create B<.lzma> files with known uncompressed size." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2687 +#, no-wrap +msgid "Unsupported .lzma files" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2710 +msgid "" +"The B<.lzma> format allows I<lc> values up to 8, and I<lp> values up to 4. " +"LZMA Utils can decompress files with any I<lc> and I<lp>, but always creates " +"files with B<lc=3> and B<lp=0>. Creating files with other I<lc> and I<lp> " +"is possible with B<xz> and with LZMA SDK." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2721 +msgid "" +"The implementation of the LZMA1 filter in liblzma requires that the sum of " +"I<lc> and I<lp> must not exceed 4. Thus, B<.lzma> files, which exceed this " +"limitation, cannot be decompressed with B<xz>." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2736 +msgid "" +"LZMA Utils creates only B<.lzma> files which have a dictionary size of " +"2^I<n> (a power of 2) but accepts files with any dictionary size. liblzma " +"accepts only B<.lzma> files which have a dictionary size of 2^I<n> or 2^I<n> " +"+ 2^(I<n>-1). This is to decrease false positives when detecting B<.lzma> " +"files." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2741 +msgid "" +"These limitations shouldn't be a problem in practice, since practically all " +"B<.lzma> files have been compressed with settings that liblzma will accept." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2742 +#, no-wrap +msgid "Trailing garbage" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2752 +msgid "" +"When decompressing, LZMA Utils silently ignore everything after the first " +"B<.lzma> stream. In most situations, this is a bug. This also means that " +"LZMA Utils don't support decompressing concatenated B<.lzma> files." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2762 +msgid "" +"If there is data left after the first B<.lzma> stream, B<xz> considers the " +"file to be corrupt unless B<--single-stream> was used. This may break " +"obscure scripts which have assumed that trailing garbage is ignored." +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:2763 ../src/xzdec/xzdec.1:115 +#, no-wrap +msgid "NOTES" +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2765 +#, no-wrap +msgid "Compressed output may vary" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2776 +msgid "" +"The exact compressed output produced from the same uncompressed input file " +"may vary between XZ Utils versions even if compression options are " +"identical. This is because the encoder can be improved (faster or better " +"compression) without affecting the file format. The output can vary even " +"between different builds of the same XZ Utils version, if different build " +"options are used." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2786 +msgid "" +"The above means that once B<--rsyncable> has been implemented, the resulting " +"files won't necessarily be rsyncable unless both old and new files have been " +"compressed with the same xz version. This problem can be fixed if a part of " +"the encoder implementation is frozen to keep rsyncable output stable across " +"xz versions." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2787 +#, no-wrap +msgid "Embedded .xz decompressors" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2804 +msgid "" +"Embedded B<.xz> decompressor implementations like XZ Embedded don't " +"necessarily support files created with integrity I<check> types other than " +"B<none> and B<crc32>. Since the default is B<--check=crc64>, you must use " +"B<--check=none> or B<--check=crc32> when creating files for embedded " +"systems." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2814 +msgid "" +"Outside embedded systems, all B<.xz> format decompressors support all the " +"I<check> types, or at least are able to decompress the file without " +"verifying the integrity check if the particular I<check> is not supported." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2817 +msgid "XZ Embedded supports BCJ filters, but only with the default start offset." +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:2818 +#, no-wrap +msgid "EXAMPLES" +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2820 +#, no-wrap +msgid "Basics" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2830 +msgid "" +"Compress the file I<foo> into I<foo.xz> using the default compression level " +"(B<-6>), and remove I<foo> if compression is successful:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2835 +#, no-wrap +msgid "CW<xz foo>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2846 +msgid "" +"Decompress I<bar.xz> into I<bar> and don't remove I<bar.xz> even if " +"decompression is successful:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2851 +#, no-wrap +msgid "CW<xz -dk bar.xz>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2864 +msgid "" +"Create I<baz.tar.xz> with the preset B<-4e> (B<-4 --extreme>), which is " +"slower than the default B<-6>, but needs less memory for compression and " +"decompression (48\\ MiB and 5\\ MiB, respectively):" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2869 +#, no-wrap +msgid "CW<tar cf - baz | xz -4e E<gt> baz.tar.xz>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2875 +msgid "" +"A mix of compressed and uncompressed files can be decompressed to standard " +"output with a single command:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2880 +#, no-wrap +msgid "CW<xz -dcf a.txt b.txt.xz c.txt d.txt.lzma E<gt> abcd.txt>\n" +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2884 +#, no-wrap +msgid "Parallel compression of many files" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2890 +msgid "" +"On GNU and *BSD, B<find>(1) and B<xargs>(1) can be used to parallelize " +"compression of many files:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2896 +#, no-wrap +msgid "" +"CW<find . -type f \\e! -name '*.xz' -print0 \\e\n" +" | xargs -0r -P4 -n16 xz -T1>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2918 +msgid "" +"The B<-P> option to B<xargs>(1) sets the number of parallel B<xz> " +"processes. The best value for the B<-n> option depends on how many files " +"there are to be compressed. If there are only a couple of files, the value " +"should probably be 1; with tens of thousands of files, 100 or even more may " +"be appropriate to reduce the number of B<xz> processes that B<xargs>(1) " +"will eventually create." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2926 +msgid "" +"The option B<-T1> for B<xz> is there to force it to single-threaded mode, " +"because B<xargs>(1) is used to control the amount of parallelization." +msgstr "" + +#. type: SS +#: ../src/xz/xz.1:2927 +#, no-wrap +msgid "Robot mode" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2930 +msgid "" +"Calculate how many bytes have been saved in total after compressing multiple " +"files:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2935 +#, no-wrap +msgid "CW<xz --robot --list *.xz | awk '/^totals/{print $5-$4}'>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2950 +msgid "" +"A script may want to know that it is using new enough B<xz>. The following " +"B<sh>(1) script checks that the version number of the B<xz> tool is at " +"least 5.0.0. This method is compatible with old beta versions, which didn't " +"support the B<--robot> option:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2959 +#, no-wrap +msgid "" +"CW<if ! eval \"$(xz --robot --version 2E<gt> /dev/null)\" ||\n" +" [ \"$XZ_VERSION\" -lt 50000002 ]; then\n" +" echo \"Your xz is too old.\"\n" +"fi\n" +"unset XZ_VERSION LIBLZMA_VERSION>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2966 +msgid "" +"Set a memory usage limit for decompression using B<XZ_OPT>, but if a limit " +"has already been set, don't increase it:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2976 +#, no-wrap +msgid "" +"CW<NEWLIM=$((123 E<lt>E<lt> 20))\\ \\ # 123 MiB\n" +"OLDLIM=$(xz --robot --info-memory | cut -f3)\n" +"if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then\n" +" XZ_OPT=\"$XZ_OPT --memlimit-decompress=$NEWLIM\"\n" +" export XZ_OPT\n" +"fi>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2986 +msgid "" +"The simplest use for custom filter chains is customizing a LZMA2 preset. " +"This can be useful, because the presets cover only a subset of the " +"potentially useful combinations of compression settings." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:2994 +msgid "" +"The CompCPU columns of the tables from the descriptions of the options B<-0> " +"... B<-9> and B<--extreme> are useful when customizing LZMA2 presets. Here " +"are the relevant parts collected from those two tables:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3019 +msgid "" +"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 B<xz -8> " +"would do, a preset with a low CompCPU value (for example, 1) can be " +"modified to use a bigger dictionary:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3024 +#, no-wrap +msgid "CW<xz --lzma2=preset=1,dict=32MiB foo.tar>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3040 +msgid "" +"With certain files, the above command may be faster than B<xz -6> while " +"compressing significantly better. However, it must be emphasized that only " +"some files benefit from a big dictionary while keeping the CompCPU value " +"low. The most obvious situation, where a big dictionary can help a lot, is " +"an archive containing very similar files of at least a few megabytes each. " +"The dictionary size has to be significantly bigger than any individual file " +"to allow LZMA2 to take full advantage of the similarities between " +"consecutive files." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3047 +msgid "" +"If very high compressor and decompressor memory usage is fine, and the file " +"being compressed is at least several hundred megabytes, it may be useful to " +"use an even bigger dictionary than the 64 MiB that B<xz -9> would use:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3052 +#, no-wrap +msgid "CW<xz -vv --lzma2=dict=192MiB big_foo.tar>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3065 +msgid "" +"Using B<-vv> (B<--verbose --verbose>) like in the above example can be " +"useful to see the memory requirements of the compressor and decompressor. " +"Remember that using a dictionary bigger than the size of the uncompressed " +"file is waste of memory, so the above command isn't useful for small files." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3077 +msgid "" +"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 B<-6e> (B<-6 " +"--extreme>) 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 " +"B<--check=crc32>) using about 100\\ KiB of memory." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3082 +#, no-wrap +msgid "CW<xz --check=crc32 --lzma2=preset=6e,dict=64KiB foo>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3105 +msgid "" +"If you want to squeeze out as many bytes as possible, adjusting the number " +"of literal context bits (I<lc>) and number of position bits (I<pb>) can " +"sometimes help. Adjusting the number of literal position bits (I<lp>) " +"might help too, but usually I<lc> and I<pb> 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 B<xz " +"-6e> (try also without B<lc=4>):" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3110 +#, no-wrap +msgid "CW<xz --lzma2=preset=6e,pb=0,lc=4 source_code.tar>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3118 +msgid "" +"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:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3123 +#, no-wrap +msgid "CW<xz --x86 --lzma2 libfoo.so>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3137 +msgid "" +"Note that the order of the filter options is significant. If B<--x86> is " +"specified after B<--lzma2>, B<xz> will give an error, because there cannot " +"be any filter after LZMA2, and also because the x86 BCJ filter cannot be " +"used as the last filter in the chain." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3143 +msgid "" +"The Delta filter together with LZMA2 can give good results with bitmap " +"images. It should usually beat PNG, which has a few more advanced filters " +"than simple delta but uses Deflate for the actual compression." +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3153 +msgid "" +"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 B<dist=3>, and it is also good to pass B<pb=0> to LZMA2 to " +"accommodate the three-byte alignment:" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3158 +#, no-wrap +msgid "CW<xz --delta=dist=3 --lzma2=pb=0 foo.tiff>\n" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3166 +msgid "" +"If multiple images have been put into a single archive (for example, " +"B<.tar>), the Delta filter will work on that too as long as all images have " +"the same number of bytes per pixel." +msgstr "" + +#. type: SH +#: ../src/xz/xz.1:3167 ../src/xzdec/xzdec.1:141 ../src/lzmainfo/lzmainfo.1:57 +#: ../src/scripts/xzdiff.1:88 ../src/scripts/xzgrep.1:136 +#: ../src/scripts/xzless.1:63 ../src/scripts/xzmore.1:61 +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3176 +msgid "" +"B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), " +"B<gzip>(1), B<bzip2>(1), B<7z>(1)" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3178 +msgid "XZ Utils: E<lt>https://xz.tukaani.org/xz-utils/E<gt>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3180 ../src/xzdec/xzdec.1:144 +msgid "XZ Embedded: E<lt>https://xz.tukaani.org/xz-embedded/E<gt>" +msgstr "" + +#. type: Plain text +#: ../src/xz/xz.1:3181 +msgid "LZMA SDK: E<lt>https://7-zip.org/sdk.htmlE<gt>" +msgstr "" + +#. type: TH +#: ../src/xzdec/xzdec.1:5 +#, no-wrap +msgid "XZDEC" +msgstr "" + +#. type: TH +#: ../src/xzdec/xzdec.1:5 +#, no-wrap +msgid "2024-01-19" +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:8 +msgid "xzdec, lzmadec - Small .xz and .lzma decompressors" +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:12 +msgid "B<xzdec> [I<option...>] [I<file...>]" +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:16 +msgid "B<lzmadec> [I<option...>] [I<file...>]" +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:42 +msgid "" +"B<xzdec> is a liblzma-based decompression-only tool for B<.xz> (and only " +"B<.xz>) files. B<xzdec> is intended to work as a drop-in replacement for " +"B<xz>(1) in the most common situations where a script has been written to " +"use B<xz --decompress --stdout> (and possibly a few other commonly used " +"options) to decompress B<.xz> files. B<lzmadec> is identical to B<xzdec> " +"except that B<lzmadec> supports B<.lzma> files instead of B<.xz> files." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:59 +msgid "" +"To reduce the size of the executable, B<xzdec> doesn't support " +"multithreading or localization, and doesn't read options from B<XZ_DEFAULTS> " +"and B<XZ_OPT> environment variables. B<xzdec> doesn't support displaying " +"intermediate progress information: sending B<SIGINFO> to B<xzdec> does " +"nothing, but sending B<SIGUSR1> terminates the process instead of displaying " +"progress information." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:67 +msgid "Ignored for B<xz>(1) compatibility. B<xzdec> supports only decompression." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:74 +msgid "" +"Ignored for B<xz>(1) compatibility. B<xzdec> never creates or removes any " +"files." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:81 +msgid "" +"Ignored for B<xz>(1) compatibility. B<xzdec> always writes the " +"decompressed data to standard output." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:87 +msgid "" +"Specifying this once does nothing since B<xzdec> never displays any warnings " +"or notices. Specify this twice to suppress errors." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:94 +msgid "Ignored for B<xz>(1) compatibility. B<xzdec> never uses the exit status 2." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:97 +msgid "Display a help message and exit successfully." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:102 +msgid "Display the version number of B<xzdec> and liblzma." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:106 +msgid "All was good." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:115 +msgid "" +"B<xzdec> doesn't have any warning messages like B<xz>(1) has, thus the exit " +"status 2 is not used by B<xzdec>." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:129 +msgid "" +"Use B<xz>(1) instead of B<xzdec> or B<lzmadec> for normal everyday use. " +"B<xzdec> or B<lzmadec> are meant only for situations where it is important " +"to have a smaller decompressor than the full-featured B<xz>(1)." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:141 +msgid "" +"B<xzdec> and B<lzmadec> are not really that small. The size can be reduced " +"further by dropping features from liblzma at compile time, but that " +"shouldn't usually be done for executables distributed in typical " +"non-embedded operating system distributions. If you need a truly small " +"B<.xz> decompressor, consider using XZ Embedded." +msgstr "" + +#. type: Plain text +#: ../src/xzdec/xzdec.1:143 ../src/lzmainfo/lzmainfo.1:58 +msgid "B<xz>(1)" +msgstr "" + +#. type: TH +#: ../src/lzmainfo/lzmainfo.1:5 +#, no-wrap +msgid "LZMAINFO" +msgstr "" + +#. type: TH +#: ../src/lzmainfo/lzmainfo.1:5 +#, no-wrap +msgid "2013-06-30" +msgstr "" + +#. type: Plain text +#: ../src/lzmainfo/lzmainfo.1:8 +msgid "lzmainfo - show information stored in the .lzma file header" +msgstr "" + +#. type: Plain text +#: ../src/lzmainfo/lzmainfo.1:13 +msgid "B<lzmainfo> [B<--help>] [B<--version>] [I<file...>]" +msgstr "" + +#. type: Plain text +#: ../src/lzmainfo/lzmainfo.1:29 +msgid "" +"B<lzmainfo> shows information stored in the B<.lzma> file header. It reads " +"the first 13 bytes from the specified I<file>, decodes the header, and " +"prints it to standard output in human readable format. If no I<files> are " +"given or I<file> is B<->, standard input is read." +msgstr "" + +#. type: Plain text +#: ../src/lzmainfo/lzmainfo.1:38 +msgid "" +"Usually the most interesting information is the uncompressed size and the " +"dictionary size. Uncompressed size can be shown only if the file is in the " +"non-streamed B<.lzma> format variant. The amount of memory required to " +"decompress the file is a few dozen kilobytes plus the dictionary size." +msgstr "" + +#. type: Plain text +#: ../src/lzmainfo/lzmainfo.1:42 +msgid "" +"B<lzmainfo> is included in XZ Utils primarily for backward compatibility " +"with LZMA Utils." +msgstr "" + +#. type: SH +#: ../src/lzmainfo/lzmainfo.1:49 +#, no-wrap +msgid "BUGS" +msgstr "" + +#. type: Plain text +#: ../src/lzmainfo/lzmainfo.1:57 +msgid "" +"B<lzmainfo> uses B<MB> while the correct suffix would be B<MiB> (2^20 " +"bytes). This is to keep the output compatible with LZMA Utils." +msgstr "" + +#. type: TH +#: ../src/scripts/xzdiff.1:8 +#, no-wrap +msgid "XZDIFF" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:11 +msgid "xzcmp, xzdiff, lzcmp, lzdiff - compare compressed files" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:17 +msgid "B<xzcmp> [I<option...>] I<file1> [I<file2>]" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:20 +msgid "B<xzdiff> \\&..." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:23 +msgid "B<lzcmp> \\&..." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:26 +msgid "B<lzdiff> \\&..." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:41 +msgid "" +"B<xzcmp> and B<xzdiff> compare uncompressed contents of two files. " +"Uncompressed data and options are passed to B<cmp>(1) or B<diff>(1) unless " +"B<--help> or B<--version> is specified." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:64 +msgid "" +"If both I<file1> and I<file2> are specified, they can be uncompressed files " +"or files in formats that B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), " +"B<zstd>(1), or B<lz4>(1) can decompress. The required decompression " +"commands are determined from the filename suffixes of I<file1> and " +"I<file2>. A file with an unknown suffix is assumed to be either " +"uncompressed or in a format that B<xz>(1) can decompress." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:72 +msgid "" +"If only one filename is provided, I<file1> must have a suffix of a supported " +"compression format and the name for I<file2> is assumed to be I<file1> with " +"the compression format suffix removed." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:78 +msgid "" +"The commands B<lzcmp> and B<lzdiff> are provided for backward compatibility " +"with LZMA Utils." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:87 +msgid "" +"If a decompression error occurs, the exit status is B<2>. Otherwise the " +"exit status of B<cmp>(1) or B<diff>(1) is used." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzdiff.1:96 +msgid "" +"B<cmp>(1), B<diff>(1), B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), " +"B<zstd>(1), B<lz4>(1)" +msgstr "" + +#. type: TH +#: ../src/scripts/xzgrep.1:8 +#, no-wrap +msgid "XZGREP" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:11 +msgid "xzgrep - search possibly-compressed files for patterns" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:17 +msgid "B<xzgrep> [I<option...>] [I<pattern_list>] [I<file...>]" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:20 +msgid "B<xzegrep> \\&..." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:23 +msgid "B<xzfgrep> \\&..." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:26 +msgid "B<lzgrep> \\&..." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:29 +msgid "B<lzegrep> \\&..." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:32 +msgid "B<lzfgrep> \\&..." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:53 +msgid "" +"B<xzgrep> invokes B<grep>(1) on uncompressed contents of files. The " +"formats of the I<files> are determined from the filename suffixes. Any " +"I<file> with a suffix supported by B<xz>(1), B<gzip>(1), B<bzip2>(1), " +"B<lzop>(1), B<zstd>(1), or B<lz4>(1) will be decompressed; all other files " +"are assumed to be uncompressed." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:65 +msgid "" +"If no I<files> are specified or I<file> is B<-> then standard input is " +"read. When reading from standard input, only files supported by B<xz>(1) " +"are decompressed. Other files are assumed to be in uncompressed form " +"already." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:72 +msgid "" +"Most I<options> of B<grep>(1) are supported. However, the following " +"options are not supported:" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:75 +msgid "B<-r>, B<--recursive>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:78 +msgid "B<-R>, B<--dereference-recursive>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:81 +msgid "B<-d>, B<--directories=>I<action>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:84 +msgid "B<-Z>, B<--null>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:87 +msgid "B<-z>, B<--null-data>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:89 +msgid "B<--include=>I<glob>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:91 +msgid "B<--exclude=>I<glob>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:93 +msgid "B<--exclude-from=>I<file>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:95 +msgid "B<--exclude-dir=>I<glob>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:102 +msgid "" +"B<xzegrep> is an alias for B<xzgrep -E>. B<xzfgrep> is an alias for " +"B<xzgrep -F>." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:109 +msgid "" +"The commands B<lzgrep>, B<lzegrep>, and B<lzfgrep> are provided for backward " +"compatibility with LZMA Utils." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:115 +msgid "" +"At least one match was found from at least one of the input files. No " +"errors occurred." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:119 +msgid "No matches were found from any of the input files. No errors occurred." +msgstr "" + +#. type: TP +#: ../src/scripts/xzgrep.1:119 +#, no-wrap +msgid "E<gt>1" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:123 +msgid "One or more errors occurred. It is unknown if matches were found." +msgstr "" + +#. type: TP +#: ../src/scripts/xzgrep.1:125 +#, no-wrap +msgid "B<GREP>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:135 +msgid "" +"If B<GREP> is set to a non-empty value, it is used instead of B<grep>, " +"B<grep -E>, or B<grep -F>." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzgrep.1:144 +msgid "" +"B<grep>(1), B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), B<zstd>(1), " +"B<lz4>(1), B<zgrep>(1)" +msgstr "" + +#. type: TH +#: ../src/scripts/xzless.1:8 +#, no-wrap +msgid "XZLESS" +msgstr "" + +#. type: TH +#: ../src/scripts/xzless.1:8 ../src/scripts/xzmore.1:8 +#, no-wrap +msgid "2024-02-12" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzless.1:11 +msgid "xzless, lzless - view xz or lzma compressed (text) files" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzless.1:14 +msgid "B<xzless> [I<file>...]" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzless.1:17 +msgid "B<lzless> [I<file>...]" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzless.1:29 +msgid "" +"B<xzless> is a filter that displays text from compressed files to a " +"terminal. Files supported by B<xz>(1) are decompressed; other files are " +"assumed to be in uncompressed form already. If no I<files> are given, " +"B<xzless> reads from standard input." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzless.1:46 +msgid "" +"B<xzless> uses B<less>(1) to present its output. Unlike B<xzmore>, its " +"choice of pager cannot be altered by setting an environment variable. " +"Commands are based on both B<more>(1) and B<vi>(1) and allow back and " +"forth movement and searching. See the B<less>(1) manual for more " +"information." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzless.1:50 +msgid "" +"The command named B<lzless> is provided for backward compatibility with LZMA " +"Utils." +msgstr "" + +#. type: TP +#: ../src/scripts/xzless.1:51 +#, no-wrap +msgid "B<LESSMETACHARS>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzless.1:57 +msgid "" +"A list of characters special to the shell. Set by B<xzless> unless it is " +"already set in the environment." +msgstr "" + +#. type: TP +#: ../src/scripts/xzless.1:57 +#, no-wrap +msgid "B<LESSOPEN>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzless.1:63 +msgid "" +"Set to a command line to invoke the B<xz>(1) decompressor for preprocessing " +"the input files to B<less>(1)." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzless.1:67 +msgid "B<less>(1), B<xz>(1), B<xzmore>(1), B<zless>(1)" +msgstr "" + +#. type: TH +#: ../src/scripts/xzmore.1:8 +#, no-wrap +msgid "XZMORE" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzmore.1:11 +msgid "xzmore, lzmore - view xz or lzma compressed (text) files" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzmore.1:15 +msgid "B<xzmore> [I<file>...]" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzmore.1:18 +msgid "B<lzmore> [I<file>...]" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzmore.1:35 +msgid "" +"B<xzmore> displays text from compressed files to a terminal using " +"B<more>(1). Files supported by B<xz>(1) are decompressed; other files are " +"assumed to be in uncompressed form already. If no I<files> are given, " +"B<xzmore> reads from standard input. See the B<more>(1) manual for the " +"keyboard commands." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzmore.1:47 +msgid "" +"Note that scrolling backwards might not be possible depending on the " +"implementation of B<more>(1). This is because B<xzmore> uses a pipe to pass " +"the decompressed data to B<more>(1). B<xzless>(1) uses B<less>(1) which " +"provides more advanced features." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzmore.1:51 +msgid "" +"The command B<lzmore> is provided for backward compatibility with LZMA " +"Utils." +msgstr "" + +#. type: TP +#: ../src/scripts/xzmore.1:53 +#, no-wrap +msgid "B<PAGER>" +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzmore.1:60 +msgid "If B<PAGER> is set, its value is used as the pager instead of B<more>(1)." +msgstr "" + +#. type: Plain text +#: ../src/scripts/xzmore.1:65 +msgid "B<more>(1), B<xz>(1), B<xzless>(1), B<zmore>(1)" +msgstr "" |