diff options
Diffstat (limited to 'po4a/man')
34 files changed, 10561 insertions, 0 deletions
diff --git a/po4a/man/de/lzmainfo.1 b/po4a/man/de/lzmainfo.1 new file mode 100644 index 0000000..28efc01 --- /dev/null +++ b/po4a/man/de/lzmainfo.1 @@ -0,0 +1,45 @@ +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH 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 0000000..521e553 --- /dev/null +++ b/po4a/man/de/xz.1 @@ -0,0 +1,1938 @@ +'\" t +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 "1. Dezember 2022" 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 dekomprimierte 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 den 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 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 ist breiter als 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 \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. Der Speicherbedarf einiger der zukünftigen Multithread\-Modi kann +dramatisch höher sein als im Einzel\-Thread\-Modus. +.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 +.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. Die Größe der Blöcke wird in den Block\-Headern gespeichert, die von +einer zukünftigen Version von \fBxz\fP für eine Multi\-Thread\-Dekompression +genutzt wird. +.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 eine zukünftige Version von \fBxz\fP nicht in der Lage sein wird, +die Dateien im Multi\-Thread\-Modus zu dekomprimieren. +.TP +\fB\-\-block\-list=\fP\fIGrößen\fP +beginnt bei der Kompression in das \fB.xz\fP\-Format nach den angegebenen +Intervallen unkomprimierter Daten einen neuen Block. +.IP "" +Die unkomprimierte \fIGröße\fP der Blöcke wird in einer durch Kommata +getrennten Liste angegeben. Auslassen einer Größe (zwei oder mehr +aufeinander folgende Kommata) ist ein Kürzel dafür, die Größe des vorherigen +Blocks zu verwenden. +.IP "" +Falls die Eingabedatei größer ist als die Summe der \fIGrößen\fP, dann wird der +letzte in \fIGröße\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 "" +Falls Sie \fIGrößen\fP 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 \fIGrößen\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. +.IP "" +.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. +. +.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 wird durch eine oder mehrere +Filteroptionen in der Reihenfolge angegeben, in der sie in der Filterkette +wirksam werden sollen. Daher ist die Reihenfolge der Filteroptionen von +signifikanter Bedeutung! Beim Dekodieren von Rohdatenströmen +(\fB\-\-format=raw\fP) wird die Filterkette in der gleichen Reihenfolge angegeben +wie bei der Kompression. +.PP +Filter 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\-\-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; +.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. Zum Beispiel ist es beim IA\-64\-Filter eine gute +Wahl, \fBpb=4\fP oder sogar \fBpb=4,lp=4,lc=0\fP mit LZMA2 zu setzen (2^4=16). Der +x86\-Filter bildet dabei eine Ausnahme; Sie sollten bei der für LZMA2 +voreingestellten 4\-Byte\-Ausrichtung bleiben, wenn Sie x86\-Binärdateien +komprimieren. +.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\-\-version\fP, +\fB\-\-info\-memory\fP und \fB\-\-list\fP unterstützt. In der Zukunft wird dieser Modus +auch für Kompression und Dekompression unterstützt. +. +.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. +. +.SS "Informationen zur Speicherbedarfsbegrenzung" +\fBxz \-\-robot \-\-info\-memory\fP gibt eine einzelne Zeile mit drei 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 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. +. +.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://tukaani.org/xz/> +.br +XZ Embedded: <https://tukaani.org/xz/embedded.html> +.br +LZMA\-SDK: <http://7\-zip.org/sdk.html> diff --git a/po4a/man/de/xzdec.1 b/po4a/man/de/xzdec.1 new file mode 100644 index 0000000..43756dc --- /dev/null +++ b/po4a/man/de/xzdec.1 @@ -0,0 +1,87 @@ +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 "19. April 2017" 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://tukaani.org/xz/embedded.html> diff --git a/po4a/man/de/xzdiff.1 b/po4a/man/de/xzdiff.1 new file mode 100644 index 0000000..ce366a2 --- /dev/null +++ b/po4a/man/de/xzdiff.1 @@ -0,0 +1,45 @@ +.\" +.\" Original zdiff.1 for gzip: Jean-loup Gailly +.\" +.\" Modifications for XZ Utils: Lasse Collin +.\" Andrew Dudman +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDIFF 1 "4. Juni 2021" Tukaani XZ\-Dienstprogramme +.SH BEZEICHNUNG +xzcmp, xzdiff, lzcmp, lzdiff \- komprimierte Dateien vergleichen +.SH ÜBERSICHT +\fBxzcmp\fP [\fIcmp\-Optionen\fP] \fIDatei1\fP [\fIDatei2\fP] +.br +\fBxzdiff\fP [\fIdiff\-Optionen\fP] \fIDatei1\fP [\fIDatei2\fP] +.br +\fBlzcmp\fP [\fIcmp\-Optionen\fP] \fIDatei1\fP [\fIDatei2\fP] +.br +\fBlzdiff\fP [\fIdiff\-Optionen\fP] \fIDatei1\fP [\fIDatei2\fP] +.SH BESCHREIBUNG +Die Dienstprogramme \fBxzcmp\fP und \fBxzdiff\fP führen die Programme \fBcmp\fP(1) +beziehungsweise \fBdiff\fP(1) mit Dateien aus, die mittels \fBxz\fP(1), +\fBlzma\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1) oder \fBzstd\fP komprimiert +wurden. Alle angegebenen Optionen werden direkt an \fBcmp\fP(1) oder \fBdiff\fP(1) +übergeben. Wird nur eine Datei angegeben, wird diese \fIDatei1\fP (die eine +Endung entsprechend eines der unterstützten Kompressionsformate haben muss) +mit der \fIDatei1\fP verglichen, von der die Kompressionsformat\-Endung entfernt +wird. Werden zwei Dateien angegeben, dann werden deren Inhalte (falls nötig, +unkomprimiert) an \fBcmp\fP(1) oder \fBdiff\fP(1) weitergeleitet. Der Exit\-Status +von \fBcmp\fP(1) oder \fBdiff\fP(1) wird dabei bewahrt (sofern kein +Dekompressionsfehler auftrat; in diesem Fall ist der Exit\-Status 2). +.PP +Die Namen \fBlzcmp\fP und \fBlzdiff\fP dienen der Abwärtskompatibilität zu den +LZMA\-Dienstprogrammen. +.SH "SIEHE AUCH" +\fBcmp\fP(1), \fBdiff\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), +\fBzstd\fP(1), \fBzdiff\fP(1) +.SH FEHLER +Die Meldungen der Programme \fBcmp\fP(1) oder \fBdiff\fP(1) können auf temporäre +Dateinamen verweisen anstatt auf die tatsächlich angegebenen Dateinamen. diff --git a/po4a/man/de/xzgrep.1 b/po4a/man/de/xzgrep.1 new file mode 100644 index 0000000..28b5098 --- /dev/null +++ b/po4a/man/de/xzgrep.1 @@ -0,0 +1,64 @@ +.\" +.\" Original zgrep.1 for gzip: Jean-loup Gailly +.\" Charles Levert <charles@comm.polymtl.ca> +.\" +.\" Modifications for XZ Utils: Lasse Collin +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZGREP 1 "19. Juli 2022" Tukaani XZ\-Dienstprogramme +.SH BEZEICHNUNG +xzgrep \- komprimierte Dateien nach einem regulären Ausdruck durchsuchen +.SH ÜBERSICHT +\fBxzgrep\fP [\fIgrep_Optionen\fP] [\fB\-e\fP] \fIMuster\fP [\fIDatei …\fP] +.br +\fBxzegrep\fP … +.br +\fBxzfgrep\fP … +.br +\fBlzgrep\fP … +.br +\fBlzegrep\fP … +.br +\fBlzfgrep\fP … +.SH BESCHREIBUNG +\fBxzgrep\fP wendet \fBgrep\fP(1) auf \fIDateien\fP an, die entweder unkomprimiert +oder mit \fBxz\fP(1), \fBlzma\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1) oder +\fBzstd\fP komprimiert sein können. Alle angegebenen Optionen werden direkt an +\fBgrep\fP(1) übergeben. +.PP +Wenn keine \fIDatei\fP angegeben ist, wird die Standardeingabe dekomprimiert +(falls nötig) und an \fBgrep\fP übergeben. Beim Lesen aus der Standardeingabe +keine Dateien unterstützt, die mit \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1) oder +\fBzstd\fP komprimiert sind. +.PP +Wenn \fBxzgrep\fP als \fBxzegrep\fP oder \fBxzfgrep\fP aufgerufen wird, dann wird +\fBgrep \-E\fP oder \fBgrep \-F\fP anstelle von \fBgrep\fP(1) verwendet. Genauso +verhalten sich die Befehle \fBlzgrep\fP, \fBlzegrep\fP und \fBlzfgrep\fP, die die +Abwärtskompatibilität zu den LZMA\-Dienstprogrammen gewährleisten. +.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 gesetzt ist, verwendet \fBxzgrep\fP deren +Inhalt anstelle von \fBgrep\fP(1), \fBgrep \-E\fP oder \fBgrep \-F\fP. +.SH "SIEHE AUCH" +\fBgrep\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1), +\fBzgrep\fP(1) diff --git a/po4a/man/de/xzless.1 b/po4a/man/de/xzless.1 new file mode 100644 index 0000000..fdbad59 --- /dev/null +++ b/po4a/man/de/xzless.1 @@ -0,0 +1,47 @@ +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\" (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 "27. September 2010" 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. Es funktioniert mit Dateien, die mit \fBxz\fP(1) oder +\fBlzma\fP(1) komprimiert sind. Falls keine \fIfiles\fP angegeben sind, 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 0000000..511a37b --- /dev/null +++ b/po4a/man/de/xzmore.1 @@ -0,0 +1,40 @@ +.\" +.\" Original zdiff.1 for gzip: Jean-loup Gailly +.\" Modifications for XZ Utils: Lasse Collin +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZMORE 1 "30. Juni 2013" 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 ist ein Filter zur seitenweisen Anzeige von Textdateien in einem +Terminal, die mit \fBxz\fP(1) oder \fBlzma\fP(1) komprimiert wurden. +.PP +Um ein anderes Textanzeigeprogramm als den voreingestellten \fBmore\fP zu +verwenden, setzen Sie die Umgebungsvariable \fBPAGER\fP auf das gewünschte +Programm. Der Name \fBlzmore\fP dient der Abwärtskompatibilität zu den +LZMA\-Dienstprogrammen. +.TP +\fBe\fP oder \fBq\fP +Wenn die Zeile \-\-Mehr\-\-(Nächste Datei: \fIDatei\fP) angezeigt wird, wird +\fBxzmore\fP mit diesem Befehl beendet. +.TP +\fBs\fP +Wenn die Zeile \-\-Mehr\-\-(Nächste Datei: \fIDatei\fP) angezeigt wird, springt +\fBxzmore\fP zur nächsten Datei und zeigt diese an. +.PP +Eine Liste der bei der Betrachtung von Dateiinhalten verfügbaren +Tastaturbefehle finden Sie in der Handbuchseite des verwendeten +Textanzeigeprogramms, meist \fBmore\fP(1). +.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 0000000..ce9b60d --- /dev/null +++ b/po4a/man/fr/lzmainfo.1 @@ -0,0 +1,44 @@ +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH 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 0000000..667aa66 --- /dev/null +++ b/po4a/man/fr/xz.1 @@ -0,0 +1,1870 @@ +'\" t +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 2022\-12\-01 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 contient les besoins en mémoire du compresseur en mode mono\-thread +\&. Cela devrait à peine varier entre les versions de \fBxz\fP. Les besoins en +mémoire de quelques uns des futurs modes multi\-thread devraient sensiblement +augmenter par rapport au mode mono\-thread. +.IP \(bu 3 +DecMem contient les besoins en mémoire du décompresseur. Ce sont les +réglages de la compression qui déterminent les besoins en mémoire de la +décompression. L'exacte utilisation de la mémoire est légèrement supérieure +à la taille du dictionnaire LZMA2, mais les valeurs dans la table ont été +arrondies au prochain Mio supérieur. +.RE +.TP +\fB\-e\fP, \fB\-\-extreme\fP +Utilisez un variant plus lent que les préréglages (\fB\-0\fP à \fB\-9\fP) pour +espérer avoir un taux de compression légèrement meilleur, mais en cas de +malchance cela peut être pire. L'utilisation mémoire du décompresseur n'est +pas affectée, mais l'utilisation mémoire du compresseur augmente un peu aux +niveaux de préréglages de \fB\-0\fP\ à\ \fB\-3\fP. +.IP "" +Depuis qu'il y a deux préréglages avec des tailles de dictionnaire de 4\ Mio +et 8 \Mio, les préréglages \fB\-3e\fP et \fB\-5e\fP utilisent des réglages +légèrement plus rapides que \fB\-4e\fP et \fB\-6e\fP, respectivement. De cette +manière, il n'y a pas deux préréglages identiques. +.RS +.RS +.PP +.TS +tab(;); +c c c c c +n n n n n. +Préréglage;DictSize;CompCPU;CompMem;DecMem +\-0e;256 KiB;8;4 MiB;1 MiB +\-1e;1 MiB;8;13 MiB;2 MiB +\-2e;2 MiB;8;25 MiB;3 MiB +\-3e;4 MiB;7;48 MiB;5 MiB +\-4e;4 MiB;8;48 MiB;5 MiB +\-5e;8 MiB;7;94 MiB;9 MiB +\-6e;8 MiB;8;94 MiB;9 MiB +\-7e;16 MiB;8;186 MiB;17 MiB +\-8e;32 MiB;8;370 MiB;33 MiB +\-9e;64 MiB;8;674 MiB;65 MiB +.TE +.RE +.RE +.IP "" +Par exemple, il y a un total de quatre préréglages qui utilisent un +dictionnaire de 8\ Mio et qui sont dans l'ordre du plus rapide au plus lent\ : +\fB\-5\fP, \fB\-6\fP, \fB\-5e\fP et \fB\-6e\fP. +.TP +\fB\-\-fast\fP +.PD 0 +.TP +\fB\-\-best\fP +.PD +Il y a néanmoins des alias trompeurs pour \fB\-0\fP et \fB\-9\fP, +respectivement. Ils ne sont fournis que pour des besoins de +rétro\-compatibilité avec les utilitaires LZMA. Evitez d'utiliser ces +options. +.TP +\fB\-\-block\-size=\fP\fItaille\fP +Lors de la compression dans le format \fB.xz\fP, les données de l'entrée sont +réparties en blocs de \fItaille\fP\ octets. Les blocs sont compressés +indépendamment les un des autres, ce qui aide avec le mode multithread +(multi\-threading) et rend possible la décompression à accès aléatoire +limité. Cette option est typiquement utilisée pour outrepasser la taille de +bloc en mode multithread, mais cette option peut aussi être utilisée en mode +single\-thread. +.IP "" +In multi\-threaded mode about three times \fIsize\fP bytes will be allocated in +each thread for buffering input and output. The default \fIsize\fP is three +times the LZMA2 dictionary size or 1 MiB, whichever is more. Typically a +good value is 2\(en4 times the size of the LZMA2 dictionary or at least 1 +MiB. Using \fIsize\fP less than the LZMA2 dictionary size is waste of RAM +because then the LZMA2 dictionary buffer will never get fully used. The +sizes of the blocks are stored in the block headers, which a future version +of \fBxz\fP will use for multi\-threaded decompression. +.IP "" +Par défaut, il n'y a pas de répartition de bloc en mode mono\-thread. Régler +cette option n'affecte pas l'utilisation de la mémoire. Aucune information +de taille n'est stockée dans l'en\-tête de bloc, par conséquent les fichiers +créés en mode single\-thread ne seront pas identiques aux fichiers créés en +mode multi\-thread. Le manque d'information de taille signifie aussi qu'une +future version de \fBxz\fP ne sera pas capable de décompresser les fichiers en +mode multi\-thread. +.TP +\fB\-\-block\-list=\fP\fItailles\fP +Lors de la compression dans le format \fB.xz\fP, commencer un nouveau bloc +après les intervalles donnés des données non\ compressées. +.IP "" +Les \fItailles\fP non\-compressées des blocs sont spécifiées sous forme de liste +séparée par des virgules. Omettre une taille (deux ou plus virgules +consécutives) est un raccourci pour utiliser la taille du bloc précédent. +.IP "" +Si le fichier en entrée est plus grand que la somme des \fItailles\fP, la +dernière valeur est répétée jusqu'à la fin du fichier. Une valeur spéciale +de \fB0\fP peut être utilisée comme étant la dernière valeur pour indiquer que +le reste du fichier devrait être encodé comme un simple bloc. +.IP "" +Si on spécifie des \fItailles\fP qui excèdent la taille du bloc de l'encodeur +(soit la valeur en mode threadé, soit la valeur spécifiée avec +\fB\-\-block\-size=\fP\fItaille\fP), l'encodeur créera des blocs supplémentaires tout +en gardant les limites indiquées dans \fItailles\fP. Par exemple, si on indique +\fB\-\-block\-size=10MiB\fP\fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP et que le +fichier fait 80Mio, on aura 11 blocs de 5, 10, 8, 2, 10, 10, 4, 10, 10, et +1\ Mio. +.IP "" +En mode multi\-threadé les tailles de blocs sont stockées dans les en\-têtes +du bloc. Cela ne se fait pas en mode mono\-threadé, la sortie encodée ne sera +donc pas identique à celle faite en mode multi\-threadé. +.TP +\fB\-\-flush\-timeout=\fP\fItemps_d'attente\fP +Lors de la compression, si plus que \fItemps_d'attente\fP millisecondes (un +entier positif) se sont écoulées depuis le précédent vidage et que lire plus +de données bloquerait, toutes les données d'entrée en attente sont vidées de +l'encodeur et mises à disposition dans le flux de sortie. Cela peut être +utile si \fBxz\fP est utilisé pour compresser les données qui sont diffusées +sur un réseau. Des petites valeurs de \fItemps_d'attente\fP rendent les données +disponibles à l'extrémité réceptrice avec un léger retard, mais les grandes +valeurs de \fItemps_d'attente\fP donnent un meilleur taux de compression. +.IP "" +Cette option est désactivée par défaut. Si cette option est indiquée plus +d'une fois, la dernière prend effet. La valeur spéciale de +\fItemps_d'attente\fP de \fB0\fP peut être utilisée pour explicitement désactiver +cette option. +.IP "" +Cette option n'est pas disponible sur les systèmes qui ne sont pas POSIX. +.IP "" +.\" FIXME +\fBCette option est encore expérimentale.\fP Actuellement, \fBxz\fP ne convient +pas pour décompresser le flux en temps réel en raison de la façon dont \fBxz\fP +effectue la mise en mémoire tampon. +.TP +\fB\-\-memlimit\-compress=\fP\fIlimite\fP +Indiquer une limite d'utilisation de la mémoire pour la compression. Si +cette option est indiquée plusieurs fois, c'est la dernière qui est prise en +compte. +.IP "" +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. +.IP "" +.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. +. +.SS "Chaînes de filtres de compresseur personnalisées" +A custom filter chain allows specifying the compression settings in detail +instead of relying on the settings associated to the presets. When a custom +filter chain is specified, preset options (\fB\-0\fP \&...\& \fB\-9\fP and +\fB\-\-extreme\fP) earlier on the command line are forgotten. If a preset +option is specified after one or more custom filter chain options, the new +preset takes effect and the custom filter chain options specified earlier +are forgotten. +.PP +Une chaîne de filtre est comparable à une redirection (pipe) sur la ligne de +commande. Lors de la compression, les entrées non compressées vont au +premier filtre, dont la sortie va au prochain filtre (s'il y en a). La +sortie du dernier filtre est écrite sur le fichier compressé. Le nombre +maximal de filtres dans la chaîne est quatre, mais habituellement, un chaîne +de filtre n'a qu'un ou deux filtres. +.PP +Beaucoup de filtres ont des limitations sur l'endroit où ils peuvent se +placer dans la chaîne de filtre\ : quelques filtres ne peuvent fonctionner +qu'en tant que dernier filtre dans la chaîne, quelques uns en tant que non +dernier filtre, et d'autres à n'importe quelle position dans la +chaîne. Suivant le filtre, cette limitation est soit inhérente au profil du +filtre, soit existe pour des raisons de sécurité. +.PP +Une chaîne de filtres personnalisée est indiquée en utilisant une ou +plusieurs options de filtre dans l'ordre où elles sont souhaitées dans la +chaîne de filtres. Cela fait, l'ordre des options de filtre est +significatif! Lors du décodage des flux bruts (\fB\-\-format=raw\fP), le filtre +de chaîne est indiqué dans le même ordre qu'il fût indiqué lors de la +compression. +.PP +Les filtres prennent des \fIoptions\fP spécifiques aux filtres sous la forme +d'une liste séparée par des virgules. Les virgules supplémentaires dans les +\fIoptions\fP sont ignorées. Toutes les options ont une valeur par défaut, donc +vous ne devez indiquer que celles que vous voulez changer. +.PP +Pour voir l'entièreté de la chaîne de filtres et ses \fIoptions\fP, utilisez +\fBxz \-vv\fP (ce qui est comme utiliser \fB\-\-verbose\fP deux fois). Cela +fonctionne aussi pour voir les options de chaîne de filtres utilisées par +les préréglages. +.TP +\fB\-\-lzma1\fP[\fB=\fP\fIoptions\fP] +.PD 0 +.TP +\fB\-\-lzma2\fP[\fB=\fP\fIoptions\fP] +.PD +Ajouter le filtre LZMA1 ou LZMA2 à la chaîne de filtres. Ces filtres ne +peuvent être utilisés que comme dernier filtre dans la chaîne. +.IP "" +LZMA1 est un filtre historique, qui n'est pris en charge presque uniquement +à cause de l'ancien format de fichier \fB.lzma\fP, qui ne prend en charge que +LZMA1. LZMA2 est une version mise à jour de LZMA1 pour régler certains +problèmes pratiques de LZMA1. Le format \fBxz\fP utilise LZMA2 et ne prend pas +du tout en charge LZMA1. Les taux et vitesses de compression de LZMA1 et +LZMA2 sont pratiquement identiques. +.IP "" +LZMA1 et LZMA2 partagent le même ensemble d'\fIoptions\fP\ : +.RS +.TP +\fBpreset=\fP\fIpréréglage\fP +Reset all LZMA1 or LZMA2 \fIoptions\fP to \fIpreset\fP. \fIPreset\fP consist of an +integer, which may be followed by single\-letter preset modifiers. The +integer can be from \fB0\fP to \fB9\fP, matching the command line options \fB\-0\fP +\&...\& \fB\-9\fP. The only supported modifier is currently \fBe\fP, which matches +\fB\-\-extreme\fP. If no \fBpreset\fP is specified, the default values of LZMA1 or +LZMA2 \fIoptions\fP are taken from the preset \fB6\fP. +.TP +\fBdict=\fP\fItaille\fP +La \fItaille\fP du dictionnaire (historique du tampon) indique combien d'octets +des données récement décompressées sont gardés en mémoire. L'algorithme +essaie de trouver les séquences d'octets répétées (identiques) dans les +données décompressées et les remplace par les données actuellement dans le +dictionnaire. Plus gros est le dictionnaire, plus grande est la chance de +trouver une correspondance. Ainsi, l'augmentation de la \fItaille\fP du +dictionnaire augmente habituellement le taux de compression, mais un +dictionnaire plus gros que le fichier non compressé est un gachis de +mémoire. +.IP "" +Généralement la \fItaille\fP du dictionnaire est entre 64\ Kio et 64\ Mio. Le +minimum étant 4\ Kio. La \fItaille\fP maximale pour la compression est +habituellement 1,5\ Gio (1536\ Mio). Le décompresseur prend en charge les +dictionnaires jusqu'à un octet de moins que 4\ Gio, ce qui est le maximum +pour les formats de flux LZMA1 et LZMA2. +.IP "" +La \fItaille\fP du dictionnaire et le chercheur de correspondance (match +finder) (\fImf\fP) déterminent ensemble l'utilisation de la mémoire de +l'encodeur LZMA1 ou LZMA2. La même (ou une plus grosse) \fItaille\fP de +dictionnaire est requise pour décompresser que ce qui a été utilisé pour la +compression, ainsi l'utilisation de la mémoire du décodeur est déterminée +par la taille du dictionnaire utilisée lors de la compression. Les en\-têtes +de \fB.xz\fP stockent la \fItaille\fP de dictionnaire sous la forme 2^\fIn\fP ou +2^\fIn\fP + 2^(\fIn\fP\-1), de sorte que ces \fItailles\fP sont quelque peu préférées +pour la compression. Les autres \fItailles\fP seront arrondies à la hausse +lorsque stockées dans les en\-têtes de \fB.xz\fP. +.TP +\fBlc=\fP\fIlc\fP +Spécifiez le nombre d'octets de contexte littéraux. Le minimum est \fB0\fP et +le maximum est \fB4\fP. La valeur par défaut est \fB3\fP. En plus, la somme de +\fIlc\fP et \fIlp\fP ne doit pas excéder \fB4\fP. +.IP "" +Tous les octets qui ne peuvent pas être codés comme des correspondances sont +codés comme des littéraux. C'est à dire que les littéraux sont simplement +des octets 8\ bits encodés un à la fois. +.IP "" +The literal coding makes an assumption that the highest \fIlc\fP bits of the +previous uncompressed byte correlate with the next byte. For example, in +typical English text, an upper\-case letter is often followed by a lower\-case +letter, and a lower\-case letter is usually followed by another lower\-case +letter. In the US\-ASCII character set, the highest three bits are 010 for +upper\-case letters and 011 for lower\-case letters. When \fIlc\fP is at least +3, the literal coding can take advantage of this property in the +uncompressed data. +.IP "" +The default value (3) is usually good. If you want maximum compression, +test \fBlc=4\fP. Sometimes it helps a little, and sometimes it makes +compression worse. If it makes it worse, test \fBlc=2\fP too. +.TP +\fBlp=\fP\fIlp\fP +Indiquer le nombre de bits de position littérale. Le minimum est \fB0\fP et le +maximum \fB4\fP; par défaut c'est \fB0\fP. +.IP "" +\fILp\fP affecte le type d'alignement dans les données décompressées qui est +présumé lors de l'encodage des littéraux. Voir \fIpb\fP ci dessous pour plus +d'information sur l'alignement. +.TP +\fBpb=\fP\fIpb\fP +Indiquer le nombre de bits de position. Le minimum est \fB0\fP et le maximum +\fB4\fP; par défaut \fB2\fP. +.IP "" +\fIPb\fP affecte quel genre d'alignement est présumé en général dans les +données non compressées. Par défaut c'est un alignement de quatre octets +(2^\fIpb\fP=2^2=4), ce qui est généralement un bon choix lorsqu'il n'y a pas de +meilleure estimation. +.IP "" +When the alignment is known, setting \fIpb\fP accordingly may reduce the file +size a little. For example, with text files having one\-byte alignment +(US\-ASCII, ISO\-8859\-*, UTF\-8), setting \fBpb=0\fP can improve compression +slightly. For UTF\-16 text, \fBpb=1\fP is a good choice. If the alignment is +an odd number like 3 bytes, \fBpb=0\fP might be the best choice. +.IP "" +Même si l'alignement présumé peut être ajusté avec \fIpb\fP et \fIlp\fP, LZMA1 et +LZMA2 favorisent toujours légèrement l'alignement sur 16\ octets. Il peut +être utile d'en tenir compte lors de la conception de formats de fichiers +susceptibles d'être souvent compressés avec LZMA1 ou LZMA2. +.TP +\fBmf=\fP\fImf\fP +Match finder has a major effect on encoder speed, memory usage, and +compression ratio. Usually Hash Chain match finders are faster than Binary +Tree match finders. The default depends on the \fIpreset\fP: 0 uses \fBhc3\fP, +1\(en3 use \fBhc4\fP, and the rest use \fBbt4\fP. +.IP "" +Les chercheurs de correspondance suivants sont pris en charge. Les formules +d'utilisation de la mémoire ci\-dessous sont des approximations grossières +qui sont les plus proches de la réalité lorsque \fIdict\fP est une puissance de +deux. +.RS +.TP +\fBhc3\fP +Chaîne de hachage avec hachage de 2 et 3\ octets +.br +Valeur minimale pour \fInice\fP\ : \fB3\fP +.br +Utilisation de la mémoire\ : +.br +\fIdict\fP * 7.5 (if \fIdict\fP <= 16 Mio); +.br +\fIdict\fP * 5.5 + 64 MiB (si \fIdict\fP > 16 Mio) +.TP +\fBhc4\fP +Chaîne de hachage avec hachage de 2, 3 et 4\ octets +.br +Valeur minimale pour \fInice\fP\ : \fB4\fP +.br +Utilisation de la mémoire\ : +.br +\fIdict\fP * 7.5 (si \fIdict\fP <= 32 Mio); +.br +\fIdict\fP * 6.5 (si \fIdict\fP > 32 Mio) +.TP +\fBbt2\fP +Arbre binaire avec hachage de 2\ octets +.br +Valeur minimale pour \fInice\fP\ : \fB2\fP +.br +Utilisation de la mémoire\ : \fIdict\fP * 9.5 +.TP +\fBbt3\fP +Arbre binaire avec hachage de 2 et 3\ octets +.br +Valeur minimale pour \fInice\fP\ : \fB3\fP +.br +Utilisation de la mémoire\ : +.br +\fIdict\fP * 11.5 (si \fIdict\fP <= 16 Mio); +.br +\fIdict\fP * 9.5 + 64 MiB (si \fIdict\fP > 16 Mio) +.TP +\fBbt4\fP +Arbre binaire avec hachage 2, 3 et 4\ octets +.br +Valeur minimale pour \fInice\fP\ : \fB4\fP +.br +Utilisation de la mémoire\ : +.br +\fIdict\fP * 11.5 (si \fIdict\fP <= 32 Mio); +.br +\fIdict\fP * 10.5 (si \fIdict\fP > 32 Mio) +.RE +.TP +\fBmode=\fP\fImode\fP +Compression \fImode\fP specifies the method to analyze the data produced by the +match finder. Supported \fImodes\fP are \fBfast\fP and \fBnormal\fP. The default is +\fBfast\fP for \fIpresets\fP 0\(en3 and \fBnormal\fP for \fIpresets\fP 4\(en9. +.IP "" +Habituellement, \fBfast\fP est utilisé avec les chercheurs de correspondance de +chaîne de hachage et \fBnormal\fP avec les chercheurs de correspondance d'arbre +binaire. C'est aussi ce que font les \fIpréréglages\fP. +.TP +\fBnice=\fP\fInice\fP +Spécifier ce qui est considéré comme une bonne longueur pour une +correspondance. Une fois que la correspondance d'au moins \fInice\fP octets est +trouvée, l'algorithme arrête de chercher de meilleures correspondances +possibles. +.IP "" +\fINice\fP can be 2\(en273 bytes. Higher values tend to give better +compression ratio at the expense of speed. The default depends on the +\fIpreset\fP. +.TP +\fBdepth=\fP\fIprofondeur\fP +Spécifier la profondeur de recherche maximale dans l'outil de recherche de +correspondances. La valeur par défaut est \fB0\fP, ce qui fait que le +compresseur détermine une \fIprofondeur\fP raisonnable en fonction de \fImf\fP et +\fInice\fP. +.IP "" +Reasonable \fIdepth\fP for Hash Chains is 4\(en100 and 16\(en1000 for Binary +Trees. Using very high values for \fIdepth\fP can make the encoder extremely +slow with some files. Avoid setting the \fIdepth\fP over 1000 unless you are +prepared to interrupt the compression in case it is taking far too long. +.RE +.IP "" +Lors du décodage des flux bruts (\fB\-\-format=raw\fP), LZMA2 nécessite seulement +la \fItaille\fP du dictionnaire. LZMA1 nécessite aussi \fIlc\fP, \fIlp\fP et \fIpb\fP. +.TP +\fB\-\-x86\fP[\fB=\fP\fIoptions\fP] +.PD 0 +.TP +\fB\-\-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; +.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. For example, with the IA\-64 +filter, it's good to set \fBpb=4\fP or even \fBpb=4,lp=4,lc=0\fP with LZMA2 +(2^4=16). The x86 filter is an exception; it's usually good to stick to +LZMA2's default four\-byte alignment when compressing x86 executables. +.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" +Le mode robot est activé avec l'option \fB\-\-robot\fP. Cela rend la sortie de +\fBxz\fP plus facile à analyser par d'autres programmes. Actuellement, +\fB\-\-robot\fP n'est seulement pris en charge qu'avec \fB\-\-version\fP, +\fB\-\-info\-memory\fP et \fB\-\-list\fP. Il sera pris en charge pour la compression et +la décompression dans le futur. +. +.SS Version +\fBxz \-\-robot \-\-version\fP affichera le numéro de version de \fBxz\fP et liblzma +dans le format suivant\ : +.PP +\fBXZ_VERSION=\fP\fIXYYYZZZS\fP +.br +\fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP +.TP +\fIX\fP +Version majeure. +.TP +\fIYYY\fP +Version mineure. Les numéros pairs sont stables. Les numéros impairs sont +des versions alpha ou beta. +.TP +\fIZZZ\fP +Niveau de correctif pour les options stables ou juste un compteur pour les +options de développement. +.TP +\fIS\fP +Stabilité. 0\ est alpha, 1\ est bêta et 2\ est stable. \fIS\fP devrait toujours +être\ 2 quand \fIYYY\fP est pair. +.PP +\fIXYYYZZZS\fP sont identiques sur les deux lignes si \fBxz\fP et liblzma sont +issus de la même version d'utilitaires XZ. +.PP +Exemples\ : 4.999.9beta est \fB49990091\fP et 5.0.0 est \fB50000002\fP. +. +.SS "Information de limite de mémoire" +\fBxz \-\-robot \-\-info\-memory\fP affiche une seule ligne avec trois colonnes +séparées par des tabulations : +.IP 1. 4 +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 "Mode liste" +\fBxz \-\-robot \-\-list\fP utilise une sortie séparée par des tabulations. La +première colonne de toutes les lignes possède une chaîne qui indique le type +d'information trouvée sur cette ligne\ : +.TP +\fBname\fP +C'est toujours la première ligne au début de la liste d'un fichier. La +seconde colonne de la ligne est le nom de fichier. +.TP +\fBfile\fP +Cette ligne contient l'information globale sur le fichier \fB.xz\fP. Cette +ligne est toujours écrite après la ligne \fBname\fP. +.TP +\fBstream\fP +Ce type de ligne n'est utilisée que lorsque \fB \-\-verbose\fP a été indiquée. Il +y a autant de lignes \fBstream\fP qu'il y a de flux dans le fichier \fB.xz\fP. +.TP +\fBblock\fP +Ce type de ligne n'est utilisé seulement lorsque \fB\-\-verbose\fP a été +indiquée. Il y a autant de lignes \fBblock\fP qu'il y a de blocs dans le +fichier \fB.xz\fP. Les lignes \fBblock\fP sont affichées après toutes les lignes +\fBstream\fP\ ; les différents types de lignes ne sont pas imbriqués. +.TP +\fBsummary\fP +Ce type de ligne n'est utilisé que lorsque \fB\-\-verbose\fP a été indiqué deux +fois. Cette ligne est affichée après toutes les lignes \fBblock\fP. Comme la +ligne \fBfile\fP, la ligne \fBsummary\fP contient l'information globale sur le +fichier \fB.xz\fP. +.TP +\fBtotals\fP +Cette ligne est toujours la toute dernière ligne de la sortie. Elle affiche +les comptes et les tailles totaux. +.PP +Les colonnes des lignes \fBfile\fP\ : +.PD 0 +.RS +.IP 2. 4 +Nombre de flux dans le fichier +.IP 3. 4 +Nombre total de blocs dans le ou les flux. +.IP 4. 4 +Taille compressée du fichier +.IP 5. 4 +Taille décompressée du fichier +.IP 6. 4 +Compression ratio, for example, \fB0.123\fP. If ratio is over 9.999, three +dashes (\fB\-\-\-\fP) are displayed instead of the ratio. +.IP 7. 4 +Liste de noms de contrôles d'intégrité séparés par des virgules. Les chaînes +suivantes sont utilisées pour les types de vérification connus\ : \fBNone\fP, +\fBCRC32\fP, \fBCRC64\fP et \fBSHA256\fP. Pour le types de vérification inconnus, +\fBUnknown\-\fP\fIN\fP est utilisé, où \fIN\fP est un identifiant de vérification sous +la forme d'un nombre décimal (un ou deux chiffres). +.IP 8. 4 +Taille totale du remplissage du flux dans le fichier +.RE +.PD +.PP +Les colonnes des lignes \fBstream\fP\ : +.PD 0 +.RS +.IP 2. 4 +Numéro de flux (le premier flux a le numéro 1) +.IP 3. 4 +Nombre de blocs dans le flux +.IP 4. 4 +Décalage de départ compressé +.IP 5. 4 +Décalage de départ décompressé +.IP 6. 4 +Taille compressée (ne comprend pas le remplissage du flux) +.IP 7. 4 +Taille décompressée +.IP 8. 4 +Taux de compression +.IP 9. 4 +Nom de la vérification d'intégrité +.IP 10. 4 +Taille du remplissage de flux +.RE +.PD +.PP +Les colonnes des lignes \fBblock\fP\ : +.PD 0 +.RS +.IP 2. 4 +Numéro du flux qui contient ce bloc +.IP 3. 4 +Numéro du bloc relatif au commencement du flux (le premier bloc a pour +numéro 1) +.IP 4. 4 +Numéro du bloc relatif au début du fichier +.IP 5. 4 +Décalage de départ compressé relatif au début du fichier +.IP 6. 4 +Décalage de départ décompressé relatif au début du fichier +.IP 7. 4 +Taille compressée totale du bloc (en\-têtes inclus) +.IP 8. 4 +Taille décompressée +.IP 9. 4 +Taux de compression +.IP 10. 4 +Nom de la vérification d'intégrité +.RE +.PD +.PP +Si \fB\-\-verbose\fP a été indiqué deux fois, les colonnes additionnelles sont +inclues sur les lignes \fBblock\fP. Elles ne sont pas affichées avec un seul +\fB\-\-verbose\fP, car l'obtention de ces informations nécessite de nombreuses +recherches et peut donc être lente\ : +.PD 0 +.RS +.IP 11. 4 +Valeur de la vérification d'intégrité en hexadécimal +.IP 12. 4 +Taille d'en\-tête de bloc +.IP 13. 4 +Drapeaux du bloc\ : \fBc\fP indique que la taille compressée est présente, et +\fBu\fP indique que la taille décompréssée est présente. Si le drapeau n'est +pas indiqué, un tiret (\fB\-\fP) est affiché à la place pour que la longueur de +la chaîne reste fixe. De nouveaux drapeaux pourraient être ajoutés à la fin +de la chaîne dans le futur. +.IP 14. 4 +Taille des données effectivement compressées dans le bloc (en excluant +l'en\-tête de bloc, le remplissage de bloc et les champs de vérification). +.IP 15. 4 +Quantité de mémoire (en octets) nécessaire pour décompresser ce bloc avec +cette version de \fBxz\fP. +.IP 16. 4 +Chaîne de filtrage. Remarquez que la plupart des options utilisées au moment +de la compression ne peuvent pas être connues, car seules les options +nécessaires pour la décompression sont stockées dans les en\-têtes \fB.xz\fP. +.RE +.PD +.PP +Les colonnes des lignes \fBsummary\fP\ : +.PD 0 +.RS +.IP 2. 4 +Quantité de mémoire (en octets) nécessaire pour décompresser ce fichier avec +cette version de \fBxz\fP. +.IP 3. 4 +\fByes\fP ou \fBno\fP indique si tous les en\-têtes de bloc stockent à la fois la +taille compressée et la taille décompressée. +.PP +\fIDepuis\fP \fBxz\fP \fI5.1.2alpha:\fP +.IP 4. 4 +Version minimale de \fBxz\fP nécessaire pour décompresser le fichier. +.RE +.PD +.PP +Les colonnes de la ligne \fBtotals\fP\ : +.PD 0 +.RS +.IP 2. 4 +Nombre de flux +.IP 3. 4 +Nombre de blocs +.IP 4. 4 +Taille compressée +.IP 5. 4 +Taille décompressée +.IP 6. 4 +Taux de compression moyen +.IP 7. 4 +Liste séparée par des virgules des noms de vérification d'intégrité qui +étaient présents dans les fichiers +.IP 8. 4 +Taille de remplissage de flux +.IP 9. 4 +Nombre de fichiers. Permet de garder l'ordre des colonnes précédentes comme +sur les lignes \fBfile\fP. +.PD +.RE +.PP +Si \fB\-\-verbose\fP a été indiqué deux fois, des colonnes supplémentaires sont +incluses sur la ligne \fBtotals\fP\ : +.PD 0 +.RS +.IP 10. 4 +Quantité maximale de mémoire (en octets) nécessaire pour décompresser les +fichiers avec cette version de \fBxz\fP. +.IP 11. 4 +\fByes\fP ou \fBno\fP indique si tous les en\-têtes de bloc stockent à la fois la +taille compressée et la taille décompressée. +.PP +\fIDepuis\fP \fBxz\fP \fI5.1.2alpha:\fP +.IP 12. 4 +Version minimale de \fBxz\fP nécessaire pour décompresser le fichier. +.RE +.PD +.PP +Les versions futures pourront ajouter de nouveaux types de lignes et de +nouvelles colonnes pourront être ajoutées aux types de lignes existants, +mais les colonnes existantes ne seront pas modifiées. +. +.SH "STATUT DE SORTIE" +.TP +\fB0\fP +Tout est bon. +.TP +\fB1\fP +Une erreur est survenue. +.TP +\fB2\fP +Quelquechose méritant un avertissement s'est produit, mais aucune erreur +véritable n'est survenue. +.PP +Les notifications (pas les avertissements ou les erreurs) affichées sur +l'erreur standard n'affectent pas le statut de sortie. +. +.SH ENVIRONNEMENT +\fBxz\fP analyse les listes d'options séparées par des espaces à partir des +variables d'environnement \fBXZ_DEFAULTS\fP et \fBXZ_OPT\fP, dans cet ordre, avant +d'analyser les options de la ligne de commandes. Remarquez que seules les +options sont analysées depuis l'environnement des variables\ ; toutes les +non\-options sont ignorées silencieusement. L'analyse est faite avec +\fBgetopt_long\fP(3) qui est aussi utilisé pour les arguments de la ligne de +commandes. +.TP +\fBXZ_DEFAULTS\fP +Options par défaut propres à l'utilisateur ou pour tout le système. Elles +sont le plus souvent définies dans un script d'initialisation de +l'interpréteur pour activer le limiteur d'utilisation de la mémoire de \fBxz\fP +par défaut. A part pour les scripts d'initialisation de l'interpréteur ou +des cas similaires, les sripts ne doivent jamais définir ou désactiver +\fBXZ_DEFAULTS\fP. +.TP +\fBXZ_OPT\fP +This is for passing options to \fBxz\fP when it is not possible to set the +options directly on the \fBxz\fP command line. This is the case when \fBxz\fP is +run by a script or tool, for example, GNU \fBtar\fP(1): +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=\-2v tar caf foo.tar.xz foo\fP +.fi +.RE +.RE +.IP "" +Scripts may use \fBXZ_OPT\fP, for example, to set script\-specific default +compression options. It is still recommended to allow users to override +\fBXZ_OPT\fP if that is reasonable. For example, in \fBsh\fP(1) scripts one may +use something like this: +.RS +.RS +.PP +.nf +\f(CWXZ_OPT=${XZ_OPT\-"\-7e"} export XZ_OPT\fP +.fi +.RE +.RE +. +.SH "Compatibilité des utilitaires LZMA" +La syntaxe de la ligne de commande de \fBxz\fP est quasimment un sur\-ensemble +de \fBlzma\fP, \fBunlzma\fP et \fBlzcat\fP comme ils sont trouvés dans les +utilitaires LZMA\ 4.32.x . Dans la pluspart des cas, il est possible de +remplacer les outils LZMA par les outils XZ sans casser les scripts +existants. Il existe cependant certaines incompatibilités qui peuvent +parfois poser des problèmes. +. +.SS "Niveaux de préréglage de la compression" +La numérotation des préréglages de niveau de compression est différente +entre les outils \fBxz\fP et LZMA. La différence la plus importante est la +manière dont les tailles de dictionnaire sont affectées aux différents +préréglages. La taille de dictionnaire est à peu près égale à celle +d'utilisation de la mémoire de la décompression. +.RS +.PP +.TS +tab(;); +c c c +c n n. +Niveau;xz;Utilitaires LZMA +\-0;256 KiB;N/A +\-1;1 MiB;64 KiB +\-2;2 MiB;1 MiB +\-3;4 MiB;512 KiB +\-4;4 MiB;1 MiB +\-5;8 MiB;2 MiB +\-6;8 MiB;4 MiB +\-7;16 MiB;8 MiB +\-8;32 MiB;16 MiB +\-9;64 MiB;32 MiB +.TE +.RE +.PP +Les différences de tailles des dictionnaires affectent aussi l'utilisation +de la mémoire du compresseur, mais il y a quelques autres différences entre +les outils LZMA et les outils XZ, qui rendent la différence encore plus +grande\ : +.RS +.PP +.TS +tab(;); +c c c +c n n. +Niveau;xz;Utilitaires LZMA 4.32.x +\-0;3 MiB;N/A +\-1;9 MiB;2 MiB +\-2;17 MiB;12 MiB +\-3;32 MiB;12 MiB +\-4;48 MiB;16 MiB +\-5;94 MiB;26 MiB +\-6;94 MiB;45 MiB +\-7;186 MiB;83 MiB +\-8;370 MiB;159 MiB +\-9;674 MiB;311 MiB +.TE +.RE +.PP +Le niveau de préréglage par défaut dans les outils LZMA est \fB\-7\fP alors que +pour les outils XZ c'est \fB\-6\fP, les deux utilisent ainsi un dictionnaire de +8\ Mio par défaut. +. +.SS "Fichiers .lzma en flux ou non" +The uncompressed size of the file can be stored in the \fB.lzma\fP header. +LZMA Utils does that when compressing regular files. The alternative is to +mark that uncompressed size is unknown and use end\-of\-payload marker to +indicate where the decompressor should stop. LZMA Utils uses this method +when uncompressed size isn't known, which is the case, for example, in +pipes. +.PP +\fBxz\fP prend en charge la décompression des fichiers \fB.lzma\fP avec ou sans +marqueur de fin de charge utile, mais tous les fichiers \fB.lzma\fP créés par +\fBxz\fP utiliseront un marqueur de fin de charge utile et ont la taille non +compréssée marquée comme inconnue dans l'en\-tête \fB.lzma\fP. Cela peut être un +problème dans quelques situations inhabituelles. Par exemple, un +décompresseur \fB.lzma\fP dans un périphérique embarqué pourrait ne fonctionner +qu'avec des fichiers dont la taille non comprimée est connue. Si vous vous +heurtez à ce problème, vous devez utiliser les utilitaires LZMA ou LZMA SDK +pour créer des fichiers \fB.lzma\fP avec une taille non compressée connue. +. +.SS "Fichiers .lzma non pris en charge" +Le format \fB.lzma\fP autorise des valeurs \fIlc\fP jusqu'à\ 8, et des valeurs +\fIlp\fP jusqu'à\ 4. Les outils LZMA peuvent décompresser des fichiers avec tous +les \fIlc\fP et \fIlp\fP, mais créez toujours les fichiers avec \fBlc=3\fP et +\fBlp=0\fP. Créer des fichiers avec d'autres valeurs \fIlc\fP et \fIlp\fP est +possible avec \fBxz\fP et avec LZMA SDK. +.PP +L'implémentation du filtre LZMA1 dans liblzma nécessite que la somme de +\fIlc\fP et \fIlp\fP soit inférieure ou égale à\ 4. Ainsi, les fichiers \fB.lzma\fP +qui excèdent cette limitation ne peuvent pas être décompressés avec \fBxz\fP. +.PP +Les outils LZMA créent seulement des fichiers \fB.lzma\fP qui ont une taille de +dictionnaire de 2^\fIn\fP (une puissance de\ 2) mais acceptent les fichiers avec +toutes les tailles de dictionnaire. Libzlma n'accepte que les fichiers +\&\fB.lzma\fP qui ont une taille dictionnaire de 2^\fIn\fP ou +2^\fIn\fP\ +\ 2^(\fIn\fP\-1). Cela afin de diminuer les faux positifs lors de la +détection des fichiers \fB.lzma\fP. +.PP +Ces limitations ne devraient pas poser problème en pratique, car +pratiquement tous les fichiers \fB.lzma\fP ont été compressés avec des réglages +que liblzma accepte. +. +.SS "Déchets excédentaires" +Lors de la décompession, l'utilitaire LZMA ignore silencieusement tout ce +qui est après le premier flux \fB.lzma\fP. Dans la majorité des situations, +c'est un bogue. Cela veut dire aussi que les outils LZMA ne gèrent pas la +décompression de fichiers \fB.lzma\fP concaténés. +.PP +S'il reste des données après le premier flux \fB.lzma\fP, \fBxz\fP considère que +le fichier est corrompu sauf si \fB\-\-single\-stream\fP a été utilisé. Cela peut +casser des scripts obscurs qui ont supposé que les déchets de fin de ligne +sont ignorés. +. +.SH NOTES +. +.SS "La sortie compressée peut varier" +La sortie compressée exacte produite par les même fichiers non compressés en +entrée peut varier en fonction des différentes versions de l'utilitaire XZ, +même si les options de compression sont identiques. En effet, il est +possible d'améliorer l'encodeur (compression plus rapide ou meilleure) sans +affecter le format du fichier. La sortie peut même varier entre différentes +compilations de la même version d'utilitaire XZ, si des options de +construction différentes sont utilisées. +.PP +Cela signifie qu'une fois que \fB\-\-rsyncable\fP a été implémenté, les fichiers +résultants ne seront pas nécessairement synchronisables avec rsync à moins +que les nouveaux et anciens fichiers n'aient été compressés avec la même +version de xz. Ce problème peut être résolu si une partie de +l'implémentation est gelée pour garantir la stabilité de la sortie rsyncable +à travers les versions de xz. +. +.SS "Décompresseurs .xz embarqués" +Les implémentations de décompresseur embarqué comme XZ\ Embedded ne gèrent +pas nécessairement les fichiers créés avec d'autres types de \fIvérification\fP +d'intégrité que \fBnone\fP et \fBCRC32\fP. Comme la valeur par défaut est +\fB\-\-check=crc64\fP, vous devez utiliser \fB\-\-check=none\fP ou \fB\-\-check=crc32\fP +lors de la création de fichiers pour les systèmes embarqués. +.PP +En dehors des systèmes embarqués, tous les décompresseurs de format \fB.xz\fP +gèrent tous les types de \fIvérification\fP ou sont au moins capables de +décompresser le fichier sans effectuer la vérification d'intégrité si ce +type de \fIvérification\fP particulière n'est pas pris en charge. +.PP +XZ Embedded prend en charge les filtres BCJ, mais seulement avec le décalage +de départ par défaut. +. +.SH EXEMPLES +. +.SS Bases +Compresser le fichier \fItoto\fP en \fItoto.xz\fP en utilisant le niveau de +compression par défaut (\fB\-6\fP) et supprimer \fItoto\fP si la compression +réussit\ : +.RS +.PP +.nf +\f(CWxz toto\fP +.fi +.RE +.PP +Décompresser \fIbidule.xz\fP en \fIbidule\fP et ne pas supprimer \fIbidule.xz\fP même +si la compression réussit\ : +.RS +.PP +.nf +\f(CWxz \-dk bidule.xz\fP +.fi +.RE +.PP +Create \fIbaz.tar.xz\fP with the preset \fB\-4e\fP (\fB\-4 \-\-extreme\fP), which is +slower than the default \fB\-6\fP, but needs less memory for compression and +decompression (48\ MiB and 5\ MiB, respectively): +.RS +.PP +.nf +\f(CWtar cf \- truc | xz \-4e > truc.tar.xz\fP +.fi +.RE +.PP +Un mélange de fichiers compressés et non compressés peuvent être +décompressés vers la sortie standard avec une simple commande\ : +.RS +.PP +.nf +\f(CWxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fP +.fi +.RE +. +.SS "Compression en parallèle de plusieurs fichiers" +Sur GNU et *BSD, \fBfind\fP(1) et \fBxargs\fP(1) peuvent être utilisés pour mettre +en parallèle la compression de plusieurs fichiers\ : +.RS +.PP +.nf +\f(CWfind . \-type f \e! \-name '*.xz' \-print0 \e | xargs \-0r \-P4 \-n16 xz \-T1\fP +.fi +.RE +.PP +L'option \fBP\fP passée à \fBxargs\fP(1) fixe le nombre de processus \fBxz\fP en +parallèles. La meilleure valeur pour l'option \fBn\fP dépend du nombre de +fichiers à compresser. S\-il n'y a que quelques fichiers, la valeur sera +probablement\ 1\ ; avec des dizaines de milliers de fichiers, 100 ou même plus +serait approprié pour réduire le nombre de processus \fBxz\fP que \fBxargs\fP(1) +créera éventuellement. +.PP +L'option \fB\-T1\fP de \fBxz\fP est là pour le forcer en mode mono\-thread, car +\fBxargs\fP(1) est utilisé pour contrôler la quantité de mise en parallèle. +. +.SS "Mode robot" +Calculer combien d'octets ont été économisés au total après avoir compressé +plusieurs fichiers\ : +.RS +.PP +.nf +\f(CWxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fP +.fi +.RE +.PP +Un script peut vouloir savoir qu'il utilise une version suffisamment récente +de \fBxz\fP. Le script \fBsh\fP(1) suivant vérifie que le numéro de version de +l'outil \fBxz\fP soit au minimum 5.0.0. Cette méthode est compatible avec les +vieilles versions bêta, qui ne gèrent pas l'option \fB\-\-robot\fP\ : +.RS +.PP +.nf +\f(CWif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" || [ "$XZ_VERSION" \-lt 50000002 ]; then echo "Votre version de xz est trop ancienne." fi unset XZ_VERSION LIBLZMA_VERSION\fP +.fi +.RE +.PP +Régler une limite d'utilisation de la mémoire pour la décompression en +utilisant \fBXZ_OPT\fP, mais si une limite a déjà été définie, ne pas +l'augmenter\ : +.RS +.PP +.nf +\f(CWNEWLIM=$((123 << 20))\ \ # 123 MiB OLDLIM=$(xz \-\-robot \-\-info\-memory | cut \-f3) if [ $OLDLIM \-eq 0 \-o $OLDLIM \-gt $NEWLIM ]; then XZ_OPT="$XZ_OPT \-\-memlimit\-decompress=$NEWLIM" export XZ_OPT fi\fP +.fi +.RE +. +.SS "Chaînes de filtres de compresseur personnalisées" +L'utilisation la plus simple des chaînes de filtres personnalisées est la +personnalisation d'un préréglage LZMA2. Cela peut être utile, car les +préréglages ne couvrent qu'un sous\-ensemble des réglages de compression +potentiellement utiles. +.PP +Les colonnes CompCPU des tableaux des descriptions des options \fB\-0\fP à \fB\-9\fP +et \fB\-\-extreme\fP sont utiles lors de la personnalisation des préréglages +LZMA2. Voici les parties pertinentes recueillies à partir de ces deux +tableaux\ : +.RS +.PP +.TS +tab(;); +c c +n n. +Préréglage;CompCPU +\-0;0 +\-1;1 +\-2;2 +\-3;3 +\-4;4 +\-5;5 +\-6;6 +\-5e;7 +\-6e;8 +.TE +.RE +.PP +If you know that a file requires somewhat big dictionary (for example, 32\ MiB) to compress well, but you want to compress it quicker than \fBxz \-8\fP +would do, a preset with a low CompCPU value (for example, 1) can be +modified to use a bigger dictionary: +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=1,dict=32MiB toto.tar\fP +.fi +.RE +.PP +Avec certains fichiers, la commande ci\-dessus peut être plus rapide que +\fBxz\-6\fP tout en compressant bien mieux. Cependant, il faut souligner que +seuls certains fichiers bénéficient d'un grand dictionnaire tout en gardant +la valeur de CompCPU faible. La siutation la plus évidente où un gros +dictionnaire peut baucoup aider, est une archive contenant des fichiers très +similaires de quelques megaoctets chacun. La taille de dictionnaire doit +être significativement plus grosse que tout fichier individuel pour +permettre à LZMA2 de tirer pleinement partie des similarités entre des +fichiers consécutifs. +.PP +Si une utilisation de la mémoire élevée pour la compression et décompression +convient, et que le fichier à compresser a une taille de plusieurs centaines +de megaoctets, il peut être utile d'utiliser un plus gros dictionnaire que +celui fourni par \fBxz\-9\fP (64 Mio)\ : +.RS +.PP +.nf +\f(CWxz \-vv \-\-lzma2=dict=192MiB gros_toto.tar\fP +.fi +.RE +.PP +Utiliser \fB\-vv\fP (\fB\-\-verbose\-\-verbose\fP) comme dans l'exemple ci\-dessus peut +être utile pour voir les besoins en mémoire du compresseur et du +décompresseur. Rappelez\-vous qu'utiliser un dictionnaire plus gros que la +taille du fichier non compressé est un gachis de mémoire, donc la commande +ci\-dessus n'est pas utile pour les petits fichiers. +.PP +Sometimes the compression time doesn't matter, but the decompressor memory +usage has to be kept low, for example, to make it possible to decompress the +file on an embedded system. The following command uses \fB\-6e\fP (\fB\-6 \-\-extreme\fP) as a base and sets the dictionary to only 64\ KiB. The +resulting file can be decompressed with XZ Embedded (that's why there is +\fB\-\-check=crc32\fP) using about 100\ KiB of memory. +.RS +.PP +.nf +\f(CWxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB toto\fP +.fi +.RE +.PP +If you want to squeeze out as many bytes as possible, adjusting the number +of literal context bits (\fIlc\fP) and number of position bits (\fIpb\fP) can +sometimes help. Adjusting the number of literal position bits (\fIlp\fP) +might help too, but usually \fIlc\fP and \fIpb\fP are more important. For +example, a source code archive contains mostly US\-ASCII text, so something +like the following might give slightly (like 0.1\ %) smaller file than \fBxz \-6e\fP (try also without \fBlc=4\fP): +.RS +.PP +.nf +\f(CWxz \-\-lzma2=preset=6e,pb=0,lc=4 code_source.tar\fP +.fi +.RE +.PP +Using another filter together with LZMA2 can improve compression with +certain file types. For example, to compress a x86\-32 or x86\-64 shared +library using the x86 BCJ filter: +.RS +.PP +.nf +\f(CWxz \-\-x86 \-\-lzma2 libtoto.so\fP +.fi +.RE +.PP +Notez que l'ordre des options de filtre est significatif. Si \fB\-\-x86\fP est +indiqué après \fB\-\-lzma2\fP, \fBxz\fP donnera une erreur, car il ne peut y avoir +aucun filtre après LZMA2, et aussi parce que le filtre BCJ x86 ne peut pas +être utilisé comme dernier filtre dans la chaîne. +.PP +Le filtre Delta associé à LZMA2 peut donner de bons résultats avec les +images bitmap. Cela devrait habituellement battre PNG, qui a quelques +filtres avancés supplémentaires qu'un simple delta, mais qui utilise Deflate +pour la compression effective. +.PP +The image has to be saved in uncompressed format, for example, as +uncompressed TIFF. The distance parameter of the Delta filter is set to +match the number of bytes per pixel in the image. For example, 24\-bit RGB +bitmap needs \fBdist=3\fP, and it is also good to pass \fBpb=0\fP to LZMA2 to +accommodate the three\-byte alignment: +.RS +.PP +.nf +\f(CWxz \-\-delta=dist=3 \-\-lzma2=pb=0 toto.tiff\fP +.fi +.RE +.PP +If multiple images have been put into a single archive (for example, +\&\fB.tar\fP), the Delta filter will work on that too as long as all images have +the same number of bytes per pixel. +. +.SH "VOIR AUSSI" +\fBxzdec\fP(1), \fBxzdiff\fP(1), \fBxzgrep\fP(1), \fBxzless\fP(1), \fBxzmore\fP(1), +\fBgzip\fP(1), \fBbzip2\fP(1), \fB7z\fP(1) +.PP +XZ Utilitaires: <https://tukaani.org/xz/> +.br +XZ Embarqué: <https://tukaani.org/xz/embedded.html> +.br +LZMA SDK: <http://7\-zip.org/sdk.html> diff --git a/po4a/man/fr/xzdec.1 b/po4a/man/fr/xzdec.1 new file mode 100644 index 0000000..88742d0 --- /dev/null +++ b/po4a/man/fr/xzdec.1 @@ -0,0 +1,87 @@ +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 19\-04\-2017 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 Embarqué: <https://tukaani.org/xz/embedded.html> diff --git a/po4a/man/fr/xzdiff.1 b/po4a/man/fr/xzdiff.1 new file mode 100644 index 0000000..77a2ddf --- /dev/null +++ b/po4a/man/fr/xzdiff.1 @@ -0,0 +1,43 @@ +.\" +.\" Original zdiff.1 for gzip: Jean-loup Gailly +.\" +.\" Modifications for XZ Utils: Lasse Collin +.\" Andrew Dudman +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDIFF 1 2021\-06\-04 Tukaani "Utilitaires XZ" +.SH NOM +xzcmp, xzdiff, lzcmp, lzdiff \- Comparer des fichiers compressés. +.SH SYNOPSIS +\fBxzcmp\fP [\fIcmp_options\fP] \fIfichier1\fP [\fIfichier2\fP] +.br +\fBxzdiff\fP [\fIdiff_options\fP] \fIfichier1\fP [\fIfichier2\fP] +.br +\fBlzcmp\fP [\fIcmp_options\fP] \fIfichier1\fP [\fIfichier2\fP] +.br +\fBlzdiff\fP [\fIdiff_options\fP] \fIfichier1\fP [\fIfichier2\fP] +.SH DESCRIPTION +\fBxzcmp\fP and \fBxzdiff\fP invoke \fBcmp\fP(1) or \fBdiff\fP(1) on files compressed +with \fBxz\fP(1), \fBlzma\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), or +\fBzstd\fP(1). All options specified are passed directly to \fBcmp\fP(1) or +\fBdiff\fP(1). If only one file is specified, then the files compared are +\fIfile1\fP (which must have a suffix of a supported compression format) and +\fIfile1\fP from which the compression format suffix has been stripped. If two +files are specified, then they are uncompressed if necessary and fed to +\fBcmp\fP(1) or \fBdiff\fP(1). The exit status from \fBcmp\fP(1) or \fBdiff\fP(1) is +preserved unless a decompression error occurs; then exit status is 2. +.PP +Les noms \fBlzcmp\fP et \fBlzdiff\fP sont fournis pour des besoins de +rétrocompatibilité avec les Utilitaires LZMA. +.SH "VOIR AUSSI" +\fBcmp\fP(1), \fBdiff\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), +\fBzstd\fP(1), \fBzdiff\fP(1) +.SH BOGUES +Les messages des programmes \fBcmp\fP(1) ou \fBdiff\fP(1) se réfèrent à des noms +de fichiers temporaires et non à ceux spécifiés. diff --git a/po4a/man/fr/xzless.1 b/po4a/man/fr/xzless.1 new file mode 100644 index 0000000..58db86a --- /dev/null +++ b/po4a/man/fr/xzless.1 @@ -0,0 +1,46 @@ +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\" (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 27\-09\-2010 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 est un filtre qui affiche le contenu de fichiers compressés dans +un terminal. Cela fonctionne avec les fichiers compressés avec \fBxz\fP(1) ou +\fBlzma\fP(1). Si aucun \fIfichier\fP n'est donné, \fBxzless\fP lit depuis l'entrée +standard. +.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/fr/xzmore.1 b/po4a/man/fr/xzmore.1 new file mode 100644 index 0000000..305d705 --- /dev/null +++ b/po4a/man/fr/xzmore.1 @@ -0,0 +1,41 @@ +.\" +.\" Original zdiff.1 for gzip: Jean-loup Gailly +.\" Modifications for XZ Utils: Lasse Collin +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZMORE 1 30\-06\-2013 Tukaani "Utilitaires XZ" +.SH NOM +xzmore, lzmore \- Voir le contenu des fichiers (texte) compressés xz ou lzma +.SH SYNOPSIS +\fBxzmore\fP [\fIfichier...\fP] +.br +\fBlzmore\fP [\fIfichier...\fP] +.SH DESCRIPTION +\fBxzmore\fP est un filtre qui permet d'examiner le contenu des fichiers texte +compressés \fBxz\fP(1) ou \fBlzma\fP(1), une page d'écran à la fois, sur un +terminal écran. +.PP +Pour utiliser un afficheur autre que \fBmore\fP, l'afficheur par défaut, +définissez la variable d'environnement \fBPAGER\fP avec le nom du programme +souhaité. Le nom \fBlzmore\fP est fourni pour la rétrocompatibilité avec les +utilitaires LZMA. +.TP +\fBe\fP ou \fBq\fP +Lorsque l'invite \-\-More\-\-(prochain fichier\ : \fIfichier\fP) est affiché, cette +commande force \fBxzmore\fP à quitter. +.TP +\fBs\fP +Lorsque l'invite \-\-More\-\-(prochain fichier\ : \fIfichier\fP) est affiché, cette +commande force \fBxzmore\fP à ignorer le prochain fichier et continuer. +.PP +Pour une liste des commandes clavier prises en charge lors de la lecture du +contenu d'un fichier, référez vous au manuel de l'afficheur (pager) que vous +utilisez, habituellement \fBmore\fP(1). +.SH "VOIR AUSSI" +\fBmore\fP(1), \fBxz\fP(1), \fBxzless\fP(1), \fBzmore\fP(1) diff --git a/po4a/man/ko/lzmainfo.1 b/po4a/man/ko/lzmainfo.1 new file mode 100644 index 0000000..0faf5e0 --- /dev/null +++ b/po4a/man/ko/lzmainfo.1 @@ -0,0 +1,37 @@ +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH 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 0000000..3f109eb --- /dev/null +++ b/po4a/man/ko/xz.1 @@ -0,0 +1,1445 @@ +'\" t +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 2022\-12\-01 Tukaani "XZ 유틸리티" +. +.SH 이름 +xz, unxz, xzcat, lzma, unlzma, lzcat \- .xz 파일과 .lzma 파일을 압축 또는 압축 해제합니다 +. +.SH 요약 +\fBxz\fP [\f\fI옵션\fP...\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 +.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 딕셔너리 버퍼를 할당한 용량 크기 전체를 다 사용하지 않기 때문입니다. 블록 크기는 블록 헤더에 +저장하며, 블록 헤더는 \fBxz\fP 차기 버전에서 다중\-스레드 압축 해제시 활용할 예정입니다. +.IP "" +단일\-스레드 모드에서는 기본적으로 블록 쪼개기를 하지 않습니다. 이 옵션을 설정한다고 해서 메모리 사용에 영향을 주지는 않습니다. +블록 헤더에 크기 정보를 저장하지 않기 때문에 단일\-스레드 모드에서 만든 파일은 다중\-스레드 모드에서 만든 파일과 동일하지 않습니다. +크기 정보의 누락은 또한 \fBxz\fP 차기 버전에서 다중\-스레드 모드에서 압축 해제가 불가능함을 의미하기도 합니다. +.TP +\fB\-\-block\-list=\fP\fI<크기>\fP +\&\fB.xz\fP 형식으로 압축할 때, 압축하지 않은 데이터에 주어진 처리 시간 간격 이후에 새 블록 처리를 시작합니다. +.IP "" +압축하지 않은 블록 \fI<크기>\fP는 쉼표로 구분한 목록으로 지정합니다. 크기 값을 생략(둘 이상의 연속 쉼표)는 이전 +블록 크기를 계속 사용하겠다는 의미입니다. +.IP "" +입력 파일이 \fI<크기>\fP의 합보다 크면, 마지막 \fI<크기>\fP 값을 파일 마지막까지 반복해서 사용합니다. +특별히 \fB0\fP 값을 마지막 값으로 사용하여 파일 나머지 부분을 단일 블록으로 인코딩해야 한다는 의미를 나타낼 수도 있습니다. +.IP "" +인코더 블록 크기를 초과하는 \fI<크기>\fP 값을 지정하면(스레드 모드 기본값 또는 +\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 값이 시스템 지정 기본값으로 바뀝니다. +.IP "" +.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 옵션을 지정하더라도 조건에 만족하지 않습니다. +. +.SS "개별 압축 필터 체인 설정" +개별 필터 체인은 사전 설정에 엮인 설정에 의존하는 대신 압축 설정을 세부적으로 하나하나 설정할 수 있게 합니다. 개별 필터 체인을 +지정하면, 명령행에 앞서 지정한 사전 설정 옵션(\fB\-0\fP \&...\& \fB\-9\fP 과 \fB\-\-extreme\fP)은 무시합니다. 사전 +설정 옵션을 하나 이상의 필터 체인 옵션 다음에 지정하면, 새 사전 설정을 취하며, 앞서 지정한 개별 필터 체인 옵션은 무시합니다. +.PP +필터 체인은 명령행 파이핑에 비교할 수 있습니다. 압축할 때, 압축하지 않은 입력을 첫번째 필터로 놓고, 출력 대상(이 있으면)을 다음 +필터로 지정합니다. 최종 필터의 출력은 압축 파일로 기옥합니다. 체인의 최대 필터 수는 4이지만, 필터 체인상 필터 갯수는 보통 +1~2개입니다. +.PP +수많은 필터가 필터 체인 상에서 제약점을 가지고 있습니다. 일부 필터는 체인의 마지막 필터로만 동작하며, 일부 다른 필터는 마지막이 아닌 +필터로, 어떤 동작은 체인의 어떤 위치에든 둡니다. 필터에 따라, 이 제한은 필터 설계를 따르거나 보안 문제를 막기 위해 존재하기도 +합니다. +.PP +개별 필터 체인은 필터 체인에서 원하는 순서대로 하나 이상의 필터 옵션을 사용하여 지정합니다. 이는, 필터 옵션 순서가 중요하다는 +뜻입니다! 원시 스트림을 디코딩할 때(\fB\-\-format=raw\fP), 필터 체인은 압축할 때 지정했던 동일한 순서대로 지정합니다. +.PP +필터는 쉼표로 구분하는 필터별 \fI<옵션>\fP이 있습니다. \fI<옵션>\fP에 추가로 입력한 쉼표는 무시합니다. +모든 옵션 값에는 기본값이 있어, 값을 바꾸려면 지정해야합니다. +.PP +전체 필터 체인과 \fI<옵션>\fP을 보려면 \fBxz \-vv\fP (\fB\-\-verbose\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; +.TE +.RE +.RE +.IP "" +BCJ 필터를 사용한 데이터는 LZMA2로 보통 압축하기 때문에 LZMA2 옵션을 선택한 BCJ 필터의 정렬기준에 맞추도록 설정하면 +압축율을 좀 더 개선할 수 있습니다. 예를 들면, IA\-64 필터에서는 \fBpb=4\fP 또는 LZMA2에 대해 +\fBpb=4,lp=4,lc=0\fP (2^4=16) 값이 바람직합ㄴ디ㅏ. x86 필터는 예외로, x86 실행 파일을 압축할 경우 +LZMA2의 기본 4바이트 정렬을 따르는게 좋습니다. +.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\-\-version\fP, \fB\-\-info\-memory\fP, \fB\-\-list\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입니다. +. +.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 \-\-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 +차후 버전에서는 새 행 형식을 추가하고 기존 행 형식에 추가할 수 있는 새 컬럼을 넣기 까지는 알 수 있겠지만, 기존 컬럼은 바꾸지 않을 +예정입니다. +. +.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/> +.br +XZ 임베디드: <https://tukaani.org/xz/embedded.html> +.br +LZMA SDK: <http://7\-zip.org/sdk.html> diff --git a/po4a/man/ko/xzdec.1 b/po4a/man/ko/xzdec.1 new file mode 100644 index 0000000..881d4cc --- /dev/null +++ b/po4a/man/ko/xzdec.1 @@ -0,0 +1,71 @@ +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 2017\-04\-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.html> diff --git a/po4a/man/ko/xzdiff.1 b/po4a/man/ko/xzdiff.1 new file mode 100644 index 0000000..bea6426 --- /dev/null +++ b/po4a/man/ko/xzdiff.1 @@ -0,0 +1,39 @@ +.\" +.\" Original zdiff.1 for gzip: Jean-loup Gailly +.\" +.\" Modifications for XZ Utils: Lasse Collin +.\" Andrew Dudman +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDIFF 1 2021\-06\-04 Tukaani "XZ 유틸리티" +.SH 이름 +xzcmp, xzdiff, lzcmp, lzdiff \- 압축 파일을 비교합니다 +.SH 요약 +\fBxzcmp\fP [\fI<비교_옵션>\fP] \fI<파일1>\fP [\fI<파일2>\fP] +.br +\fBxzdiff\fP [\fI차이_옵션\fP] \fI<파일1>\fP [\fI<파일2>\fP] +.br +\fBlzcmp\fP [\fI<비교_옵션>\fP] \fI<파일1>\fP [\fI<파일2>\fP] +.br +\fBlzdiff\fP [\fI<차이_옵션>\fP] \fI<파일1>\fP [\fI<파일2>\fP] +.SH 설명 +\fBxzcmp\fP 와 \fBxzdiff\fP 는 \fBxz\fP(1), \fBlzma\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), +\fBlzop\fP(1), \fBzstd\fP(1) 로 압축한 파일에 대해 \fBcmp\fP(1) 또는 \fBdiff\fP(1) 명령을 실행합니다. 지정한 +모든 옵션은 직접 \fBcmp\fP(1) 또는 \fBdiff\fP(1) 명령에 전달합니다. 파일 하나만 지정했을 경우 +\fI<파일1>\fP만 비교(지원 압축 형식 접미사를 넣어야 함)하며, \fI<파일1>\fP의 지원 압축 형식 접미사는 +빠집니다. 파일 둘을 지정하면, 필요한 경우 압축 해제하며, \fBcmp\fP(1) 또는 \fBdiff\fP(1) 명령으로 전달합니다. +\fBcmp\fP(1) 또는 \fBdiff\fP(1) 명령의 종료 상태는 압축 해제 오류가 나타나지 않는 한 보존됩니다. 압축 해제 오류가 +나타나면 종료 상태는 2가 됩니다. +.PP +\fBlzcmp\fP 와 \fBlzdiff\fP 명령은 LZMA 유틸리티 하위 호환성을 목적으로 제공합니다. +.SH "추가 참조" +\fBcmp\fP(1), \fBdiff\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), +\fBzstd\fP(1), \fBzdiff\fP(1) +.SH 버그 +\fBcmp\fP(1) 프로그램 또는 \fBdiff\fP(1) 프로그램에서 온 메시지는 지정한 파일 이름 대신 임시 파일 이름을 참조합니다. diff --git a/po4a/man/ko/xzgrep.1 b/po4a/man/ko/xzgrep.1 new file mode 100644 index 0000000..a04fea2 --- /dev/null +++ b/po4a/man/ko/xzgrep.1 @@ -0,0 +1,57 @@ +.\" +.\" Original zgrep.1 for gzip: Jean-loup Gailly +.\" Charles Levert <charles@comm.polymtl.ca> +.\" +.\" Modifications for XZ Utils: Lasse Collin +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZGREP 1 2022\-07\-19 Tukaani "XZ 유틸리티" +.SH 이름 +xzgrep \- 정규 표현식을 활용하여 압축 파일을 검색합니다 +.SH 요약 +\fBxzgrep\fP [\fIgrep_options\fP] [\fB\-e\fP] \fI<패턴>\fP [\fI<파일>...\fP] +.br +\fBxzegrep\fP \&... +.br +\fBxzfgrep\fP \&... +.br +\fBlzgrep\fP \&... +.br +\fBlzegrep\fP \&... +.br +\fBlzfgrep\fP \&... +.SH 설명 +\fBxzgrep\fP 명령은 \fBxz\fP(1), \fBlzma\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), +\fBzstd\fP(1) 로 압축을 했거나 하지 않은 \fI<파일>\fP에 대해 \fBgrep\fP(1) 명령을 실행합니다. 모든 지정 +옵션은 \fBgrep\fP(1)에 바로 전달합니다. +.PP +지정한 \fI<파일>\fP이 없다면, 필요에 따라 표준 입력 데이터 압축을 풀어내어 \fBgrep\fP(1) 에 전달합니다. 표준 +입력에서 읽을 떄, \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), \fBzstd\fP(1) 압축 파일은 지원하지 않습니다. +.PP +\fBxzgrep\fP을 \fBxzegrep\fP 또는 \fBxzfgrep\fP 으로 실행하면 \fBgrep\fP(1) 대신 \fBgrep \-E\fP 또는 +\fBgrep \-F\fP 명령을 활용합니다. LZMA 유틸리티와 하위 호환성을 가진 \fBlzgrep\fP, \fBlzegrep\fP, +\fBlzfgrep\fP 명령에도 동일합니다. +.SH "종료 상태" +.TP +0 +최소한 하나 이상의 파일에서 하나 이상의 일치하는 결과를 찾았습니다. 오류가 없습니다. +.TP +1 +어떤 입력 파일에서든 일치하는 내용이 없습니다. 오류가 없습니다. +.TP +>1 +하나 이상의 오류가 나타납니다. 일치하는 항목을 찾아낼 지 여부는 알 수 없습니다. +.SH 환경 +.TP +\fBGREP\fP +\fBGREP\fP 환경 변수를 설정하면, \fBxzgrep\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), +\fBzgrep\fP(1) diff --git a/po4a/man/ko/xzless.1 b/po4a/man/ko/xzless.1 new file mode 100644 index 0000000..1d745af --- /dev/null +++ b/po4a/man/ko/xzless.1 @@ -0,0 +1,39 @@ +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\" (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 2010\-09\-27 Tukaani "XZ 유틸리티" +.SH 이름 +xzless, lzless \- xz 또는 lzma 압축 (텍스트) 파일을 봅니다 +.SH 요약 +\fBxzless\fP [\fI<파일>\fP...] +.br +\fBlzless\fP [\fI<파일>\fP...] +.SH 설명 +\fBxzless\fP 는 압축 파일을 터미널에 나타내는 필터 프로그램입니다. \fBxz\fP(1) 또는 \fBlzma\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 0000000..fd6f9f2 --- /dev/null +++ b/po4a/man/ko/xzmore.1 @@ -0,0 +1,36 @@ +.\" +.\" Original zdiff.1 for gzip: Jean-loup Gailly +.\" Modifications for XZ Utils: Lasse Collin +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZMORE 1 2013\-06\-30 Tukaani "XZ 유틸리티" +.SH 이름 +xzmore, lzmore \- xz 압축 (텍스트) 파일 또는 lzma 압축 (텍스트) 파일을 봅니다 +.SH 요약 +\fBxzmore\fP [\fI<파일>...\fP] +.br +\fBlzmore\fP [\fI<파일>...\fP] +.SH 설명 +\fBxzmore\fP 는 \fBxz\fP(1) 또는 \fBlzma\fP(1) 형식으로 압축한 텍스트 파일을 한 번에 한 화면만큼 소프트\-복제 +터미널에 표시하는 필터입니다. +.PP +기본 \fBmore\fP 대신 다른 페이저 프로그램을 사용하려면, \fBPAGER\fP 환경 변수에 원하는 프로그램 이름을 넣으십시오. +\fBlzmore\fP의 이름은 LZMA 유틸리티의 하위 호환성을 목적으로 제공합니다. +.TP +\fBe\fP 또는 \fBq\fP +\-\-More\-\-(다음 파일: \fI<파일>\fP) 프롬프트가 뜨면, 이 명령은 \fBxzmore\fP를 빠져나가게 합니다. +.TP +\fBs\fP +\-\-More\-\-(다음 파일: \fI<파일>\fP) 프롬프트가 뜨면, 이 명령은 \fBxzmore\fP에서 다음 파일로 건너뛰어 계속 +실행하게 합니다. +.PP +파일 내용을 실제로 보는 동안 지원하는 키보드 명령 목록을 보려면, \fBmore\fP(1) 와 같은 사용하는 페이저의 설명서를 +참고하십시오. +.SH "추가 참조" +\fBmore\fP(1), \fBxz\fP(1), \fBxzless\fP(1), \fBzmore\fP(1) diff --git a/po4a/man/ro/lzmainfo.1 b/po4a/man/ro/lzmainfo.1 new file mode 100644 index 0000000..789c25d --- /dev/null +++ b/po4a/man/ro/lzmainfo.1 @@ -0,0 +1,44 @@ +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH 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 0000000..1c38702 --- /dev/null +++ b/po4a/man/ro/xz.1 @@ -0,0 +1,1921 @@ +'\" t +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 01.12.2022 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. Cerințele de +memorie ale unora dintre viitoarele moduri cu mai multe fire de execuție pot +să fie din nefericire cu mult mai mari decât cele ale modului cu un singur +fir. +.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 +.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. Dimensiunile blocurilor sunt stocate în antetele blocurilor, pe +care o versiune viitoare a \fBxz\fP le va folosi pentru decomprimarea cu mai +multe fire de execuție. +.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 despre dimensiune înseamnă, de asemenea, +că o versiune viitoare de \fBxz\fP nu va putea decomprima fișierele în modul cu +mai multe fire de execuție. +.TP +\fB\-\-block\-list=\fP\fIdimensiuni\fP +Atunci când comprimă în formatul \fB.xz\fP, începe un nou bloc după intervalele +specificate, de date necomprimate. +.IP "" +\fIDimensiunile\fP necomprimate ale blocurilor sunt specificate ca o listă +separată prin virgule. Omiterea unei dimensiuni (două sau mai multe virgule +consecutive) este o prescurtare pentru a folosi dimensiunea blocului +anterior. +.IP "" +Dacă fișierul de intrare este mai mare decât suma \fIdimensiuni\fPlor, ultima +valoare din \fIdimensiuni\fP se repetă până la sfârșitul fișierului. O valoare +specială de \fB0\fP poate fi utilizată ca ultima valoare pentru a indica faptul +că restul fișierului ar trebui să fie codificat ca un singur bloc. +.IP "" +Dacă se specifică \fIdimensiuni\fP care depășesc dimensiunea blocului +codificatorului (fie valoarea implicită în modul fire de execuție, fie +valoarea specificată cu opțiunea \fB\-\-block\-size=\fP\fIdimensiune\fP), +codificatorul va crea blocuri suplimentare păstrând în același timp limitele +specificate în \fIdimensiuni\fP. De exemplu, dacă se specifică +\fB\-\-block\-size=10MiB\fP \fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP iar +fișierul de intrare este de 80Mio, se vor obține 11 blocuri de: 5, 10, 8, +10, 2, 10, 10, 4, 10, 10 și 1Mio. +.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. +.IP "" +.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. +. +.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 filtrare personalizat este specificat utilizând una sau mai multe +opțiuni de filtrare în ordinea în care sunt cerute în lanțul de filtrare. +Adică, ordinea opțiunilor de filtrare este semnificativă! La decodificarea +fluxurilor brute (\fB\-\-format=raw\fP), lanțul de filtrare este specificat în +aceeași ordine în care a fost specificat la comprimare. +.PP +Filtrele iau \fIopțiuni\fP specifice filtrului ca o listă separată prin +virgule. Virgulele suplimentare din \fIopțiuni\fP sunt ignorate. Fiecare +opțiune are o valoare implicită, așa că trebuie să specificați numai 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\-\-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; +.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. De +exemplu, cu filtrul IA\-64, este bine să stabiliți \fBpb=4\fP sau chiar +\fBpb=4,lp=4,lc=0\fP cu LZMA2 (2^4=16). Filtrul x86 este o excepție; de +obicei, este bine să rămână la alinierea implicită de patru octeți a LZMA2 +atunci când se comprimă executabile x86. +.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\-\-version\fP, \fB\-\-info\-memory\fP și +\fB\-\-list\fP. Va fi acceptată pentru comprimare și decomprimare în viitor. +. +.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. +. +.SS "Informații privind limita memoriei" +\fBxz \-\-robot \-\-info\-memory\fP tipărește o singură linie cu trei coloane +separate prin tabulatori: +.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 "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. +. +.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://tukaani.org/xz/> +.br +XZ Embedded: <https://tukaani.org/xz/embedded.html> +.br +LZMA SDK: <http://7\-zip.org/sdk.html> diff --git a/po4a/man/ro/xzdec.1 b/po4a/man/ro/xzdec.1 new file mode 100644 index 0000000..91e4d6c --- /dev/null +++ b/po4a/man/ro/xzdec.1 @@ -0,0 +1,88 @@ +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 19.04.2017 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://tukaani.org/xz/embedded.html> diff --git a/po4a/man/ro/xzdiff.1 b/po4a/man/ro/xzdiff.1 new file mode 100644 index 0000000..9d4d833 --- /dev/null +++ b/po4a/man/ro/xzdiff.1 @@ -0,0 +1,45 @@ +.\" +.\" Original zdiff.1 for gzip: Jean-loup Gailly +.\" +.\" Modifications for XZ Utils: Lasse Collin +.\" Andrew Dudman +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDIFF 1 04.06.2021 Tukaani "Utilități XZ" +.SH NUME +xzcmp, xzdiff, lzcmp, lzdiff \- compară fișierele comprimate +.SH REZUMAT +\fBxzcmp\fP [\fIopțiuni_comparare\fP] \fIfișier1\fP [\fIfișier2\fP] +.br +\fBxzdiff\fP [\fIopțiuni_diferențe\fP] \fIfișier1\fP [\fIfișier2\fP] +.br +\fBlzcmp\fP [\fIopțiuni_comparare\fP] \fIfișier1\fP [\fIfișier2\fP] +.br +\fBlzdiff\fP [\fIopțiuni_diferențe\fP] \fIfișier1\fP [\fIfișier2\fP] +.SH DESCRIERE +\fBxzcmp\fP și \fBxzdiff\fP invocă \fBcmp\fP(1) sau \fBdiff\fP(1) pentru fișierele +comprimate cu \fBxz\fP(1), \fBlzma\fP(1), \fBgzip\fP( 1), \fBbzip2\fP(1), \fBlzop\fP(1) sau +\fBzstd\fP(1). Toate opțiunile specificate sunt transmise direct către +\fBcmp\fP(1) sau \fBdiff\fP(1). Dacă este specificat un singur fișier, atunci +fișierele comparate sunt \fIfișier1\fP (care trebuie să aibă un sufix al unui +format de comprimare acceptat) și \fIfișier1\fP din care a fost eliminat +sufixul formatului de comprimare. Dacă sunt specificate două fișiere, +atunci acestea sunt decomprimate dacă este necesar și introduse în \fBcmp\fP(1) +sau \fBdiff\fP(1). Starea de ieșire din \fBcmp\fP(1) sau \fBdiff\fP(1) este păstrată +cu excepția cazului în care apare o eroare de decomprimare; atunci starea de +ieșire este 2. +.PP +Numele \fBlzcmp\fP și \fBlzdiff\fP sunt furnizate pentru compatibilitatea cu LZMA +Utils. +.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), \fBzdiff\fP(1) +.SH ERORI +Mesajele din programele \fBcmp\fP(1) sau \fBdiff\fP(1) se referă la nume de +fișiere temporare în loc de cele specificate. diff --git a/po4a/man/ro/xzgrep.1 b/po4a/man/ro/xzgrep.1 new file mode 100644 index 0000000..e1d6371 --- /dev/null +++ b/po4a/man/ro/xzgrep.1 @@ -0,0 +1,64 @@ +.\" +.\" Original zgrep.1 for gzip: Jean-loup Gailly +.\" Charles Levert <charles@comm.polymtl.ca> +.\" +.\" Modifications for XZ Utils: Lasse Collin +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZGREP 1 19.07.2022 Tukaani "Utilități XZ" +.SH NUME +xzgrep \- caută în fișierele comprimate pentru o expresie regulată +.SH REZUMAT +\fBxzgrep\fP [\fIopțiuni_grep\fP] [\fB\-e\fP] \fImodel\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) pentru \fIfișiere\fP care pot să fie decomprimate +sau comprimate cu \fBxz\fP(1), \fBlzma\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1) +sau \fBzstd\fP(1). Toate opțiunile specificate sunt transmise direct către +\fBgrep\fP(1). +.PP +Dacă nu este specificat \fIfișier\fP, atunci intrarea standard este +decomprimată dacă este necesar și alimentează \fBgrep\fP(1). La citirea din +intrarea standard, fișierele comprimate \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1) +și \fBzstd\fP(1) nu sunt acceptate. +.PP +Dacă \fBxzgrep\fP este invocat ca \fBxzegrep\fP sau \fBxzfgrep\fP, atunci este +folosit \fBgrep \-E\fP sau \fBgrep \-F\fP în loc de \fBgrep\fP(1). Același lucru este +valabil și pentru comenzile \fBlzgrep\fP, \fBlzegrep\fP și \fBlzfgrep\fP, care sunt +furnizate pentru compatibilitate 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 definită, \fBxzgrep\fP o folosește în loc +de \fBgrep\fP(1), \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), +\fBzgrep\fP(1) diff --git a/po4a/man/ro/xzless.1 b/po4a/man/ro/xzless.1 new file mode 100644 index 0000000..abb8667 --- /dev/null +++ b/po4a/man/ro/xzless.1 @@ -0,0 +1,47 @@ +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\" (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 27.09.2010 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. Funcționează pentru fișiere comprimate cu \fBxz\fP(1) sau +\fBlzma\fP(1). Dacă nu sunt date \fIfișiere\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 0000000..ea45c68 --- /dev/null +++ b/po4a/man/ro/xzmore.1 @@ -0,0 +1,40 @@ +.\" +.\" Original zdiff.1 for gzip: Jean-loup Gailly +.\" Modifications for XZ Utils: Lasse Collin +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZMORE 1 30.06.2013 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 este un filtru care vă permite să examinați conținutul fișierelor +text comprimate \fBxz\fP(1) sau \fBlzma\fP(1), câte o pagină pe ecran, pe un +terminal. +.PP +Pentru a utiliza un paginator, altul decât paginatorul implicit \fBmore\fP, +definiți variabila de mediu \fBPAGER\fP cu numele programului dorit. Comanda +\fBlzmore\fP este furnizată pentru compatibilitatea cu LZMA Utils. +.TP +\fBe\fP sau \fBq\fP +Când linia \-\-More\-\-(Fișierul următor: \fIfișier\fP) este afișată, această +comandă face ca \fBxzmore\fP să iasă. +.TP +\fBs\fP +Când linia \-\-More\-\-(Fișierul următor: \fIfișier\fP) este afișată, această +comandă face ca \fBxzmore\fP să omită următorul fișier și să continue. +.PP +Pentru lista comenzilor de la tastatură acceptate în timp ce vizualizați +conținutul unui fișier, consultați manualul paginatorului pe care îl +utilizați, de obicei \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 0000000..357f114 --- /dev/null +++ b/po4a/man/uk/lzmainfo.1 @@ -0,0 +1,44 @@ +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH 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 0000000..9840bc8 --- /dev/null +++ b/po4a/man/uk/xz.1 @@ -0,0 +1,1868 @@ +'\" t +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZ 1 "1 грудня 2022 року" 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 +.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 ніколи не буде використано +повністю. Розміри блоків зберігатимуться у заголовках блоків, які майбутня +версія \fBxz\fP використовуватиме для багатопотокового розпаковування. +.IP "" +У однопотоковому режимі поділ на блоки типово не +виконуватиметься. Встановлення значення для цього параметра не впливатиме на +використання пам'яті. У заголовках блоків не зберігатимуться дані щодо +розміру, отже файли, які створено в однопотоковому режимі не будуть +ідентичними до файлів, які створено у багатопотоковому режимі. Те, що у +заголовках блоків не зберігатимуться дані щодо розміру також означає, що +майбутні версії \fBxz\fP не зможуть розпаковувати такі файли у багатопотоковому +режимі. +.TP +\fB\-\-block\-list=\fP\fIрозміри\fP +При стисканні у форматі \fB.xz\fP починати новий блок після вказаної кількості +інтервалів нестиснених даних. +.IP "" +Значення \fIрозмірів\fP розпакованих блоків слід задавати у форматі списку +відокремлених комами значень. Якщо розмір пропущено (дві або декілька +послідовних коми), буде використано розмір попереднього блоку. +.IP "" +Якщо файл вхідних даних є більшим за розміром за суму \fIрозмірів\fP, останнє +значення у \fIрозмірах\fP буде повторено до кінця файла. Особливе значення \fB0\fP +може бути використано як останнє значення, щоб позначити, що решту файла має +бути закодовано як єдиний блок. +.IP "" +Якщо вказати \fIрозміри\fP, які перевищують розмір блоку кодувальника (або +типове значення у режимі із потоками обробки, або значення, яке встановлено +за допомогою \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. +.IP "" +.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. +. +.SS "Нетипові ланцюжки фільтрів засобу стискання" +Нетиповий ланцюжок фільтрування уможливлює докладне визначення параметрів +стискання замість використання параметрів, які пов'язано із наперед +визначеними рівнями стискання. Якщо вказано нетиповий ланцюжок фільтрів, +параметри рівнів стискання (\fB\-0\fP \&...\& \fB\-9\fP і \fB\-\-extreme\fP), які +передують їм у рядку команди, буде знехтувано. Якщо параметр рівня стискання +вказано після одного або декількох параметрів нетипового ланцюжка фільтрів, +буде використано рівень стискання, а попередніми параметрами ланцюжка +фільтрування буде знехтувано. +.PP +Ланцюжок фільтрів можна порівняти із конвеєром у командному рядку. При +стисканні нестиснені вхідні дані потрапляють до першого фільтра, виведені +ним дані йдуть до наступного фільтра (якщо такий є). Виведені останнім +фільтром дані буде записано до стисненого файла. Максимальна кількість +фільтрів у ланцюжку дорівнює чотирьом, але у типовому ланцюжку фільтрів +використовують один або два фільтри. +.PP +У багатьох фільтрів є обмеження на місце перебування у ланцюжку фільтрів: +деякі фільтри можуть працювати, лише якщо вони є останніми у ланцюжку, +деякі, лише якщо не останніми, а деякі працюють у будь\-якій позиції +ланцюжка. Залежно від фільтра, це обмеження є наслідком структури фільтра +або існує для запобігання проблем із захистом. +.PP +Нетиповий ланцюжок фільтрів визначають за допомогою одного або декількох +параметрів фільтрування у бажаному для ланцюжка фільтрування порядку. Тобто +порядок параметрів фільтрування впливає на результат! При декодуванні +необробленого потоку даних (\fB\-\-format=raw\fP) ланцюжок фільтрів визначають у +тому самому порядку, який використовують для стискання даних. +.PP +Фільтри приймають специфічні для фільтрів \fIпараметри\fP у форматі списку +значень, які відокремлено комами. Зайві коми у \fIпараметрах\fP буде +проігноровано. У кожного параметра є типове значення, отже, вам слід вказати +лише ті параметри, значення яких ви хочете змінити. +.PP +Щоб переглянути увесь ланцюжок фільтрів та \fIпараметри\fP, скористайтеся +командою \fBxz \-vv\fP (тобто, скористайтеся \fB\-\-verbose\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; +.TE +.RE +.RE +.IP "" +Оскільки фільтровані BCJ дані, зазвичай, стискають за допомогою LZMA2, +коефіцієнт стискання можна трохи поліпшити, якщо параметри LZMA2 буде +встановлено так, щоб вони відповідали вирівнюванню вибраного фільтра +BCJ. Наприклад, з фільтром IA\-64 варто встановити \fBpb=4\fP або навіть +\fBpb=4,lp=4,lc=0\fP з LZMA2 (2^4=16). Фільтр x86 є винятком; його, зазвичай, +варто поєднувати із типовим чотирибайтовим вирівнюванням LZMA2 при стисканні +виконуваних файлів x86. +.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\-\-version\fP, \fB\-\-info\-memory\fP та +\fB\-\-list\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. +. +.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 \-\-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 +У майбутніх версіях може бути додано нові типи рядків і нові стовпчики до +наявних типів рядків, але наявні стовпчики мають лишитися незмінними. +. +.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://tukaani.org/xz/> +.br +Вбудовуваний XZ: <https://tukaani.org/xz/embedded.html> +.br +LZMA SDK: <http://7\-zip.org/sdk.html> diff --git a/po4a/man/uk/xzdec.1 b/po4a/man/uk/xzdec.1 new file mode 100644 index 0000000..03a7e8c --- /dev/null +++ b/po4a/man/uk/xzdec.1 @@ -0,0 +1,84 @@ +.\" +.\" Author: Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDEC 1 "19 квітня 2017 року" 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://tukaani.org/xz/embedded.html> diff --git a/po4a/man/uk/xzdiff.1 b/po4a/man/uk/xzdiff.1 new file mode 100644 index 0000000..1f4f367 --- /dev/null +++ b/po4a/man/uk/xzdiff.1 @@ -0,0 +1,44 @@ +.\" +.\" Original zdiff.1 for gzip: Jean-loup Gailly +.\" +.\" Modifications for XZ Utils: Lasse Collin +.\" Andrew Dudman +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZDIFF 1 "4 червня 2021 року" Tukaani "XZ Utils" +.SH НАЗВА +xzcmp, xzdiff, lzcmp, lzdiff — порівняння стиснених файлів +.SH "КОРОТКИЙ ОПИС" +\fBxzcmp\fP [\fIпараметри_cmp\fP] \fIфайл1\fP [\fIфайл2\fP] +.br +\fBxzdiff\fP [\fIпараметри_diff\fP] \fIфайл1\fP [\fIфайл2\fP] +.br +\fBlzcmp\fP [\fIпараметри_cmp\fP] \fIфайл1\fP [\fIфайл2\fP] +.br +\fBlzdiff\fP [\fIпараметри_diff\fP] \fIфайл1\fP [\fIфайл2\fP] +.SH ОПИС +\fBxzcmp\fP і \fBxzdiff\fP викликають \fBcmp\fP(1) або \fBdiff\fP(1) для файлів, які +стиснено за допомогою \fBxz\fP(1), \fBlzma\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), +\fBlzop\fP(1) або \fBzstd\fP(1). Усі вказані параметри передаються безпосередньо +\fBcmp\fP(1) або \fBdiff\fP(1). Якщо вказано лише один файл, порівнюваними файлами +будуть \fIфайл1\fP (який повинен мати суфікс підтримуваного файла стискання) і +\fIфайл1\fP, з назви якого вилучено суфікс формату стискання. Якщо вказано два +файли, їх буде, якщо потрібно, розпаковано і передано \fBcmp\fP(1) або +\fBdiff\fP(1). Стан виходу \fBcmp\fP(1) або \fBdiff\fP(1) буде збережено, якщо не +станеться помилок розпаковування. Якщо станеться помилка розпаковування, +станом виходу буде 2. +.PP +Працездатність назв \fBlzcmp\fP і \fBlzdiff\fP забезпечено для зворотної +сумісності із LZMA Utils. +.SH "ДИВ. ТАКОЖ" +\fBcmp\fP(1), \fBdiff\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), +\fBzstd\fP(1), \fBzdiff\fP(1) +.SH ВАДИ +Повідомлення від програм \fBcmp\fP(1) або \fBdiff\fP(1) посилатимуться на назви +тимчасових файлів, а не вказані назви. diff --git a/po4a/man/uk/xzgrep.1 b/po4a/man/uk/xzgrep.1 new file mode 100644 index 0000000..5afc7ab --- /dev/null +++ b/po4a/man/uk/xzgrep.1 @@ -0,0 +1,64 @@ +.\" +.\" Original zgrep.1 for gzip: Jean-loup Gailly +.\" Charles Levert <charles@comm.polymtl.ca> +.\" +.\" Modifications for XZ Utils: Lasse Collin +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZGREP 1 "19 липня 2022 року" Tukaani "XZ Utils" +.SH НАЗВА +xzgrep — пошук у стиснених файлах формального виразу +.SH "КОРОТКИЙ ОПИС" +\fBxzgrep\fP [\fIпараметри_grep\fP] [\fB\-e\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, які можуть бути розпакованими +або запакованими за допомогою \fBxz\fP(1), \fBlzma\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), +\fBlzop\fP(1) або \fBzstd\fP(1). Усі вказані параметри передаються безпосередньо +\fBgrep\fP(1). +.PP +Якщо не вказано жодного \fIфайла\fP, буде розпаковано дані зі стандартного +джерела вхідних даних і передано ці дані \fBgrep\fP(1). Якщо дані буде +прочитано зі стандартного джерела вхідних даних, підтримку стиснених файлів +\fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1) та \fBzstd\fP(1) буде вимкнено. +.PP +Якщо \fBxzgrep\fP викликано як \fBxzegrep\fP або \fBxzfgrep\fP, буде використано +\fBgrep \-E\fP або \fBgrep \-F\fP замість \fBgrep\fP(1). Те саме стосується програм із +назвами \fBlzgrep\fP, \fBlzegrep\fP та \fBlzfgrep\fP, які створено для зворотної +сумісності з LZMA Utils. +.SH "СТАН ВИХОДУ" +.TP +0 +В одному з файлів вхідних даних знайдено принаймні одну +відповідність. Помилок не сталося. +.TP +1 +У жодному з файлів вхідних даних не знайдено відповідника. Не сталося ніяких +помилок. +.TP +>1 +Сталася одна або декілька помилок. Невідомо, чи було знайдено відповідники +критерію пошуку. +.SH СЕРЕДОВИЩЕ +.TP +\fBGREP\fP +Якщо встановлено значення змінної середовища \fBGREP\fP, буде використано це +значення \fBxzgrep\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), +\fBzgrep\fP(1) diff --git a/po4a/man/uk/xzless.1 b/po4a/man/uk/xzless.1 new file mode 100644 index 0000000..3054a3e --- /dev/null +++ b/po4a/man/uk/xzless.1 @@ -0,0 +1,47 @@ +.\" +.\" Authors: Andrew Dudman +.\" Lasse Collin +.\" +.\" This file has been put into the public domain. +.\" You can do whatever you want with this file. +.\" +.\" (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 "27 вересня 2010 року" Tukaani "XZ Utils" +.SH НАЗВА +xzless, lzless — перегляд стиснених xz або lzma (текстових) файлів +.SH "КОРОТКИЙ ОПИС" +\fBxzless\fP [\fIфайл\fP...] +.br +\fBlzless\fP [\fIфайл\fP...] +.SH ОПИС +\fBxzless\fP є фільтром, який показує текст зі стиснених файлів у +терміналі. Працює для файлів, які стиснуто за допомогою \fBxz\fP(1) або +\fBlzma\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 0000000..f7abf17 --- /dev/null +++ b/po4a/man/uk/xzmore.1 @@ -0,0 +1,40 @@ +.\" +.\" Original zdiff.1 for gzip: Jean-loup Gailly +.\" Modifications for XZ Utils: Lasse Collin +.\" +.\" License: GNU GPLv2+ +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH XZMORE 1 "30 червня 2013 року" Tukaani "XZ Utils" +.SH НАЗВА +xzmore, lzmore — перегляд стиснених xz або lzma (текстових) файлів +.SH "КОРОТКИЙ ОПИС" +\fBxzmore\fP [\fIфайл...\fP] +.br +\fBlzmore\fP [\fIфайл...\fP] +.SH ОПИС +\fBxzmore\fP є фільтром, за допомогою якого можна вивчати стиснені \fBxz\fP(1) або +\fBlzma\fP(1) текстові файли поекранно на терміналах із м'яким копіюванням. +.PP +Щоб скористатися засобом поділу на сторінки, відмінним від типового \fBmore\fP, +встановіть для змінної середовища \fBPAGER\fP значення назви бажаної +програми. Команду \fBlzmore\fP реалізовано для забезпечення зворотної +сумісності з LZMA Utils. +.TP +\fBe\fP або \fBq\fP +Якщо виведено запит \-\-More\-\-(Наступний файл: \fIфайл\fP), ця команда наказує +\fBxzmore\fP завершити роботу. +.TP +\fBs\fP +Якщо виведено запит \-\-More\-\-(Наступний файл: \fIфайл\fP), ця команда наказує +\fBxzmore\fP перейти до наступного файла і продовжити показ даних. +.PP +Список клавіатурних команд, якими можна скористатися під час перегляду +вмісту файла, наведено на сторінці засобу поділу файла на сторінки, яким ви +користуєтеся, зазвичай, на сторінці \fBmore\fP(1). +.SH "ДИВ. ТАКОЖ" +\fBmore\fP(1), \fBxz\fP(1), \fBxzless\fP(1), \fBzmore\fP(1) |