comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/man/de/man1/lzma.1 @ 68:5028fdace37b

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
comparison
equal deleted inserted replaced
67:0e9998148a16 68:5028fdace37b
1 '\" t
2 .\" SPDX-License-Identifier: 0BSD
3 .\"
4 .\" Authors: Lasse Collin
5 .\" Jia Tan
6 .\"
7 .\" German translation for xz-man.
8 .\" Mario Blättermann <mario.blaettermann@gmail.com>, 2015, 2019-2020, 2022-2024.
9 .\"
10 .\"*******************************************************************
11 .\"
12 .\" This file was generated with po4a. Translate the source file.
13 .\"
14 .\"*******************************************************************
15 .TH XZ 1 2024\-12\-30 Tukaani XZ\-Dienstprogramme
16 .
17 .SH BEZEICHNUNG
18 xz, unxz, xzcat, lzma, unlzma, lzcat \- .xz\- und .lzma\-Dateien komprimieren
19 oder dekomprimieren
20 .
21 .SH ÜBERSICHT
22 \fBxz\fP [\fIOption…\fP] [\fIDatei…\fP]
23 .
24 .SH BEFEHLSALIASE
25 \fBunxz\fP ist gleichbedeutend mit \fBxz \-\-decompress\fP.
26 .br
27 \fBxzcat\fP ist gleichbedeutend mit \fBxz \-\-decompress \-\-stdout\fP.
28 .br
29 \fBlzma\fP ist gleichbedeutend mit \fBxz \-\-format=lzma\fP.
30 .br
31 \fBunlzma\fP ist gleichbedeutend mit \fBxz \-\-format=lzma \-\-decompress\fP.
32 .br
33 \fBlzcat\fP ist gleichbedeutend mit \fBxz \-\-format=lzma \-\-decompress \-\-stdout\fP.
34 .PP
35 Wenn Sie Skripte schreiben, die Dateien dekomprimieren, sollten Sie stets
36 den Namen \fBxz\fP mit den entsprechenden Argumenten (\fBxz \-d\fP oder \fBxz \-dc\fP)
37 anstelle der Namen \fBunxz\fP und \fBxzcat\fP verwenden.
38 .
39 .SH BESCHREIBUNG
40 \fBxz\fP ist ein Allzweckwerkzeug zur Datenkompression, dessen
41 Befehlszeilensyntax denen von \fBgzip\fP(1) und \fBbzip2\fP(1) ähnelt. Das native
42 Dateiformat ist das \fB.xz\fP\-Format, aber das veraltete, von den
43 LZMA\-Dienstprogrammen verwendete Format sowie komprimierte Rohdatenströme
44 ohne Containerformat\-Header werden ebenfalls unterstützt. Außerdem wird die
45 Dekompression des von \fBlzip\fP verwendeten \fB.lz\fP\-Formats unterstützt.
46 .PP
47 \fBxz\fP komprimiert oder dekomprimiert jede \fIDatei\fP entsprechend des
48 gewählten Vorgangsmodus. Falls entweder \fB\-\fP oder keine Datei angegeben ist,
49 liest \fBxz\fP aus der Standardeingabe und leitet die verarbeiteten Dateien in
50 die Standardausgabe. Wenn die Standardausgabe kein Terminal ist, verweigert
51 \fBxz\fP das Schreiben komprimierter Daten in die Standardausgabe. Dabei wird
52 eine Fehlermeldung angezeigt und die \fIDatei\fP übersprungen. Ebenso
53 verweigert \fBxz\fP das Lesen komprimierter Daten aus der Standardeingabe, wenn
54 diese ein Terminal ist.
55 .PP
56 \fIDateien\fP, die nicht als \fB\-\fP angegeben sind, werden in eine neue Datei
57 geschrieben, deren Name aus dem Namen der Quell\-\fIDatei\fP abgeleitet wird
58 (außer wenn \fB\-\-stdout\fP angegeben ist):
59 .IP \(bu 3
60 Bei der Kompression wird das Suffix des Formats der Zieldatei (\fB.xz\fP oder
61 \&\fB.lzma\fP) an den Namen der Quelldatei angehängt und so der Name der
62 Zieldatei gebildet.
63 .IP \(bu 3
64 Bei der Dekompression wird das Suffix \fB.xz\fP, \fB.lzma\fP oder \fB.lz\fP vom
65 Dateinamen entfernt und so der Name der Zieldatei gebildet. Außerdem erkennt
66 \fBxz\fP die Suffixe \fB.txz\fP und \fB.tlz\fP und ersetzt diese durch \fB.tar\fP.
67 .PP
68 Wenn die Zieldatei bereits existiert, wird eine Fehlermeldung angezeigt und
69 die \fIDatei\fP übersprungen.
70 .PP
71 Außer beim Schreiben in die Standardausgabe zeigt \fBxz\fP eine Warnung an und
72 überspringt die \fIDatei\fP, wenn eine der folgenden Bedingungen zutreffend
73 ist:
74 .IP \(bu 3
75 Die \fIDatei\fP ist keine reguläre Datei. Symbolischen Verknüpfungen wird nicht
76 gefolgt und diese daher nicht zu den regulären Dateien gezählt.
77 .IP \(bu 3
78 Die \fIDatei\fP hat mehr als eine harte Verknüpfung.
79 .IP \(bu 3
80 Für die \fIDatei\fP ist das »setuid«\-, »setgid«\- oder »sticky«\-Bit gesetzt.
81 .IP \(bu 3
82 Der Aktionsmodus wird auf Kompression gesetzt und die \fIDatei\fP hat bereits
83 das Suffix des Zieldateiformats (\fB.xz\fP oder \fB.txz\fP beim Komprimieren in
84 das \fB.xz\fP\-Format und \fB.lzma\fP oder \fB.tlz\fP beim Komprimieren in das
85 \&\fB.lzma\fP\-Format).
86 .IP \(bu 3
87 Der Aktionsmodus wird auf Dekompression gesetzt und die \fIDatei\fP hat nicht
88 das Suffix eines der unterstützten Zieldateiformate (\fB.xz\fP, \fB.txz\fP,
89 \&\fB.lzma\fP, \fB.tlz\fP oder \fB.lz\fP).
90 .PP
91 Nach erfolgreicher Kompression oder Dekompression der \fIDatei\fP kopiert \fBxz\fP
92 Eigentümer, Gruppe, Zugriffsrechte, Zugriffszeit und Änderungszeit aus der
93 Ursprungs\-\fIDatei\fP in die Zieldatei. Sollte das Kopieren der Gruppe
94 fehlschlagen, werden die Zugriffsrechte so angepasst, dass jenen Benutzern
95 der Zugriff auf die Zieldatei verwehrt bleibt, die auch keinen Zugriff auf
96 die Ursprungs\-\fIDatei\fP hatten. Das Kopieren anderer Metadaten wie
97 Zugriffssteuerlisten oder erweiterter Attribute wird von \fBxz\fP noch nicht
98 unterstützt.
99 .PP
100 Sobald die Zieldatei erfolgreich geschlossen wurde, wird die
101 Ursprungs\-\fIDatei\fP entfernt. Dies wird durch die Option \fB\-\-keep\fP
102 verhindert. Die Ursprungs\-\fIDatei\fP wird niemals entfernt, wenn die Ausgabe
103 in die Standardausgabe geschrieben wird oder falls ein Fehler auftritt.
104 .PP
105 Durch Senden der Signale \fBSIGINFO\fP oder \fBSIGUSR1\fP an den \fBxz\fP\-Prozess
106 werden Fortschrittsinformationen in den Fehlerkanal der Standardausgabe
107 geleitet. Dies ist nur eingeschränkt hilfreich, wenn die
108 Standardfehlerausgabe ein Terminal ist. Mittels \fB\-\-verbose\fP wird ein
109 automatisch aktualisierter Fortschrittsanzeiger angezeigt.
110 .
111 .SS Speicherbedarf
112 In Abhängigkeit von den gewählten Kompressionseinstellungen bewegt sich der
113 Speicherverbrauch zwischen wenigen hundert Kilobyte und mehreren
114 Gigabyte. Die Einstellungen bei der Kompression einer Datei bestimmen dabei
115 den Speicherbedarf bei der Dekompression. Die Dekompression benötigt
116 üblicherweise zwischen 5\ % und 20\ % des Speichers, der bei der Kompression
117 der Datei erforderlich war. Beispielsweise benötigt die Dekompression einer
118 Datei, die mit \fBxz \-9\fP komprimiert wurde, gegenwärtig etwa 65\ MiB
119 Speicher. Es ist jedoch auch möglich, dass \fB.xz\fP\-Dateien mehrere Gigabyte
120 an Speicher zur Dekompression erfordern.
121 .PP
122 Insbesondere für Benutzer älterer Systeme wird eventuell ein sehr großer
123 Speicherbedarf ärgerlich sein. Um unangenehme Überraschungen zu vermeiden,
124 verfügt \fBxz\fP über eine eingebaute Begrenzung des Speicherbedarfs, die
125 allerdings in der Voreinstellung deaktiviert ist. Zwar verfügen einige
126 Betriebssysteme über eingebaute Möglichkeiten zur prozessabhängigen
127 Speicherbegrenzung, doch diese sind zu unflexibel (zum Beispiel kann
128 \fBulimit\fP(1) beim Begrenzen des virtuellen Speichers \fBmmap\fP(2)
129 beeinträchtigen).
130 .PP
131 Die Begrenzung des Speicherbedarfs kann mit der Befehlszeilenoption
132 \fB\-\-memlimit=\fP\fIBegrenzung\fP aktiviert werden. Oft ist es jedoch bequemer,
133 die Begrenzung durch Setzen der Umgebungsvariable \fBXZ_DEFAULTS\fP
134 standardmäßig zu aktivieren, zum Beispiel
135 \fBXZ_DEFAULTS=\-\-memlimit=150MiB\fP. Die Begrenzungen können getrennt für
136 Kompression und Dekompression mittels \fB\-\-memlimit\-compress=\fP\fIBegrenzung\fP
137 und \fB\-\-memlimit\-decompress=\fP\fIBegrenzung\fP festgelegt werden. Die Verwendung
138 einer solchen Option außerhalb der Variable \fBXZ_DEFAULTS\fP ist kaum
139 sinnvoll, da \fBxz\fP in einer einzelnen Aktion nicht gleichzeitig Kompression
140 und Dekompression ausführen kann und \fB\-\-memlimit=\fP\fIBegrenzung\fP (oder \fB\-M\fP
141 \fIBegrenzung\fP) lässt sich einfacher in der Befehlszeile eingeben.
142 .PP
143 Wenn die angegebene Speicherbegrenzung bei der Dekompression überschritten
144 wird, schlägt der Vorgang fehl und \fBxz\fP zeigt eine Fehlermeldung an. Wird
145 die Begrenzung bei der Kompression überschritten, dann versucht \fBxz\fP die
146 Einstellungen entsprechend anzupassen, außer wenn \fB\-\-format=raw\fP oder
147 \fB\-\-no\-adjust\fP angegeben ist. Auf diese Weise schlägt die Aktion nicht fehl,
148 es sei denn, die Begrenzung wurde sehr niedrig angesetzt. Die Anpassung der
149 Einstellungen wird schrittweise vorgenommen, allerdings entsprechen die
150 Schritte nicht den Voreinstellungen der Kompressionsstufen. Das bedeutet,
151 wenn beispielsweise die Begrenzung nur geringfügig unter den Anforderungen
152 für \fBxz \-9\fP liegt, werden auch die Einstellungen nur wenig angepasst und
153 nicht vollständig herunter zu den Werten für \fBxz \-8\fP
154 .
155 .SS "Verkettung und Auffüllung von .xz\-Dateien"
156 Es ist möglich, \fB.xz\fP\-Dateien direkt zu verketten. Solche Dateien werden
157 von \fBxz\fP genauso dekomprimiert wie eine einzelne \fB.xz\fP\-Datei.
158 .PP
159 Es ist weiterhin möglich, eine Auffüllung zwischen den verketteten Teilen
160 oder nach dem letzten Teil einzufügen. Die Auffüllung muss aus Null\-Bytes
161 bestehen und deren Größe muss ein Vielfaches von vier Byte sein. Dies kann
162 zum Beispiel dann vorteilhaft sein, wenn die \fB.xz\fP\-Datei auf einem
163 Datenträger gespeichert wird, dessen Dateisystem die Dateigrößen in
164 512\-Byte\-Blöcken speichert.
165 .PP
166 Verkettung und Auffüllung sind für \fB.lzma\fP\-Dateien oder Rohdatenströme
167 nicht erlaubt.
168 .
169 .SH OPTIONEN
170 .
171 .SS "Ganzzahlige Suffixe und spezielle Werte"
172 An den meisten Stellen, wo ein ganzzahliges Argument akzeptiert wird, kann
173 ein optionales Suffix große Ganzzahlwerte einfacher darstellen. Zwischen
174 Ganzzahl und dem Suffix dürfen sich keine Leerzeichen befinden.
175 .TP
176 \fBKiB\fP
177 multipliziert die Ganzzahl mit 1.024 (2^10). \fBKi\fP, \fBk\fP, \fBkB\fP, \fBK\fP und
178 \fBKB\fP werden als Synonyme für \fBKiB\fP akzeptiert.
179 .TP
180 \fBMiB\fP
181 multipliziert die Ganzzahl mit 1.048.576 (2^20). \fBMi\fP, \fBm\fP, \fBM\fP und \fBMB\fP
182 werden als Synonyme für \fBMiB\fP akzeptiert.
183 .TP
184 \fBGiB\fP
185 multipliziert die Ganzzahl mit 1.073.741.824 (2^30). \fBGi\fP, \fBg\fP, \fBG\fP und
186 \fBGB\fP werden als Synonyme für \fBGiB\fP akzeptiert.
187 .PP
188 Der spezielle Wert \fBmax\fP kann dazu verwendet werden, um den von der
189 jeweiligen Option akzeptierten maximalen Ganzzahlwert anzugeben.
190 .
191 .SS Aktionsmodus
192 Falls mehrere Aktionsmodi angegeben sind, wird der zuletzt angegebene
193 verwendet.
194 .TP
195 \fB\-z\fP, \fB\-\-compress\fP
196 Kompression. Dies ist der voreingestellte Aktionsmodus, sofern keiner
197 angegeben ist und auch kein bestimmter Modus aus dem Befehlsnamen abgeleitet
198 werden kann (der Befehl \fBunxz\fP impliziert zum Beispiel \fB\-\-decompress\fP).
199 .IP ""
200 .\" The DESCRIPTION section already says this but it's good to repeat it
201 .\" here because the default behavior is a bit dangerous and new users
202 .\" in a hurry may skip reading the DESCRIPTION section.
203 After successful compression, the source file is removed unless writing to
204 standard output or \fB\-\-keep\fP was specified.
205 .TP
206 \fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP
207 .\" The DESCRIPTION section already says this but it's good to repeat it
208 .\" here because the default behavior is a bit dangerous and new users
209 .\" in a hurry may skip reading the DESCRIPTION section.
210 Decompress. After successful decompression, the source file is removed
211 unless writing to standard output or \fB\-\-keep\fP was specified.
212 .TP
213 \fB\-t\fP, \fB\-\-test\fP
214 prüft die Integrität der komprimierten \fIDateien\fP. Diese Option ist
215 gleichbedeutend mit \fB\-\-decompress \-\-stdout\fP, außer dass die dekomprimierten
216 Daten verworfen werden, anstatt sie in die Standardausgabe zu leiten. Es
217 werden keine Dateien erstellt oder entfernt.
218 .TP
219 \fB\-l\fP, \fB\-\-list\fP
220 gibt Informationen zu den komprimierten \fIDateien\fP aus. Es werden keine
221 unkomprimierten Dateien ausgegeben und keine Dateien angelegt oder
222 entfernt. Im Listenmodus kann das Programm keine komprimierten Daten aus der
223 Standardeingabe oder anderen nicht durchsuchbaren Quellen lesen.
224 .IP ""
225 Die Liste zeigt in der Standardeinstellung grundlegende Informationen zu den
226 \fIDateien\fP an, zeilenweise pro Datei. Detailliertere Informationen erhalten
227 Sie mit der Option \fB\-\-verbose\fP. Wenn Sie diese Option zweimal angeben,
228 werden noch ausführlichere Informationen ausgegeben. Das kann den Vorgang
229 allerdings deutlich verlangsamen, da die Ermittlung der zusätzlichen
230 Informationen zahlreiche Suchvorgänge erfordert. Die Breite der
231 ausführlichen Ausgabe übersteigt 80 Zeichen, daher könnte die Weiterleitung
232 in beispielsweise\& \fBless\ \-S\fP sinnvoll sein, falls das Terminal nicht
233 breit genug ist.
234 .IP ""
235 Die exakte Ausgabe kann in verschiedenen \fBxz\fP\-Versionen und
236 Spracheinstellungen unterschiedlich sein. Wenn eine maschinell auswertbare
237 Ausgabe gewünscht ist, dann sollten Sie \fB\-\-robot \-\-list\fP verwenden.
238 .
239 .SS Aktionsattribute
240 .TP
241 \fB\-k\fP, \fB\-\-keep\fP
242 verhindert das Löschen der Eingabedateien.
243 .IP ""
244 Seit der \fBxz\fP\-Version 5.2.6 wird die Kompression oder Dekompression auch
245 dann ausgeführt, wenn die Eingabe ein symbolischer Link zu einer regulären
246 Datei ist, mehr als einen harten Link hat oder das »setuid«\-, »setgid«\- oder
247 »sticky«\-Bit gesetzt ist. Die genannten Bits werden nicht in die Zieldatei
248 kopiert. In früheren Versionen geschah dies nur mit \fB\-\-force\fP.
249 .TP
250 \fB\-f\fP, \fB\-\-force\fP
251 Diese Option hat verschiedene Auswirkungen:
252 .RS
253 .IP \(bu 3
254 Wenn die Zieldatei bereits existiert, wird diese vor der Kompression oder
255 Dekompression gelöscht.
256 .IP \(bu 3
257 Die Kompression oder Dekompression wird auch dann ausgeführt, wenn die
258 Eingabe ein symbolischer Link zu einer regulären Datei ist, mehr als einen
259 harten Link hat oder das »setuid«\-, »setgid«\- oder »sticky«\-Bit gesetzt
260 ist. Die genannten Bits werden nicht in die Zieldatei kopiert.
261 .IP \(bu 3
262 Wenn es zusammen mit \fB\-\-decompress\fP und \fB\-\-stdout\fP verwendet wird und
263 \fBxz\fP den Typ der Quelldatei nicht ermitteln kann, wird die Quelldatei
264 unverändert in die Standardausgabe kopiert. Dadurch kann \fBxzcat\fP \fB\-\-force\fP
265 für Dateien, die nicht mit \fBxz\fP komprimiert wurden, wie \fBcat\fP(1) verwendet
266 werden. Zukünftig könnte \fBxz\fP neue Dateikompressionsformate unterstützen,
267 wodurch \fBxz\fP mehr Dateitypen dekomprimieren kann, anstatt sie unverändert
268 in die Standardausgabe zu kopieren. Mit der Option \fB\-\-format=\fP\fIFormat\fP
269 können Sie \fBxz\fP anweisen, nur ein einzelnes Dateiformat zu dekomprimieren.
270 .RE
271 .TP
272 \fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP
273 schreibt die komprimierten oder dekomprimierten Daten in die Standardausgabe
274 anstatt in eine Datei. Dies impliziert \fB\-\-keep\fP.
275 .TP
276 \fB\-\-single\-stream\fP
277 dekomprimiert nur den ersten \fB.xz\fP\-Datenstrom und ignoriert stillschweigend
278 weitere Eingabedaten, die möglicherweise dem Datenstrom
279 folgen. Normalerweise führt solcher anhängender Datenmüll dazu, dass \fBxz\fP
280 eine Fehlermeldung ausgibt.
281 .IP ""
282 \fBxz\fP dekomprimiert niemals mehr als einen Datenstrom aus \fB.lzma\fP\-Dateien
283 oder Rohdatenströmen, aber dennoch wird durch diese Option möglicherweise
284 vorhandener Datenmüll nach der \fB.lzma\fP\-Datei oder dem Rohdatenstrom
285 ignoriert.
286 .IP ""
287 Diese Option ist wirkungslos, wenn der Aktionsmodus nicht \fB\-\-decompress\fP
288 oder \fB\-\-test\fP ist.
289 .TP
290 \fB\-\-no\-sparse\fP
291 verhindert die Erzeugung von Sparse\-Dateien. In der Voreinstellung versucht
292 \fBxz\fP, bei der Dekompression in eine reguläre Datei eine Sparse\-Datei zu
293 erzeugen, wenn die dekomprimierten Daten lange Abfolgen von binären Nullen
294 enthalten. Dies funktioniert auch beim Schreiben in die Standardausgabe,
295 sofern diese in eine reguläre Datei weitergeleitet wird und bestimmte
296 Zusatzbedingungen erfüllt sind, die die Aktion absichern. Die Erzeugung von
297 Sparse\-Dateien kann Plattenplatz sparen und beschleunigt die Dekompression
298 durch Verringerung der Ein\-/Ausgaben der Platte.
299 .TP
300 \fB\-S\fP \fI.suf\fP, \fB\-\-suffix=\fP\fI.suf\fP
301 verwendet \fI.suf\fP bei der Dekompression anstelle von \fB.xz\fP oder \fB.lzma\fP
302 als Suffix für die Zieldatei. Falls nicht in die Standardausgabe geschrieben
303 wird und die Quelldatei bereits das Suffix \fI.suf\fP hat, wird eine Warnung
304 angezeigt und die Datei übersprungen.
305 .IP ""
306 berücksichtigt bei der Dekompression zusätzlich zu Dateien mit den Suffixen
307 \&\fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP oder \fB.lz\fP auch jene mit dem Suffix
308 \&\fI.suf\fP. Falls die Quelldatei das Suffix \fI.suf\fP hat, wird dieses entfernt
309 und so der Name der Zieldatei abgeleitet.
310 .IP ""
311 Beim Komprimieren oder Dekomprimieren von Rohdatenströmen mit
312 \fB\-\-format=raw\fP muss das Suffix stets angegeben werden, außer wenn die
313 Ausgabe in die Standardausgabe erfolgt. Der Grund dafür ist, dass es kein
314 vorgegebenes Suffix für Rohdatenströme gibt.
315 .TP
316 \fB\-\-files\fP[\fB=\fP\fIDatei\fP]
317 liest die zu verarbeitenden Dateinamen aus \fIDatei\fP. Falls keine \fIDatei\fP
318 angegeben ist, werden die Dateinamen aus der Standardeingabe
319 gelesen. Dateinamen müssen mit einem Zeilenumbruch beendet werden. Ein
320 Bindestrich (\fB\-\fP) wird als regulärer Dateiname angesehen und nicht als
321 Standardeingabe interpretiert. Falls Dateinamen außerdem als
322 Befehlszeilenargumente angegeben sind, werden diese vor den Dateinamen aus
323 der \fIDatei\fP verarbeitet.
324 .TP
325 \fB\-\-files0\fP[\fB=\fP\fIDatei\fP]
326 Dies ist gleichbedeutend mit \fB\-\-files\fP[\fB=\fP\fIDatei\fP], außer dass jeder
327 Dateiname mit einem Null\-Zeichen abgeschlossen werden muss.
328 .
329 .SS "Grundlegende Dateiformat\- und Kompressionsoptionen"
330 .TP
331 \fB\-F\fP \fIFormat\fP, \fB\-\-format=\fP\fIFormat\fP
332 gibt das \fIFormat\fP der zu komprimierenden oder dekomprimierenden Datei an:
333 .RS
334 .TP
335 \fBauto\fP
336 Dies ist die Voreinstellung. Bei der Kompression ist \fBauto\fP gleichbedeutend
337 mit \fBxz\fP. Bei der Dekompression wird das Format der Eingabedatei
338 automatisch erkannt. Beachten Sie, dass Rohdatenströme, wie sie mit
339 \fB\-\-format=raw\fP erzeugt werden, nicht automatisch erkannt werden können.
340 .TP
341 \fBxz\fP
342 Die Kompression erfolgt in das \fB.xz\fP\-Dateiformat oder akzeptiert nur
343 \&\fB.xz\fP\-Dateien bei der Dekompression.
344 .TP
345 \fBlzma\fP, \fBalone\fP
346 Die Kompression erfolgt in das veraltete \fB.lzma\fP\-Dateiformat oder
347 akzeptiert nur \fB.lzma\fP\-Dateien bei der Dekompression. Der alternative Name
348 \fBalone\fP dient der Abwärtskompatibilität zu den LZMA\-Dienstprogrammen.
349 .TP
350 \fBlzip\fP
351 Akzeptiert nur \fB.lz\fP\-Dateien bei der Dekompression. Kompression wird nicht
352 unterstützt.
353 .IP ""
354 Das \fB.lz\fP\-Format wird in Version 0 und der unerweiterten Version 1
355 unterstützt. Dateien der Version 0 wurden von \fBlzip\fP 1.3 und älter
356 erstellt. Solche Dateien sind nicht sehr weit verbreitet, können aber in
357 Dateiarchiven gefunden werden, da einige Quellpakete in diesem Format
358 veröffentlicht wurden. Es ist auch möglich, dass Benutzer alte persönliche
359 Dateien in diesem Format haben. Die Dekompressionsunterstützung für das
360 Format der Version 0 wurde mit der Version 1.18 aus \fBlzip\fP entfernt.
361 .IP ""
362 \fBlzip\fP\-Versionen ab 1.4 erstellen Dateien im Format der Version 0. Die
363 Erweiterung »Sync Flush Marker« zur Formatversion 1 wurde in \fBlzip\fP 1.6
364 hinzugefügt. Diese Erweiterung wird sehr selten verwendet und wird von \fBxz\fP
365 nicht unterstützt (die Eingabe wird als beschädigt erkannt).
366 .TP
367 \fBraw\fP
368 Komprimiert oder dekomprimiert einen Rohdatenstrom (ohne Header). Diese
369 Option ist nur für fortgeschrittene Benutzer bestimmt. Zum Dekodieren von
370 Rohdatenströmen müssen Sie die Option \fB\-\-format=raw\fP verwenden und die
371 Filterkette ausdrücklich angeben, die normalerweise in den (hier fehlenden)
372 Container\-Headern gespeichert worden wäre.
373 .RE
374 .TP
375 \fB\-C\fP \fIPrüfung\fP, \fB\-\-check=\fP\fIPrüfung\fP
376 gibt den Typ der Integritätsprüfung an. Die Prüfsumme wird aus den
377 unkomprimierten Daten berechnet und in der \fB.xz\fP\-Datei gespeichert. Diese
378 Option wird nur bei der Kompression in das \fB.xz\fP\-Format angewendet, da das
379 \&\fB.lzma\fP\-Format keine Integritätsprüfungen unterstützt. Die eigentliche
380 Integritätsprüfung erfolgt (falls möglich), wenn die \fB.xz\fP\-Datei
381 dekomprimiert wird.
382 .IP ""
383 Folgende Typen von \fIPrüfungen\fP werden unterstützt:
384 .RS
385 .TP
386 \fBnone\fP
387 führt keine Integritätsprüfung aus. Dies ist eine eher schlechte
388 Idee. Dennoch kann es nützlich sein, wenn die Integrität der Daten auf
389 andere Weise sichergestellt werden kann.
390 .TP
391 \fBcrc32\fP
392 berechnet die CRC32\-Prüfsumme anhand des Polynoms aus IEEE\-802.3 (Ethernet).
393 .TP
394 \fBcrc64\fP
395 berechnet die CRC64\-Prüfsumme anhand des Polynoms aus ECMA\-182. Dies ist die
396 Voreinstellung, da beschädigte Dateien etwas besser als mit CRC32 erkannt
397 werden und die Geschwindigkeitsdifferenz unerheblich ist.
398 .TP
399 \fBsha256\fP
400 berechnet die SHA\-256\-Prüfsumme. Dies ist etwas langsamer als CRC32 und
401 CRC64.
402 .RE
403 .IP ""
404 Die Integrität der \fB.xz\fP\-Header wird immer mit CRC32 geprüft. Es ist nicht
405 möglich, dies zu ändern oder zu deaktivieren.
406 .TP
407 \fB\-\-ignore\-check\fP
408 verifiziert die Integritätsprüfsumme der komprimierten Daten bei der
409 Dekompression nicht. Die CRC32\-Werte in den \fB.xz\fP\-Headern werden weiterhin
410 normal verifiziert.
411 .IP ""
412 \fBVerwenden Sie diese Option nicht, außer Sie wissen, was Sie tun.\fP Mögliche
413 Gründe, diese Option zu verwenden:
414 .RS
415 .IP \(bu 3
416 Versuchen, Daten aus einer beschädigten .xz\-Datei wiederherzustellen.
417 .IP \(bu 3
418 Erhöhung der Geschwindigkeit bei der Dekompression. Dies macht sich meist
419 mit SHA\-256 bemerkbar, oder mit Dateien, die extrem stark komprimiert
420 sind. Wir empfehlen, diese Option nicht für diesen Zweck zu verwenden, es
421 sei denn, die Integrität der Datei wird extern auf andere Weise überprüft.
422 .RE
423 .TP
424 \fB\-0\fP … \fB\-9\fP
425 wählt eine der voreingestellten Kompressionsstufen, standardmäßig
426 \fB\-6\fP. Wenn mehrere Voreinstellungsstufen angegeben sind, ist nur die
427 zuletzt angegebene wirksam. Falls bereits eine benutzerdefinierte
428 Filterkette angegeben wurde, wird diese durch die Festlegung der
429 Voreinstellung geleert.
430 .IP ""
431 Die Unterschiede zwischen den Voreinstellungsstufen sind deutlicher als bei
432 \fBgzip\fP(1) und \fBbzip2\fP(1). Die gewählten Kompressionseinstellungen
433 bestimmen den Speicherbedarf bei der Dekompression, daher ist es auf älteren
434 Systemen mit wenig Speicher bei einer zu hoch gewählten Voreinstellung
435 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
436 \fBbzip2\fP(1) gehandhabt wird.
437 .RS
438 .TP
439 \fB\-0\fP … \fB\-3\fP
440 Diese Voreinstellungen sind recht schnell. \fB\-0\fP ist manchmal schneller als
441 \fBgzip \-9\fP, wobei aber die Kompression wesentlich besser ist. Die
442 schnelleren Voreinstellungen sind im Hinblick auf die Geschwindigkeit mit
443 \fBbzip2\fP(1) vergleichbar , mit einem ähnlichen oder besseren
444 Kompressionsverhältnis, wobei das Ergebnis aber stark vom Typ der zu
445 komprimierenden Daten abhängig ist.
446 .TP
447 \fB\-4\fP … \fB\-6\fP
448 Gute bis sehr gute Kompression, wobei der Speicherbedarf für die
449 Dekompression selbst auf alten Systemen akzeptabel ist. \fB\-6\fP ist die
450 Voreinstellung, welche üblicherweise eine gute Wahl für die Verteilung von
451 Dateien ist, die selbst noch auf Systemen mit nur 16\ MiB Arbeitsspeicher
452 dekomprimiert werden müssen (\fB\-5e\fP oder \fB\-6e\fP sind ebenfalls eine
453 Überlegung wert. Siehe \fB\-\-extreme\fP).
454 .TP
455 \fB\-7 … \-9\fP
456 Ähnlich wie \fB\-6\fP, aber mit einem höheren Speicherbedarf für die Kompression
457 und Dekompression. Sie sind nur nützlich, wenn Dateien komprimiert werden
458 sollen, die größer als 8\ MiB, 16\ MiB beziehungsweise 32\ MiB sind.
459 .RE
460 .IP ""
461 Auf der gleichen Hardware ist die Dekompressionsgeschwindigkeit ein nahezu
462 konstanter Wert in Bytes komprimierter Daten pro Sekunde. Anders
463 ausgedrückt: Je besser die Kompression, umso schneller wird üblicherweise
464 die Dekompression sein. Das bedeutet auch, dass die Menge der pro Sekunde
465 ausgegebenen unkomprimierten Daten stark variieren kann.
466 .IP ""
467 Die folgende Tabelle fasst die Eigenschaften der Voreinstellungen zusammen:
468 .RS
469 .RS
470 .PP
471 .TS
472 tab(;);
473 c c c c c
474 n n n n n.
475 Voreinst.;Wörtb.Gr;KomprCPU;KompSpeich;DekompSpeich
476 \-0;256 KiB;0;3 MiB;1 MiB
477 \-1;1 MiB;1;9 MiB;2 MiB
478 \-2;2 MiB;2;17 MiB;3 MiB
479 \-3;4 MiB;3;32 MiB;5 MiB
480 \-4;4 MiB;4;48 MiB;5 MiB
481 \-5;8 MiB;5;94 MiB;9 MiB
482 \-6;8 MiB;6;94 MiB;9 MiB
483 \-7;16 MiB;6;186 MiB;17 MiB
484 \-8;32 MiB;6;370 MiB;33 MiB
485 \-9;64 MiB;6;674 MiB;65 MiB
486 .TE
487 .RE
488 .RE
489 .IP ""
490 Spaltenbeschreibungen:
491 .RS
492 .IP \(bu 3
493 Wörtb.Größe ist die Größe des LZMA2\-Wörterbuchs. Es ist
494 Speicherverschwendung, ein Wörterbuch zu verwenden, das größer als die
495 unkomprimierte Datei ist. Daher ist es besser, die Voreinstellungen \fB\-7\fP …
496 \fB\-9\fP zu vermeiden, falls es keinen wirklichen Bedarf dafür gibt. Mit \fB\-6\fP
497 und weniger wird üblicherweise so wenig Speicher verschwendet, dass dies
498 nicht ins Gewicht fällt.
499 .IP \(bu 3
500 KomprCPU ist eine vereinfachte Repräsentation der LZMA2\-Einstellungen,
501 welche die Kompressionsgeschwindigkeit beeinflussen. Die Wörterbuchgröße
502 wirkt sich ebenfalls auf die Geschwindigkeit aus. Während KompCPU für die
503 Stufen \fB\-6\fP bis \fB\-9\fP gleich ist, tendieren höhere Stufen dazu, etwas
504 langsamer zu sein. Um eine noch langsamere, aber möglicherweise bessere
505 Kompression zu erhalten, siehe \fB\-\-extreme\fP.
506 .IP \(bu 3
507 KompSpeich enthält den Speicherbedarf des Kompressors im
508 Einzel\-Thread\-Modus. Dieser kann zwischen den \fBxz\fP\-Versionen leicht
509 variieren.
510 .IP \(bu 3
511 DekompSpeich enthält den Speicherbedarf für die Dekompression. Das bedeutet,
512 dass die Kompressionseinstellungen den Speicherbedarf bei der Dekompression
513 bestimmen. Der exakte Speicherbedarf bei der Dekompression ist geringfügig
514 größer als die Größe des LZMA2\-Wörterbuchs, aber die Werte in der Tabelle
515 wurden auf ganze MiB aufgerundet.
516 .RE
517 .IP ""
518 Der Speicherbedarf einiger der zukünftigen Multithread\-Modi kann dramatisch
519 höher sein als im Einzel\-Thread\-Modus. Mit dem Standardwert von
520 \fB\-\-block\-size\fP benötigt jeder Thread 3*3*Wörtb.Gr plus KompSpeich oder
521 DekompSpeich. Beispielsweise benötigen vier Threads mit der Voreinstellung
522 \fB\-6\fP etwa 660 bis 670 MiB Speicher.
523 .TP
524 \fB\-e\fP, \fB\-\-extreme\fP
525 verwendet eine langsamere Variante der gewählten
526 Kompressions\-Voreinstellungsstufe (\fB\-0\fP … \fB\-9\fP), um hoffentlich ein etwas
527 besseres Kompressionsverhältnis zu erreichen, das aber in ungünstigen Fällen
528 auch schlechter werden kann. Der Speicherverbrauch bei der Dekompression
529 wird dabei nicht beeinflusst, aber der Speicherverbrauch der Kompression
530 steigt in den Voreinstellungsstufen \fB\-0\fP bis \fB\-3\fP geringfügig an.
531 .IP ""
532 Da es zwei Voreinstellungen mit den Wörterbuchgrößen 4\ MiB und 8\ MiB gibt,
533 verwenden die Voreinstellungsstufen \fB\-3e\fP und \fB\-5e\fP etwas schnellere
534 Einstellungen (niedrigere KompCPU) als \fB\-4e\fP beziehungsweise \fB\-6e\fP. Auf
535 diese Weise sind zwei Voreinstellungen nie identisch.
536 .RS
537 .RS
538 .PP
539 .TS
540 tab(;);
541 c c c c c
542 n n n n n.
543 Voreinst.;Wörtb.Gr;KomprCPU;KompSpeich;DekompSpeich
544 \-0e;256 KiB;8;4 MiB;1 MiB
545 \-1e;1 MiB;8;13 MiB;2 MiB
546 \-2e;2 MiB;8;25 MiB;3 MiB
547 \-3e;4 MiB;7;48 MiB;5 MiB
548 \-4e;4 MiB;8;48 MiB;5 MiB
549 \-5e;8 MiB;7;94 MiB;9 MiB
550 \-6e;8 MiB;8;94 MiB;9 MiB
551 \-7e;16 MiB;8;186 MiB;17 MiB
552 \-8e;32 MiB;8;370 MiB;33 MiB
553 \-9e;64 MiB;8;674 MiB;65 MiB
554 .TE
555 .RE
556 .RE
557 .IP ""
558 Zum Beispiel gibt es insgesamt vier Voreinstellungen, die ein 8\ MiB großes
559 Wörterbuch verwenden, deren Reihenfolge von der schnellsten zur langsamsten
560 \fB\-5\fP, \fB\-6\fP, \fB\-5e\fP und \fB\-6e\fP ist.
561 .TP
562 \fB\-\-fast\fP
563 .PD 0
564 .TP
565 \fB\-\-best\fP
566 .PD
567 sind etwas irreführende Aliase für \fB\-0\fP beziehungsweise \fB\-9\fP. Sie werden
568 nur zwecks Abwärtskompatibilität zu den LZMA\-Dienstprogrammen
569 bereitgestellt. Sie sollten diese Optionen besser nicht verwenden.
570 .TP
571 \fB\-\-block\-size=\fP\fIGröße\fP
572 teilt beim Komprimieren in das \fB.xz\fP\-Format die Eingabedaten in Blöcke der
573 angegebenen \fIGröße\fP in Byte. Die Blöcke werden unabhängig voneinander
574 komprimiert, was dem Multi\-Threading entgegen kommt und Zufallszugriffe bei
575 der Dekompression begrenzt. Diese Option wird typischerweise eingesetzt, um
576 die vorgegebene Blockgröße im Multi\-Thread\-Modus außer Kraft zu setzen, aber
577 sie kann auch im Einzel\-Thread\-Modus angewendet werden.
578 .IP ""
579 Im Multi\-Thread\-Modus wird etwa die dreifache \fIGröße\fP in jedem Thread zur
580 Pufferung der Ein\- und Ausgabe belegt. Die vorgegebene \fIGröße\fP ist das
581 Dreifache der Größe des LZMA2\-Wörterbuchs oder 1 MiB, je nachdem, was mehr
582 ist. Typischerweise ist das Zwei\- bis Vierfache der Größe des
583 LZMA2\-Wörterbuchs oder wenigstens 1 MB ein guter Wert. Eine \fIGröße\fP, die
584 geringer ist als die des LZMA2\-Wörterbuchs, ist Speicherverschwendung, weil
585 dann der LZMA2\-Wörterbuchpuffer niemals vollständig genutzt werden würde. Im
586 Multi\-Thread\-Modus wird die Größe der Blöcke wird in den Block\-Headern
587 gespeichert. Die Größeninformation wird für eine Multi\-Thread\-Dekompression
588 genutzt.
589 .IP ""
590 Im Einzel\-Thread\-Modus werden die Blöcke standardmäßig nicht geteilt. Das
591 Setzen dieser Option wirkt sich nicht auf den Speicherbedarf aus. In den
592 Block\-Headern werden keine Größeninformationen gespeichert, daher werden im
593 Einzel\-Thread\-Modus erzeugte Dateien nicht zu den im Multi\-Thread\-Modus
594 erzeugten Dateien identisch sein. Das Fehlen der Größeninformation bedingt
595 auch, dass \fBxz\fP nicht in der Lage sein wird, die Dateien im
596 Multi\-Thread\-Modus zu dekomprimieren.
597 .TP
598 \fB\-\-block\-list=\fP\fIBlöcke\fP
599 beginnt bei der Kompression in das \fB.xz\fP\-Format nach den angegebenen
600 Intervallen unkomprimierter Daten einen neuen Block, optional mit einer
601 benutzerdefinierten Filterkette.
602 .IP ""
603 Die \fIBlöcke\fP werden in einer durch Kommata getrennten Liste
604 angegeben. Jeder Block besteht aus einer optionalen Filterkettennummer
605 zwischen 0 und 9, gefolgt von einem Doppelpunkt (\fB:\fP) und der Größe der
606 unkomprimierten Daten (diese Angabe ist erforderlich). Überspringen eines
607 Blocks (zwei oder mehr aufeinander folgende Kommata) ist ein Kürzel dafür,
608 die Größe und die Filter des vorherigen Blocks zu verwenden.
609 .IP ""
610 Falls die Eingabedatei größer ist als die Summe der \fIBlöcke\fP, dann wird der
611 letzte in \fIVBlöcke\fP angegebene Wert bis zum Ende der Datei wiederholt. Mit
612 dem speziellen Wert \fB0\fP können Sie angeben, dass der Rest der Datei als
613 einzelner Block kodiert werden soll.
614 .IP ""
615 Eine alternative Filterkette für jeden Block kann in Kombination mit den
616 Optionen \fB\-\-filters1=\fP\fIFilter\fP \&…\& \fB\-\-filters9=\fP\fIFilter\fP angegeben
617 werden. Diese Optionen definieren Filterketten mit einem Bezeichner zwischen
618 1 und 9. Die Filterkette 0 bezeichnet hierbei die voreingestellte
619 Filterkette, was dem Nichtangeben einer Filterkette gleichkommt. Der
620 Filterkettenbezeichner kann vor der unkomprimierten Größe verwendet werden,
621 gefolgt von einem Doppelpunkt (\fB:\fP). Falls Sie beispielsweise
622 \fB\-\-block\-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB\fP angeben, werden die Blöcke
623 folgendermaßen erstellt:
624 .RS
625 .IP \(bu 3
626 Die durch \fB\-\-filters1\fP angegebene Filterkette und 2 MiB Eingabe
627 .IP \(bu 3
628 Die durch \fB\-\-filters3\fP angegebene Filterkette und 2 MiB Eingabe
629 .IP \(bu 3
630 Die durch \fB\-\-filters2\fP angegebene Filterkette und 4 MiB Eingabe
631 .IP \(bu 3
632 Die durch \fB\-\-filters2\fP angegebene Filterkette und 4 MiB Eingabe
633 .IP \(bu 3
634 Die vorgegebene Filterkette und 2 MiB Eingabe
635 .IP \(bu 3
636 Die vorgegebene Filterkette und 4 MiB Eingabe für jeden Block bis zum Ende
637 der Eingabe.
638 .RE
639 .IP ""
640 Falls Sie eine Größe angeben, welche die Blockgröße des Encoders übersteigen
641 (entweder den Vorgabewert im Thread\-Modus oder den mit
642 \fB\-\-block\-size=\fP\fIGröße\fP angegebenen Wert), wird der Encoder zusätzliche
643 Blöcke erzeugen, wobei die in den \fIBlöcke\fP angegebenen Grenzen eingehalten
644 werden. Wenn Sie zum Beispiel \fB\-\-block\-size=10MiB\fP
645 \fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP angeben und die Eingabedatei 80
646 MiB groß ist, erhalten Sie 11 Blöcke: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10 und
647 1 MiB.
648 .IP ""
649 Im Multi\-Thread\-Modus werden die Blockgrößen in den Block\-Headern
650 gespeichert. Dies geschieht im Einzel\-Thread\-Modus nicht, daher wird die
651 kodierte Ausgabe zu der im Multi\-Thread\-Modus nicht identisch sein.
652 .TP
653 \fB\-\-flush\-timeout=\fP\fIZeit\fP
654 löscht bei der Kompression die ausstehenden Daten aus dem Encoder und macht
655 sie im Ausgabedatenstrom verfügbar, wenn mehr als die angegebene \fIZeit\fP in
656 Millisekunden (als positive Ganzzahl) seit dem vorherigen Löschen vergangen
657 ist und das Lesen weiterer Eingaben blockieren würde. Dies kann nützlich
658 sein, wenn \fBxz\fP zum Komprimieren von über das Netzwerk eingehenden Daten
659 verwendet wird. Kleine \fIZeit\fP\-Werte machen die Daten unmittelbar nach dem
660 Empfang nach einer kurzen Verzögerung verfügbar, während große \fIZeit\fP\-Werte
661 ein besseres Kompressionsverhältnis bewirken.
662 .IP ""
663 Dieses Funktionsmerkmal ist standardmäßig deaktiviert. Wenn diese Option
664 mehrfach angegeben wird, ist die zuletzt angegebene wirksam. Für die Angabe
665 der \fIZeit\fP kann der spezielle Wert \fB0\fP verwendet werden, um dieses
666 Funktionsmerkmal explizit zu deaktivieren.
667 .IP ""
668 Dieses Funktionsmerkmal ist außerhalb von POSIX\-Systemen nicht verfügbar.
669 .IP ""
670 .\" FIXME
671 \fBDieses Funktionsmerkmal ist noch experimentell.\fP Gegenwärtig ist \fBxz\fP
672 aufgrund der Art und Weise, wie \fBxz\fP puffert, für Dekompression in Echtzeit
673 ungeeignet.
674 .TP
675 \fB\-\-memlimit\-compress=\fP\fIGrenze\fP
676 legt eine Grenze für die Speichernutzung bei der Kompression fest. Wenn
677 diese Option mehrmals angegeben wird, ist die zuletzt angegebene wirksam.
678 .IP ""
679 Falls die Kompressionseinstellungen die \fIGrenze\fP überschreiten, versucht
680 \fBxz\fP, die Einstellungen nach unten anzupassen, so dass die Grenze nicht
681 mehr überschritten wird und zeigt einen Hinweis an, dass eine automatische
682 Anpassung vorgenommen wurde. Die Anpassungen werden in folgender Reihenfolge
683 angewendet: Reduzierung der Anzahl der Threads, Wechsel in den
684 Einzelthread\-Modus, falls sogar ein einziger Thread im Multithread\-Modus die
685 \fIGrenze\fP überschreitet, und schlussendlich die Reduzierung der Größe des
686 LZMA2\-Wörterbuchs.
687 .IP ""
688 Beim Komprimieren mit \fB\-\-format=raw\fP oder falls \fB\-\-no\-adjust\fP angegeben
689 wurde, wird nur die Anzahl der Threads reduziert, da nur so die komprimierte
690 Ausgabe nicht beeinflusst wird.
691 .IP ""
692 Falls die \fIGrenze\fP nicht anhand der vorstehend beschriebenen Anpassungen
693 gesetzt werden kann, wird ein Fehler angezeigt und \fBxz\fP wird mit dem
694 Exit\-Status 1 beendet.
695 .IP ""
696 Die \fIGrenze\fP kann auf verschiedene Arten angegeben werden:
697 .RS
698 .IP \(bu 3
699 Die \fIGrenze\fP kann ein absoluter Wert in Byte sein. Ein Suffix wie \fBMiB\fP
700 kann dabei hilfreich sein. Beispiel: \fB\-\-memlimit\-compress=80MiB\fP.
701 .IP \(bu 3
702 Die \fIGrenze\fP kann als Prozentsatz des physischen Gesamtspeichers (RAM)
703 angegeben werden. Dies ist insbesondere nützlich, wenn in einem
704 Shell\-Initialisierungsskript, das mehrere unterschiedliche Rechner gemeinsam
705 verwenden, die Umgebungsvariable \fBXZ_DEFAULTS\fP gesetzt ist. Auf diese Weise
706 ist die Grenze auf Systemen mit mehr Speicher höher. Beispiel:
707 \fB\-\-memlimit\-compress=70%\fP
708 .IP \(bu 3
709 Mit \fB0\fP kann die \fIGrenze\fP auf den Standardwert zurückgesetzt werden. Dies
710 ist gegenwärtig gleichbedeutend mit dem Setzen der \fIGrenze\fP auf \fBmax\fP
711 (keine Speicherbegrenzung).
712 .RE
713 .IP ""
714 Für die 32\-Bit\-Version von \fBxz\fP gibt es einen Spezialfall: Falls die Grenze
715 über \fB4020\ MiB\fP liegt, wird die \fIGrenze\fP auf \fB4020\ MiB\fP gesetzt. Auf
716 MIPS32 wird stattdessen \fB2000\ MB\fP verwendet (die Werte \fB0\fP und \fBmax\fP
717 werden hiervon nicht beeinflusst; für die Dekompression gibt es keine
718 vergleichbare Funktion). Dies kann hilfreich sein, wenn ein
719 32\-Bit\-Executable auf einen 4\ GiB großen Adressraum (2 GiB auf MIPS32)
720 zugreifen kann, wobei wir hoffen wollen, dass es in anderen Situationen
721 keine negativen Effekte hat.
722 .IP ""
723 Siehe auch den Abschnitt \fBSpeicherbedarf\fP.
724 .TP
725 \fB\-\-memlimit\-decompress=\fP\fIGrenze\fP
726 legt eine Begrenzung des Speicherverbrauchs für die Dekompression fest. Dies
727 beeinflusst auch den Modus \fB\-\-list\fP. Falls die Aktion nicht ausführbar ist,
728 ohne die \fIGrenze\fP zu überschreiten, gibt \fBxz\fP eine Fehlermeldung aus und
729 die Dekompression wird fehlschlagen. Siehe \fB\-\-memlimit\-compress=\fP\fIGrenze\fP
730 zu möglichen Wegen, die \fIGrenze\fP anzugeben.
731 .TP
732 \fB\-\-memlimit\-mt\-decompress=\fP\fIGrenze\fP
733 legt eine Begrenzung des Speicherverbrauchs für Multithread\-Dekompression
734 fest. Dies beeinflusst lediglich die Anzahl der Threads; \fBxz\fP wird dadurch
735 niemals die Dekompression einer Datei verweigern. Falls die \fIGrenze\fP für
736 jegliches Multithreading zu niedrig ist, wird sie ignoriert und \fBxz\fP setzt
737 im Einzelthread\-modus fort. Beachten Sie auch, dass bei der Verwendung von
738 \fB\-\-memlimit\-decompress\fP dies stets sowohl auf den Einzelthread\-als auch auf
739 den Multithread\-Modus angewendet wird und so die effektive \fIGrenze\fP für den
740 Multithread\-Modus niemals höher sein wird als die mit
741 \fB\-\-memlimit\-decompress\fP gesetzte Grenze.
742 .IP ""
743 Im Gegensatz zu anderen Optionen zur Begrenzung des Speicherverbrauchs hat
744 \fB\-\-memlimit\-mt\-decompress=\fP\fIGrenze\fP eine systemspezifisch vorgegebene
745 \fIGrenze\fP. Mit \fBxz \-\-info\-memory\fP können Sie deren aktuellen Wert anzeigen
746 lassen.
747 .IP ""
748 Diese Option und ihr Standardwert existieren, weil die unbegrenzte
749 threadbezogene Dekompression bei einigen Eingabedateien zu unglaublich
750 großem Speicherverbrauch führen würde. Falls die vorgegebene \fIGrenze\fP auf
751 Ihrem System zu niedrig ist, können Sie die \fIGrenze\fP durchaus erhöhen, aber
752 setzen Sie sie niemals auf einen Wert größer als die Menge des nutzbaren
753 Speichers, da \fBxz\fP bei entsprechenden Eingabedateien versuchen wird, diese
754 Menge an Speicher auch bei einer geringen Anzahl von Threads zu
755 verwnden. Speichermangel oder Auslagerung verbessern die
756 Dekomprimierungsleistung nicht.
757 .IP ""
758 Siehe \fB\-\-memlimit\-compress=\fP\fIGrenze\fP für mögliche Wege zur Angabe der
759 \fIGrenze\fP. Sezen der \fIGrenze\fP auf \fB0\fP setzt die \fIGrenze\fP auf den
760 vorgegebenen systemspezifischen Wert zurück.
761 .TP
762 \fB\-M\fP \fIGrenze\fP, \fB\-\-memlimit=\fP\fIGrenze\fP, \fB\-\-memory=\fP\fIGrenze\fP
763 Dies ist gleichbedeutend mit \fB\-\-memlimit\-compress=\fP\fIGrenze\fP
764 \fB\-\-memlimit\-decompress=\fP\fIGrenze\fP \fB\-\-memlimit\-mt\-decompress=\fP\fIGrenze\fP.
765 .TP
766 \fB\-\-no\-adjust\fP
767 zeigt einen Fehler an und beendet, falls die Grenze der Speichernutzung
768 nicht ohne Änderung der Einstellungen, welche die komprimierte Ausgabe
769 beeinflussen, berücksichtigt werden kann. Das bedeutet, dass \fBxz\fP daran
770 gehindert wird, den Encoder vom Multithread\-Modus in den Einzelthread\-Modus
771 zu versetzen und die Größe des LZMA2\-Wörterbuchs zu reduzieren. Allerdings
772 kann bei Verwendung dieser Option dennoch die Anzahl der Threads reduziert
773 werden, um die Grenze der Speichernutzung zu halten, sofern dies die
774 komprimierte Ausgabe nicht beeinflusst.
775 .IP ""
776 Die automatische Anpassung ist beim Erzeugen von Rohdatenströmen
777 (\fB\-\-format=raw\fP) immer deaktiviert.
778 .TP
779 \fB\-T\fP \fIThreads\fP, \fB\-\-threads=\fP\fIThreads\fP
780 gibt die Anzahl der zu verwendenden Arbeits\-Threads an. Wenn Sie \fIThreads\fP
781 auf einen speziellen Wert \fB0\fP setzen, verwendet \fBxz\fP maximal so viele
782 Threads, wie der/die Prozessor(en) im System untestützen. Die tatsächliche
783 Anzahl kann geringer sein als die angegebenen \fIThreads\fP, wenn die
784 Eingabedatei nicht groß genug für Threading mit den gegebenen Einstellungen
785 ist oder wenn mehr Threads die Speicherbegrenzung übersteigen würden.
786 .IP ""
787 Die Multithread\- bzw. Einzelthread\-Kompressoren erzeugen unterschiedliche
788 Ausgaben. Der Einzelthread\-Kompressor erzeugt die geringste Dateigröße, aber
789 nur die Ausgabe des Multithread\-Kompressors kann mit mehreren Threads wieder
790 dekomprimiert werden. Das Setzen der Anzahl der \fIThreads\fP auf \fB1\fP wird den
791 Einzelthread\-Modus verwenden. Das Setzen der Anzahl der \fIThreads\fP auf
792 einen anderen Wert einschließlich \fB0\fP verwendet den Multithread\-Kompressor,
793 und zwar sogar dann, wenn das System nur einen einzigen Hardware\-Thread
794 unterstützt (\fBxz\fP 5.2.x verwendete in diesem Fall noch den
795 Einzelthread\-Modus).
796 .IP ""
797 Um den Multithread\-Modus mit nur einem einzigen Thread zu verwenden, setzen
798 Sie die Anzahl der \fIThreads\fP auf \fB+1\fP. Das Präfix \fB+\fP hat mit Werten
799 verschieden von \fB1\fP keinen Effekt. Eine Begrenzung des Speicherverbrauchs
800 kann \fBxz\fP dennoch veranlassen, den Einzelthread\-Modus zu verwenden, außer
801 wenn \fB\-\-no\-adjust\fP verwendet wird. Die Unterstützung für das Präfix \fB+\fP
802 wurde in \fBxz\fP 5.4.0 hinzugefügt.
803 .IP ""
804 Falls das automatische Setzen der Anzahl der Threads angefordert und keine
805 Speicherbegrenzung angegeben wurde, dann wird eine systemspezifisch
806 vorgegebene weiche Grenze verwendet, um eventuell die Anzahl der Threads zu
807 begrenzen. Es ist eine weiche Grenze im Sinne davon, dass sie ignoriert
808 wird, falls die Anzahl der Threads 1 ist; daher wird eine weiche Grenze
809 \fBxz\fP niemals an der Kompression oder Dekompression hindern. Diese
810 vorgegebene weiche Grenze veranlasst \fBxz\fP nicht, vom Multithread\-Modus in
811 den Einzelthread\-Modus zu wechseln. Die aktiven Grenzen können Sie mit dem
812 Befehl \fBxz \-\-info\-memory\fP anzeigen lassen.
813 .IP ""
814 Die gegenwärtig einzige Threading\-Methode teilt die Eingabe in Blöcke und
815 komprimiert diese unabhängig voneinander. Die vorgegebene Blockgröße ist von
816 der Kompressionsstufe abhängig und kann mit der Option
817 \fB\-\-block\-size=\fP\fIGröße\fP außer Kraft gesetzt werden.
818 .IP ""
819 Eine thread\-basierte Dekompression wird nur bei Dateien funktionieren, die
820 mehrere Blöcke mit Größeninformationen in deren Headern enthalten. Alle im
821 Multi\-Thread\-Modus komprimierten Dateien, die groß genug sind, erfüllen
822 diese Bedingung, im Einzel\-Thread\-Modus komprimierte Dateien dagegen nicht,
823 selbst wenn \fB\-\-block\-size=\fP\fIGröße\fP verwendet wurde.
824 .IP ""
825 Der Vorgabewert für \fIThreads\fP is \fB0\fP. In \fBxz\fP 5.4.x und älteren Versionen
826 ist der Vorgabewert \fB1\fP.
827 .
828 .SS "Benutzerdefinierte Filterketten für die Kompression"
829 Eine benutzerdefinierte Filterkette ermöglicht die Angabe detaillierter
830 Kompressionseinstellungen, anstatt von den Voreinstellungen auszugehen. Wenn
831 eine benutzerdefinierte Filterkette angegeben wird, werden die vorher in der
832 Befehlszeile angegebenen Voreinstellungsoptionen (\fB\-0\fP … \fB\-9\fP und
833 \fB\-\-extreme\fP) außer Kraft gesetzt. Wenn eine Voreinstellungsoption nach
834 einer oder mehreren benutzerdefinierten Filterkettenoptionen angegeben wird,
835 dann wird die neue Voreinstellung wirksam und die zuvor angegebenen
836 Filterkettenoptionen werden außer Kraft gesetzt.
837 .PP
838 Eine Filterkette ist mit dem Piping (der Weiterleitung) in der Befehlszeile
839 vergleichbar. Bei der Kompression gelangt die unkomprimierte Eingabe in den
840 ersten Filter, dessen Ausgabe wiederum in den zweiten Filter geleitet wird
841 (sofern ein solcher vorhanden ist). Die Ausgabe des letzten Filters wird in
842 die komprimierte Datei geschrieben. In einer Filterkette sind maximal vier
843 Filter zulässig, aber typischerweise besteht eine Filterkette nur aus einem
844 oder zwei Filtern.
845 .PP
846 Bei vielen Filtern ist die Positionierung in der Filterkette eingeschränkt:
847 Einige Filter sind nur als letzte in der Kette verwendbar, einige können
848 nicht als letzte Filter gesetzt werden, und andere funktionieren an
849 beliebiger Stelle. Abhängig von dem Filter ist diese Beschränkung entweder
850 auf das Design des Filters selbst zurückzuführen oder ist aus
851 Sicherheitsgründen vorhanden.
852 .PP
853 Eine benutzerdefinierte Filterkette kann auf zwei verschiedene Arten
854 angegeben werden. Die Optionen \fB\-\-filters=\fP\fIFilter\fP und
855 \fB\-\-filters1=\fP\fIFilter\fP \&…\& \fB\-\-filters9=\fP\fIFilter\fP ermöglichen die Angabe
856 einer ganzen Filterkette in einer einzelnen Option gemäß der
857 Liblzma\-Filterzeichenkettensyntax. Alternativ können Sie eine Filterkette
858 mit einer oder mehreren individuellen Filteroptionen in der Reihenfolge
859 angeben, in der sie in der Filterkette verwendet werden sollen. Daher ist
860 die Reihenfolge der individuellen Filteroptionen wichtig! Beim Dekodieren
861 von Rohdatenströmen (\fB\-\-format=raw\fP) muss die Filterkette in der gleichen
862 Reihenfolge wie bei der Komprimierung angegeben werden. Alle individuellen
863 Filter\- oder Voreinstellungsoptionen, die \fIvor\fP der vollen
864 Filterkettenoption (\fB\-\-filters=\fP\fIFilter\fP) angegeben werden, werden
865 verworfen. Individuelle Filter, die \fInach\fP der vollen Filterkettenoption
866 angegeben werden, setzen die Filterkette zurück
867 .PP
868 Sowohl vollständige als auch individuelle Filteroptionen akzeptieren
869 filterspezifische \fIOptionen\fP in einer durch Kommata getrennten
870 Liste. Zusätzliche Kommata in den \fIOptionen\fP werden ignoriert. Jede Option
871 hat einen Standardwert, daher brauchen Sie nur jene anzugeben, die Sie
872 ändern wollen.
873 .PP
874 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
875 ist). Dies funktioniert auch zum Betrachten der von den Voreinstellungen
876 verwendeten Filterkettenoptionen.
877 .TP
878 \fB\-\-filters=\fP\fIFilter\fP
879 gibt die vollständige Filterkette oder eine Voreinstellung in einer
880 einzelnen Option an. Mehrere Filter können durch Leerzeichen oder zwei
881 Minuszeichen (\fB\-\-\fP) voneinander getrennt werden. Es kann notwendig sein,
882 die \fIFilter\fP in der Shell\-Befehlszeile zu maskieren, so dass diese als
883 einzelne Option ausgewertet werden. Um Optionen Werte zuzuordnen, verwenden
884 Sie \fB:\fP oder \fB=\fP. Einer Voreinstellung kann ein \fB\-\fP vorangestellt werden,
885 dem keiner oder mehrere Schalter folgen. Der einzige unterstützte Schalter
886 ist \fBe\fP zum Anwenden der gleichen Optionen wie \fB\-\-extreme\fP.
887 .TP
888 \fB\-\-filters1\fP=\fIFilter\fP … \fB\-\-filters9\fP=\fIFilter\fP
889 gibt bis zu neun optionale Filterketten an, die mit \fB\-\-block\-list\fP
890 verwendet werden können.
891 .IP ""
892 Wenn Sie beispielsweise ein Archiv mit ausführbaren Dateien gefolgt von
893 Textdateien komprimieren, könnte der Teil mit den ausführbaren Dateien eine
894 Filterkette mit einem BCJ\-Filter und der Textdateiteil lediglich den
895 LZMA2\-Filter verwenden.
896 .TP
897 \fB\-\-filters\-help\fP
898 zeigt eine Hilfemeldung an, welche beschreibt, wie Voreinstellungen und
899 benutzerdefinierte Filterketten in den Optionen \fB\-\-filters\fP und
900 \fB\-\-filters1=\fP\fIFilter\fP \&… \& \fB\-\-filters9=\fP\fIFilter\fP angegeben werden und
901 beendet das Programm.
902 .TP
903 \fB\-\-lzma1\fP[\fB=\fP\fIOptionen\fP]
904 .PD 0
905 .TP
906 \fB\-\-lzma2\fP[\fB=\fP\fIOptionen\fP]
907 .PD
908 fügt LZMA1\- oder LZMA2\-Filter zur Filterkette hinzu. Diese Filter können nur
909 als letzte Filter in der Kette verwendet werden.
910 .IP ""
911 LZMA1 ist ein veralteter Filter, welcher nur wegen des veralteten
912 \&\fB.lzma\fP\-Dateiformats unterstützt wird, welches nur LZMA1 unterstützt. LZMA2
913 ist eine aktualisierte Version von LZMA1, welche einige praktische Probleme
914 von LZMA1 behebt. Das \fB.xz\fP\-Format verwendet LZMA2 und unterstützt LZMA1
915 gar nicht. Kompressionsgeschwindigkeit und \-verhältnis sind bei LZMA1 und
916 LZMA2 praktisch gleich.
917 .IP ""
918 LZMA1 und LZMA2 haben die gleichen \fIOptionen\fP:
919 .RS
920 .TP
921 \fBpreset=\fP\fIVoreinstellung\fP
922 setzt alle LZMA1\- oder LZMA2\-\fIOptionen\fP auf die \fIVoreinstellung\fP
923 zurück. Diese \fIVoreinstellung\fP wird in Form einer Ganzzahl angegeben, der
924 ein aus einem einzelnen Buchstaben bestehender Voreinstellungsmodifikator
925 folgen kann. Die Ganzzahl kann \fB0\fP bis \fB9\fP sein, entsprechend den
926 Befehlszeilenoptionen \fB\-0\fP … \fB\-9\fP. Gegenwärtig ist \fBe\fP der einzige
927 unterstützte Modifikator, was \fB\-\-extreme\fP entspricht. Wenn keine
928 \fBVoreinstellung\fP angegeben ist, werden die Standardwerte der LZMA1\- oder
929 LZMA2\-\fIOptionen\fP der Voreinstellung \fB6\fP entnommen.
930 .TP
931 \fBdict=\fP\fIGröße\fP
932 Die \fIGröße\fP des Wörterbuchs (Chronikpuffers) gibt an, wie viel Byte der
933 kürzlich verarbeiteten unkomprimierten Daten im Speicher behalten werden
934 sollen. Der Algorithmus versucht, sich wiederholende Byte\-Abfolgen
935 (Übereinstimmungen) in den unkomprimierten Daten zu finden und diese durch
936 Referenzen zu den Daten zu ersetzen, die sich gegenwärtig im Wörterbuch
937 befinden. Je größer das Wörterbuch, umso größer ist die Chance, eine
938 Übereinstimmung zu finden. Daher bewirkt eine Erhöhung der \fIGröße\fP des
939 Wörterbuchs üblicherweise ein besseres Kompressionsverhältnis, aber ein
940 Wörterbuch, das größer ist als die unkomprimierte Datei, wäre
941 Speicherverschwendung.
942 .IP ""
943 Typische Wörterbuch\-\fIGrößen\fP liegen im Bereich von 64\ KiB bis 64\ MiB. Das
944 Minimum ist 4\ KiB. Das Maximum für die Kompression ist gegenwärtig 1.5\ GiB
945 (1536\ MiB). Bei der Dekompression wird bereits eine Wörterbuchgröße bis zu
946 4\ GiB minus 1 Byte unterstützt, welche das Maximum für die LZMA1\- und
947 LZMA2\-Datenstromformate ist.
948 .IP ""
949 Die \fIGröße\fP des Wörterbuchs und der Übereinstimmungsfinder (\fIÜf\fP)
950 bestimmen zusammen den Speicherverbrauch des LZMA1\- oder
951 LZMA2\-Kodierers. Bei der Dekompression ist ein Wörterbuch der gleichen
952 \fIGröße\fP (oder ein noch größeres) wie bei der Kompression erforderlich,
953 daher wird der Speicherverbrauch des Dekoders durch die Größe des bei der
954 Kompression verwendeten Wörterbuchs bestimmt. Die \fB.xz\fP\-Header speichern
955 die \fIGröße\fP des Wörterbuchs entweder als 2^\fIn\fP oder 2^\fIn\fP + 2^(\fIn\fP\-1),
956 so dass diese \fIGrößen\fP für die Kompression etwas bevorzugt werden. Andere
957 \fIGrößen\fP werden beim Speichern in den \fB.xz\fP\-Headern aufgerundet.
958 .TP
959 \fBlc=\fP\fIlc\fP
960 gibt die Anzahl der literalen Kontextbits an. Das Minimum ist 0 und das
961 Maximum 4; der Standardwert ist 3. Außerdem darf die Summe von \fIlc\fP und
962 \fIlp\fP nicht größer als 4 sein.
963 .IP ""
964 Alle Bytes, die nicht als Übereinstimmungen kodiert werden können, werden
965 als Literale kodiert. Solche Literale sind einfache 8\-bit\-Bytes, die jeweils
966 für sich kodiert werden.
967 .IP ""
968 Bei der Literalkodierung wird angenommen, dass die höchsten \fIlc\fP\-Bits des
969 zuvor unkomprimierten Bytes mit dem nächsten Byte in Beziehung stehen. Zum
970 Beispiel folgt in typischen englischsprachigen Texten auf einen
971 Großbuchstaben ein Kleinbuchstabe und auf einen Kleinbuchstaben
972 üblicherweise wieder ein Kleinbuchstabe. Im US\-ASCII\-Zeichensatz sind die
973 höchsten drei Bits 010 für Großbuchstaben und 011 für Kleinbuchstaben. Wenn
974 \fIlc\fP mindestens 3 ist, kann die literale Kodierung diese Eigenschaft der
975 unkomprimierten Daten ausnutzen.
976 .IP ""
977 Der Vorgabewert (3) ist üblicherweise gut. Wenn Sie die maximale Kompression
978 erreichen wollen, versuchen Sie \fBlc=4\fP. Manchmal hilft es ein wenig, doch
979 manchmal verschlechtert es die Kompression. Im letzteren Fall versuchen Sie
980 zum Beispiel auch\& \fBlc=2\fP.
981 .TP
982 \fBlp=\fP\fIlp\fP
983 gibt die Anzahl der literalen Positionsbits an. Das Minimum ist 0 und das
984 Maximum 4; die Vorgabe ist 0.
985 .IP ""
986 \fILp\fP beeinflusst, welche Art der Ausrichtung der unkomprimierten Daten beim
987 Kodieren von Literalen angenommen wird. Siehe \fIpb\fP weiter unten für weitere
988 Informationen zur Ausrichtung.
989 .TP
990 \fBpb=\fP\fIAnzahl\fP
991 legt die Anzahl der Positions\-Bits fest. Das Minimum ist 0 und das Maximum
992 4; Standard ist 2.
993 .IP ""
994 \fIPb\fP beeinflusst, welche Art der Ausrichtung der unkomprimierten Daten
995 generell angenommen wird. Standardmäßig wird eine Vier\-Byte\-Ausrichtung
996 angenommen (2^\fIpb\fP=2^2=4), was oft eine gute Wahl ist, wenn es keine
997 bessere Schätzung gibt.
998 .IP ""
999 Wenn die Ausrichtung bekannt ist, kann das entsprechende Setzen von \fIpb\fP
1000 die Dateigröße ein wenig verringern. Wenn Textdateien zum Beispiel eine
1001 Ein\-Byte\-Ausrichtung haben (US\-ASCII, ISO\-8859\-*, UTF\-8), kann das Setzen
1002 von \fBpb=0\fP die Kompression etwas verbessern. Für UTF\-16\-Text ist \fBpb=1\fP
1003 eine gute Wahl. Wenn die Ausrichtung eine ungerade Zahl wie beispielsweise 3
1004 Byte ist, könnte \fBpb=0\fP die beste Wahl sein.
1005 .IP ""
1006 Obwohl die angenommene Ausrichtung mit \fIpb\fP und \fIlp\fP angepasst werden
1007 kann, bevorzugen LZMA1 und LZMA2 noch etwas die 16\-Byte\-Ausrichtung. Das
1008 sollten Sie vielleicht beim Design von Dateiformaten berücksichtigen, die
1009 wahrscheinlich oft mit LZMA1 oder LZMA2 komprimiert werden.
1010 .TP
1011 \fBmf=\fP\fIÜf\fP
1012 Der Übereinstimmungsfinder hat einen großen Einfluss auf die Geschwindigkeit
1013 des Kodierers, den Speicherbedarf und das
1014 Kompressionsverhältnis. Üblicherweise sind auf Hash\-Ketten basierende
1015 Übereinstimmungsfinder schneller als jene, die mit Binärbäumen arbeiten. Die
1016 Vorgabe hängt von der \fIVoreinstellungsstufe\fP ab: 0 verwendet \fBhc3\fP, 1\-3
1017 verwenden \fBhc4\fP und der Rest verwendet \fBbt4\fP.
1018 .IP ""
1019 Die folgenden Übereinstimmungsfinder werden unterstützt. Die Formeln zur
1020 Ermittlung des Speicherverbrauchs sind grobe Schätzungen, die der Realität
1021 am nächsten kommen, wenn \fIWörterbuch\fP eine Zweierpotenz ist.
1022 .RS
1023 .TP
1024 \fBhc3\fP
1025 Hash\-Kette mit 2\- und 3\-Byte\-Hashing
1026 .br
1027 Minimalwert für \fInice\fP: 3
1028 .br
1029 Speicherbedarf:
1030 .br
1031 \fIdict\fP * 7,5 (falls \fIdict\fP <= 16 MiB);
1032 .br
1033 \fIdict\fP * 5,5 + 64 MiB (falls \fIdict\fP > 16 MiB)
1034 .TP
1035 \fBhc4\fP
1036 Hash\-Kette mit 2\-, 3\- und 4\-Byte\-Hashing
1037 .br
1038 Minimaler Wert für \fInice\fP: 4
1039 .br
1040 Speicherbedarf:
1041 .br
1042 \fIdict\fP * 7,5 (falls \fIdict\fP <= 32 MiB ist);
1043 .br
1044 \fIdict\fP * 6,5 (falls \fIdict\fP > 32 MiB ist)
1045 .TP
1046 \fBbt2\fP
1047 Binärbaum mit 2\-Byte\-Hashing
1048 .br
1049 Minimaler Wert für \fInice\fP: 2
1050 .br
1051 Speicherverbrauch: \fIdict\fP * 9.5
1052 .TP
1053 \fBbt3\fP
1054 Binärbaum mit 2\- und 3\-Byte\-Hashing
1055 .br
1056 Minimalwert für \fInice\fP: 3
1057 .br
1058 Speicherbedarf:
1059 .br
1060 \fIdict\fP * 11,5 (falls \fIdict\fP <= 16 MiB ist);
1061 .br
1062 \fIdict\fP * 9,5 + 64 MiB (falls \fIdict\fP > 16 MiB ist)
1063 .TP
1064 \fBbt4\fP
1065 Binärbaum mit 2\-, 3\- und 4\-Byte\-Hashing
1066 .br
1067 Minimaler Wert für \fInice\fP: 4
1068 .br
1069 Speicherbedarf:
1070 .br
1071 \fIdict\fP * 11,5 (falls \fIdict\fP <= 32 MiB ist);
1072 .br
1073 \fIdict\fP * 10,5 (falls \fIdict\fP > 32 MiB ist)
1074 .RE
1075 .TP
1076 \fBmode=\fP\fIModus\fP
1077 gibt die Methode zum Analysieren der vom Übereinstimmungsfinder gelieferten
1078 Daten an. Als \fIModi\fP werden \fBfast\fP und \fBnormal\fP unterstützt. Die Vorgabe
1079 ist \fBfast\fP für die \fIVoreinstellungsstufen\fP 0\-3 und \fBnormal\fP für die
1080 \fIVoreinstellungsstufen\fP 4\-9.
1081 .IP ""
1082 Üblicherweise wird \fBfast\fP mit Hashketten\-basierten Übereinstimmungsfindern
1083 und \fBnormal\fP mit Binärbaum\-basierten Übereinstimmungsfindern verwendet. So
1084 machen es auch die \fIVoreinstellungsstufen\fP.
1085 .TP
1086 \fBnice=\fP\fInice\fP
1087 gibt an, was als annehmbarer Wert für eine Übereinstimmung angesehen werden
1088 kann. Wenn eine Übereinstimmung gefunden wird, die mindestens diesen
1089 \fInice\fP\-Wert hat, sucht der Algorithmus nicht weiter nach besseren
1090 Übereinstimmungen.
1091 .IP ""
1092 Der \fInice\fP\-Wert kann 2\-273 Byte sein. Höhere Werte tendieren zu einem
1093 besseren Kompressionsverhältnis, aber auf Kosten der Geschwindigkeit. Die
1094 Vorgabe hängt von der \fIVoreinstellungsstufe\fP ab.
1095 .TP
1096 \fBdepth=\fP\fITiefe\fP
1097 legt die maximale Suchtiefe im Übereinstimmungsfinder fest. Vorgegeben ist
1098 der spezielle Wert 0, der den Kompressor veranlasst, einen annehmbaren Wert
1099 für \fITiefe\fP aus \fIÜf\fP und \fInice\fP\-Wert zu bestimmen.
1100 .IP ""
1101 Die angemessene \fITiefe\fP für Hash\-Ketten ist 4\-100 und 16\-1000 für
1102 Binärbäume. Hohe Werte für die \fITiefe\fP können den Kodierer bei einigen
1103 Dateien extrem verlangsamen. Vermeiden Sie es, die \fITiefe\fP über einen Wert
1104 von 100 zu setzen, oder stellen Sie sich darauf ein, die Kompression
1105 abzubrechen, wenn sie zu lange dauert.
1106 .RE
1107 .IP ""
1108 Beim Dekodieren von Rohdatenströmen (\fB\-\-format=raw\fP) benötigt LZMA2 nur die
1109 Wörterbuch\-\fIGröße\fP. LZMA1 benötigt außerdem \fIlc\fP, \fIlp\fP und \fIpb\fP.
1110 .TP
1111 \fB\-\-x86\fP[\fB=\fP\fIOptionen\fP]
1112 .PD 0
1113 .TP
1114 \fB\-\-arm\fP[\fB=\fP\fIOptionen\fP]
1115 .TP
1116 \fB\-\-armthumb\fP[\fB=\fP\fIOptionen\fP]
1117 .TP
1118 \fB\-\-arm64\fP[\fB=\fP\fIOptionen\fP]
1119 .TP
1120 \fB\-\-powerpc\fP[\fB=\fP\fIOptionen\fP]
1121 .TP
1122 \fB\-\-ia64\fP[\fB=\fP\fIOptionen\fP]
1123 .TP
1124 \fB\-\-sparc\fP[\fB=\fP\fIOptionen\fP]
1125 .TP
1126 \fB\-\-riscv\fP[\fB=\fP\fIOptionen\fP]
1127 .PD
1128 fügt ein »Branch/Call/Jump«\-(BCJ\-)Filter zur Filterkette hinzu. Diese Filter
1129 können nicht als letzter Filter in der Filterkette verwendet werden.
1130 .IP ""
1131 Ein BCJ\-Filter wandelt relative Adressen im Maschinencode in deren absolute
1132 Gegenstücke um. Die Datengröße wird dadurch nicht geändert, aber die
1133 Redundanz erhöht, was LZMA2 dabei helfen kann, eine um 10 bis 15% kleinere
1134 \&\fB.xz\fP\-Datei zu erstellen. Die BCJ\-Filter sind immer reversibel, daher
1135 verursacht die Anwendung eines BCJ\-Filters auf den falschen Datentyp keinen
1136 Datenverlust, wobei aber das Kompressionsverhältnis etwas schlechter werden
1137 könnte. Die BCJ\-Filter sind sehr schnell und verbrauchen nur wenig mehr
1138 Speicher.
1139 .IP ""
1140 Diese BCJ\-Filter haben bekannte Probleme mit dem Kompressionsverhältnis:
1141 .RS
1142 .IP \(bu 3
1143 In einigen Dateitypen, die ausführbaren Code enthalten (zum Beispiel
1144 Objektdateien, statische Bibliotheken und Linux\-Kernelmodule), sind die
1145 Adressen in den Anweisungen mit Füllwerten gefüllt. Diese BCJ\-Filter führen
1146 dennoch die Adressumwandlung aus, wodurch die Kompression bei diesen Dateien
1147 schlechter wird.
1148 .IP \(bu 3
1149 Falls ein BCJ\-Filter auf ein Archiv angewendet wird, ist es möglich, dass
1150 das Kompressionsverhältnis schlechter als ohne Filter wird. Falls es
1151 beispielsweise ähnliche oder sogar identische ausführbare Dateien gibt, dann
1152 werden diese durch die Filterung wahrscheinlich »unähnlicher« und
1153 verschlechtern dadurch das Kompressionsverhältnis. Der Inhalt
1154 nicht\-ausführbarer Dateien im gleichen Archiv kann sich ebenfalls darauf
1155 auswirken. In der Praxis werden Sie durch Versuche mit oder ohne BCJ\-Filter
1156 selbst herausfinden müssen, was situationsbezogen besser ist.
1157 .RE
1158 .IP ""
1159 Verschiedene Befehlssätze haben unterschiedliche Ausrichtungen: Die
1160 ausführbare Datei muss in den Eingabedateien einem Vielfachen dieses Wertes
1161 entsprechen, damit dieser Filter funktioniert.
1162 .RS
1163 .RS
1164 .PP
1165 .TS
1166 tab(;);
1167 l n l
1168 l n l.
1169 Filter;Ausrichtung;Hinweise
1170 x86;1;32\-Bit oder 64\-Bit x86
1171 ARM;4;
1172 ARM\-Thumb;2;
1173 ARM64;4;4096\-Byte\-Ausrichtung ist optimal
1174 PowerPC;4;Nur Big Endian
1175 IA\-64;16;Itanium
1176 SPARC;4;
1177 RISC\-V;2;
1178 .TE
1179 .RE
1180 .RE
1181 .IP ""
1182 Da die BCJ\-gefilterten Daten üblicherweise mit LZMA2 komprimiert sind, kann
1183 das Kompressionsverhältnis dadurch etwas verbessert werden, dass die
1184 LZMA2\-Optionen so gesetzt werden, dass sie der Ausrichtung des gewählten
1185 BCJ\-Filters entsprechen. Beispiele:
1186 .RS
1187 .IP \(bu 3
1188 Der IA\-64\-Filter hat eine 16\-Byte\-Ausrichtung, daher ist \fBpb=4,lp=4,lc=0\fP
1189 für LZMA2 passend (2^4=16).
1190 .IP \(bu 3
1191 RISC\-V\-Code hat eine 2\-Byte\- oder 4\-Byte\-Ausrichtung, abhängig davon, ob die
1192 Datei 16\-bit\-komprimierte Instruktionen enthält (die C\-Erweiterung). Wenn
1193 16\-bit\-Instruktionen verwendet werden, ist \fBpb=2,lp=1,lc=3\fP oder
1194 \fBpb=1,lp=1,lc=3\fP passend. Wenn keine 16\-bit\-Instruktionen vorhanden sind,
1195 ist \fBpb=2,lp=2,lc=2\fP am besten. Mit \fBreadelf \-h\fP können Sie überprüfen, ob
1196 »RVC« in der »Flags«\-Zeile auftritt.
1197 .IP \(bu 3
1198 ARM64 hat stets eine 4\-Byte\-Ausrichtung, daher ist \fBpb=2,lp=2,lc=2\fP am
1199 besten.
1200 .IP \(bu 3
1201 Der x86\-Filter stellt eine Ausnahme dar. Es ist üblicherweise eine gute
1202 Wahl, bei den Voreinstellungen von LZMA2 (\fBpb=2,lp=0,lc=3\fP) zu bleiben,
1203 wenn Sie ausführbare x86\-Dateien komprimieren
1204 .RE
1205 .IP ""
1206 Alle BCJ\-Filter unterstützen die gleichen \fIOptionen\fP:
1207 .RS
1208 .TP
1209 \fBstart=\fP\fIVersatz\fP
1210 gibt den Start\-\fIVersatz\fP an, der bei der Umwandlung zwischen relativen und
1211 absoluten Adressen verwendet wird. Der \fIVersatz\fP muss ein Vielfaches der
1212 Filterausrichtung sein (siehe die Tabelle oben). Der Standardwert ist 0. In
1213 der Praxis ist dieser Standardwert gut; die Angabe eines benutzerdefinierten
1214 \fIVersatzes\fP ist fast immer unnütz.
1215 .RE
1216 .TP
1217 \fB\-\-delta\fP[\fB=\fP\fIOptionen\fP]
1218 fügt den Delta\-Filter zur Filterkette hinzu. Der Delta\-Filter kann nicht als
1219 letzter Filter in der Filterkette verwendet werden.
1220 .IP ""
1221 Gegenwärtig wird nur eine einfache, Byte\-bezogene Delta\-Berechnung
1222 unterstützt. Beim Komprimieren von zum Beispiel unkomprimierten
1223 Bitmap\-Bildern oder unkomprimierten PCM\-Audiodaten kann es jedoch sinnvoll
1224 sein. Dennoch können für spezielle Zwecke entworfene Algorithmen deutlich
1225 bessere Ergebnisse als Delta und LZMA2 liefern. Dies trifft insbesondere auf
1226 Audiodaten zu, die sich zum Beispiel mit \fBflac\fP(1) schneller und besser
1227 komprimieren lassen.
1228 .IP ""
1229 Unterstützte \fIOptionen\fP:
1230 .RS
1231 .TP
1232 \fBdist=\fP\fIAbstand\fP
1233 gibt den \fIAbstand\fP der Delta\-Berechnung in Byte an. Zulässige Werte für den
1234 \fIAbstand\fP sind 1 bis 256. Der Vorgabewert ist 1.
1235 .IP ""
1236 Zum Beispiel wird mit \fBdist=2\fP und der 8\-Byte\-Eingabe A1 B1 A2 B3 A3 B5 A4
1237 B7 die Ausgabe A1 B1 01 02 01 02 01 02 sein.
1238 .RE
1239 .
1240 .SS "Andere Optionen"
1241 .TP
1242 \fB\-q\fP, \fB\-\-quiet\fP
1243 unterdrückt Warnungen und Hinweise. Geben Sie dies zweimal an, um auch
1244 Fehlermeldungen zu unterdrücken. Diese Option wirkt sich nicht auf den
1245 Exit\-Status aus. Das bedeutet, das selbst bei einer unterdrückten Warnung
1246 der Exit\-Status zur Anzeige einer Warnung dennoch verwendet wird.
1247 .TP
1248 \fB\-v\fP, \fB\-\-verbose\fP
1249 bewirkt ausführliche Ausgaben. Wenn die Standardfehlerausgabe mit einem
1250 Terminal verbunden ist, zeigt \fBxz\fP den Fortschritt an. Durch zweimalige
1251 Angabe von \fB\-\-verbose\fP wird die Ausgabe noch ausführlicher.
1252 .IP ""
1253 Der Fortschrittsanzeiger stellt die folgenden Informationen dar:
1254 .RS
1255 .IP \(bu 3
1256 Der Prozentsatz des Fortschritts wird angezeigt, wenn die Größe der
1257 Eingabedatei bekannt ist. Das bedeutet, dass der Prozentsatz in
1258 Weiterleitungen (Pipes) nicht angezeigt werden kann.
1259 .IP \(bu 3
1260 Menge der erzeugten komprimierten Daten (bei der Kompression) oder der
1261 verarbeiteten Daten (bei der Dekompression).
1262 .IP \(bu 3
1263 Menge der verarbeiteten unkomprimierten Daten (bei der Kompression) oder der
1264 erzeugten Daten (bei der Dekompression).
1265 .IP \(bu 3
1266 Kompressionsverhältnis, das mittels Dividieren der Menge der bisher
1267 komprimierten Daten durch die Menge der bisher verarbeiteten unkomprimierten
1268 Daten ermittelt wird.
1269 .IP \(bu 3
1270 Kompressions\- oder Dekompressionsgeschwindigkeit. Diese wird anhand der
1271 Menge der unkomprimierten verarbeiteten Daten (bei der Kompression) oder der
1272 Menge der erzeugten Daten (bei der Dekompression) pro Sekunde gemessen. Die
1273 Anzeige startet einige Sekunden nachdem \fBxz\fP mit der Verarbeitung der Datei
1274 begonnen hat.
1275 .IP \(bu 3
1276 Die vergangene Zeit im Format M:SS oder H:MM:SS.
1277 .IP \(bu 3
1278 Die geschätzte verbleibende Zeit wird nur angezeigt, wenn die Größe der
1279 Eingabedatei bekannt ist und bereits einige Sekunden vergangen sind, nachdem
1280 \fBxz\fP mit der Verarbeitung der Datei begonnen hat. Die Zeit wird in einem
1281 weniger präzisen Format ohne Doppelpunkte angezeigt, zum Beispiel 2 min 30
1282 s.
1283 .RE
1284 .IP ""
1285 Wenn die Standardfehlerausgabe kein Terminal ist, schreibt \fBxz\fP mit
1286 \fB\-\-verbose\fP nach dem Komprimieren oder Dekomprimieren der Datei in einer
1287 einzelnen Zeile den Dateinamen, die komprimierte Größe, die unkomprimierte
1288 Größe, das Kompressionsverhältnis und eventuell auch die Geschwindigkeit und
1289 die vergangene Zeit in die Standardfehlerausgabe. Die Geschwindigkeit und
1290 die vergangene Zeit werden nur angezeigt, wenn der Vorgang mindestens ein
1291 paar Sekunden gedauert hat. Wurde der Vorgang nicht beendet, zum Beispiel
1292 weil ihn der Benutzer abgebrochen hat, wird außerdem der Prozentsatz des
1293 erreichten Verarbeitungsfortschritts aufgenommen, sofern die Größe der
1294 Eingabedatei bekannt ist.
1295 .TP
1296 \fB\-Q\fP, \fB\-\-no\-warn\fP
1297 setzt den Exit\-Status nicht auf 2, selbst wenn eine Bedingung erfüllt ist,
1298 die eine Warnung gerechtfertigt hätte. Diese Option wirkt sich nicht auf die
1299 Ausführlichkeitsstufe aus, daher müssen sowohl \fB\-\-quiet\fP als auch
1300 \fB\-\-no\-warn\fP angegeben werden, um einerseits keine Warnungen anzuzeigen und
1301 andererseits auch den Exit\-Status nicht zu ändern.
1302 .TP
1303 \fB\-\-robot\fP
1304 gibt Meldungen in einem maschinenlesbaren Format aus. Dadurch soll das
1305 Schreiben von Frontends erleichtert werden, die \fBxz\fP anstelle von Liblzma
1306 verwenden wollen, was in verschiedenen Skripten der Fall sein kann. Die
1307 Ausgabe mit dieser aktivierten Option sollte über mehrere
1308 \fBxz\fP\-Veröffentlichungen stabil sein. Details hierzu finden Sie im Abschnitt
1309 \fBROBOTER\-MODUS\fP.
1310 .TP
1311 \fB\-\-info\-memory\fP
1312 zeigt in einem menschenlesbaren Format an, wieviel physischen Speicher (RAM)
1313 und wie viele Prozessor\-Threads das System nach Annahme von \fBxz\fP hat, sowie
1314 die Speicherbedarfsbegrenzung für Kompression und Dekompression, und beendet
1315 das Programm erfolgreich.
1316 .TP
1317 \fB\-h\fP, \fB\-\-help\fP
1318 zeigt eine Hilfemeldung mit den am häufigsten genutzten Optionen an und
1319 beendet das Programm erfolgreich.
1320 .TP
1321 \fB\-H\fP, \fB\-\-long\-help\fP
1322 zeigt eine Hilfemeldung an, die alle Funktionsmerkmale von \fBxz\fP beschreibt
1323 und beendet das Programm erfolgreich.
1324 .TP
1325 \fB\-V\fP, \fB\-\-version\fP
1326 zeigt die Versionsnummer von \fBxz\fP und Liblzma in einem menschenlesbaren
1327 Format an. Um eine maschinell auswertbare Ausgabe zu erhalten, geben Sie
1328 \fB\-\-robot\fP vor \fB\-\-version\fP an.
1329 .
1330 .SH ROBOTER\-MODUS
1331 Der Roboter\-Modus wird mit der Option \fB\-\-robot\fP aktiviert. Er bewirkt, dass
1332 die Ausgabe von \fBxz\fP leichter von anderen Programmen ausgewertet werden
1333 kann. Gegenwärtig wird \fB\-\-robot\fP nur zusammen mit \fB\-\-list\fP,
1334 \fB\-\-filters\-help\fP, \fB\-\-info\-memory\fP und \fB\-\-version\fP unterstützt. In der
1335 Zukunft wird dieser Modus auch für Kompression und Dekompression
1336 unterstützt.
1337 .
1338 .SS Listenmodus
1339 \fBxz \-\-robot \-\-list\fP verwendet eine durch Tabulatoren getrennte Ausgabe. In
1340 der ersten Spalte jeder Zeile bezeichnet eine Zeichenkette den Typ der
1341 Information, die in dieser Zeile enthalten ist:
1342 .TP
1343 \fBname\fP
1344 Dies ist stets die erste Zeile, wenn eine Datei aufgelistet wird. Die zweite
1345 Spalte in der Zeile enthält den Dateinamen.
1346 .TP
1347 \fBfile\fP
1348 Diese Zeile enthält allgemeine Informationen zur \fB.xz\fP\-Datei. Diese Zeile
1349 wird stets nach der \fBname\fP\-Zeile ausgegeben.
1350 .TP
1351 \fBstream\fP
1352 Dieser Zeilentyp wird nur verwendet, wenn \fB\-\-verbose\fP angegeben wurde. Es
1353 gibt genau so viele \fBstream\fP\-Zeilen, wie Datenströme in der \fB.xz\fP\-Datei
1354 enthalten sind.
1355 .TP
1356 \fBblock\fP
1357 Dieser Zeilentyp wird nur verwendet, wenn \fB\-\-verbose\fP angegeben wurde. Es
1358 gibt so viele \fBblock\fP\-Zeilen, wie Blöcke in der \fB.xz\fP\-Datei. Die
1359 \fBblock\fP\-Zeilen werden nach allen \fBstream\fP\-Zeilen angezeigt; verschiedene
1360 Zeilentypen werden nicht verschachtelt.
1361 .TP
1362 \fBsummary\fP
1363 Dieser Zeilentyp wird nur verwendet, wenn \fB\-\-verbose\fP zwei Mal angegeben
1364 wurde. Diese Zeile wird nach allen \fBblock\fP\-Zeilen ausgegeben. Wie die
1365 \fBfile\fP\-Zeile enthält die \fBsummary\fP\-Zeile allgemeine Informationen zur
1366 \&\fB.xz\fP\-Datei.
1367 .TP
1368 \fBtotals\fP
1369 Diese Zeile ist immer die letzte der Listenausgabe. Sie zeigt die
1370 Gesamtanzahlen und \-größen an.
1371 .PP
1372 Die Spalten der \fBfile\fP\-Zeilen:
1373 .PD 0
1374 .RS
1375 .IP 2. 4
1376 Anzahl der Datenströme in der Datei
1377 .IP 3. 4
1378 Gesamtanzahl der Blöcke in den Datenströmen
1379 .IP 4. 4
1380 Komprimierte Größe der Datei
1381 .IP 5. 4
1382 Unkomprimierte Größe der Datei
1383 .IP 6. 4
1384 Das Kompressionsverhältnis, zum Beispiel \fB0.123\fP. Wenn das Verhältnis über
1385 9.999 liegt, werden drei Minuszeichen (\fB\-\-\-\fP) anstelle des
1386 Kompressionsverhältnisses angezeigt.
1387 .IP 7. 4
1388 Durch Kommata getrennte Liste der Namen der Integritätsprüfungen. Für die
1389 bekannten Überprüfungstypen werden folgende Zeichenketten verwendet:
1390 \fBNone\fP, \fBCRC32\fP, \fBCRC64\fP und \fBSHA\-256\fP. \fBUnbek.\fP\fIN\fP wird verwendet,
1391 wobei \fIN\fP die Kennung der Überprüfung als Dezimalzahl angibt (ein\- oder
1392 zweistellig).
1393 .IP 8. 4
1394 Gesamtgröße der Datenstromauffüllung in der Datei
1395 .RE
1396 .PD
1397 .PP
1398 Die Spalten der \fBstream\fP\-Zeilen:
1399 .PD 0
1400 .RS
1401 .IP 2. 4
1402 Datenstromnummer (der erste Datenstrom ist 1)
1403 .IP 3. 4
1404 Anzahl der Blöcke im Datenstrom
1405 .IP 4. 4
1406 Komprimierte Startposition
1407 .IP 5. 4
1408 Unkomprimierte Startposition
1409 .IP 6. 4
1410 Komprimierte Größe (schließt die Datenstromauffüllung nicht mit ein)
1411 .IP 7. 4
1412 Unkomprimierte Größe
1413 .IP 8. 4
1414 Kompressionsverhältnis
1415 .IP 9. 4
1416 Name der Integritätsprüfung
1417 .IP 10. 4
1418 Größe der Datenstromauffüllung
1419 .RE
1420 .PD
1421 .PP
1422 Die Spalten der \fBblock\fP\-Zeilen:
1423 .PD 0
1424 .RS
1425 .IP 2. 4
1426 Anzahl der in diesem Block enthaltenen Datenströme
1427 .IP 3. 4
1428 Blocknummer relativ zum Anfang des Datenstroms (der erste Block ist 1)
1429 .IP 4. 4
1430 Blocknummer relativ zum Anfang der Datei
1431 .IP 5. 4
1432 Komprimierter Startversatz relativ zum Beginn der Datei
1433 .IP 6. 4
1434 Unkomprimierter Startversatz relativ zum Beginn der Datei
1435 .IP 7. 4
1436 Komprimierte Gesamtgröße des Blocks (einschließlich Header)
1437 .IP 8. 4
1438 Unkomprimierte Größe
1439 .IP 9. 4
1440 Kompressionsverhältnis
1441 .IP 10. 4
1442 Name der Integritätsprüfung
1443 .RE
1444 .PD
1445 .PP
1446 Wenn \fB\-\-verbose\fP zwei Mal angegeben wurde, werden zusätzliche Spalten in
1447 die \fBblock\fP\-Zeilen eingefügt. Diese werden mit einem einfachen \fB\-\-verbose\fP
1448 nicht angezeigt, da das Ermitteln dieser Informationen viele Suchvorgänge
1449 erfordert und daher recht langsam sein kann:
1450 .PD 0
1451 .RS
1452 .IP 11. 4
1453 Wert der Integritätsprüfung in hexadezimaler Notation
1454 .IP 12. 4
1455 Block\-Header\-Größe
1456 .IP 13. 4
1457 Block\-Schalter: \fBc\fP gibt an, dass die komprimierte Größe verfügbar ist, und
1458 \fBu\fP gibt an, dass die unkomprimierte Größe verfügbar ist. Falls der
1459 Schalter nicht gesetzt ist, wird stattdessen ein Bindestrich (\fB\-\fP)
1460 angezeigt, um die Länge der Zeichenkette beizubehalten. In Zukunft könnten
1461 neue Schalter am Ende der Zeichenkette hinzugefügt werden.
1462 .IP 14. 4
1463 Größe der tatsächlichen komprimierten Daten im Block. Ausgeschlossen sind
1464 hierbei die Block\-Header, die Blockauffüllung und die Prüffelder.
1465 .IP 15. 4
1466 Größe des Speichers (in Byte), der zum Dekomprimieren dieses Blocks mit
1467 dieser \fBxz\fP\-Version benötigt wird.
1468 .IP 16. 4
1469 Filterkette. Beachten Sie, dass die meisten der bei der Kompression
1470 verwendeten Optionen nicht bekannt sein können, da in den \fB.xz\fP\-Headern nur
1471 die für die Dekompression erforderlichen Optionen gespeichert sind.
1472 .RE
1473 .PD
1474 .PP
1475 Die Spalten der \fBsummary\fP\-Zeilen:
1476 .PD 0
1477 .RS
1478 .IP 2. 4
1479 Größe des Speichers (in Byte), der zum Dekomprimieren dieser Datei mit
1480 dieser \fBxz\fP\-Version benötigt wird.
1481 .IP 3. 4
1482 \fByes\fP oder \fBno\fP geben an, ob in allen Block\-Headern sowohl die
1483 komprimierte als auch die unkomprimierte Größe gespeichert ist.
1484 .PP
1485 \fISeit\fP \fBxz\fP \fI5.1.2alpha:\fP
1486 .IP 4. 4
1487 Minimale \fBxz\fP\-Version, die zur Dekompression der Datei erforderlich ist
1488 .RE
1489 .PD
1490 .PP
1491 Die Spalten der \fBtotals\fP\-Zeile:
1492 .PD 0
1493 .RS
1494 .IP 2. 4
1495 Anzahl der Datenströme
1496 .IP 3. 4
1497 Anzahl der Blöcke
1498 .IP 4. 4
1499 Komprimierte Größe
1500 .IP 5. 4
1501 Unkomprimierte Größe
1502 .IP 6. 4
1503 Durchschnittliches Kompressionsverhältnis
1504 .IP 7. 4
1505 Durch Kommata getrennte Liste der Namen der Integritätsprüfungen, die in den
1506 Dateien präsent waren.
1507 .IP 8. 4
1508 Größe der Datenstromauffüllung
1509 .IP 9. 4
1510 Anzahl der Dateien. Dies dient dazu, die Reihenfolge der vorigen Spalten an
1511 die in den \fBfile\fP\-Zeilen anzugleichen.
1512 .PD
1513 .RE
1514 .PP
1515 Wenn \fB\-\-verbose\fP zwei Mal angegeben wird, werden zusätzliche Spalten in die
1516 \fBtotals\fP\-Zeile eingefügt:
1517 .PD 0
1518 .RS
1519 .IP 10. 4
1520 Maximale Größe des Speichers (in Byte), der zum Dekomprimieren der Dateien
1521 mit dieser \fBxz\fP\-Version benötigt wird.
1522 .IP 11. 4
1523 \fByes\fP oder \fBno\fP geben an, ob in allen Block\-Headern sowohl die
1524 komprimierte als auch die unkomprimierte Größe gespeichert ist.
1525 .PP
1526 \fISeit\fP \fBxz\fP \fI5.1.2alpha:\fP
1527 .IP 12. 4
1528 Minimale \fBxz\fP\-Version, die zur Dekompression der Datei erforderlich ist
1529 .RE
1530 .PD
1531 .PP
1532 Zukünftige Versionen könnten neue Zeilentypen hinzufügen, weiterhin könnten
1533 auch in den vorhandenen Zeilentypen weitere Spalten hinzugefügt werden, aber
1534 die existierenden Spalten werden nicht geändert.
1535 .
1536 .SS Filterhilfe
1537 \fBxz \-\-robot \-\-filters\-help\fP gibt die unterstützten Filter im folgenden
1538 Format aus:
1539 .PP
1540 \fIFilter\fP\fB:\fP\fIOption\fP\fB=<\fP\fIWert\fP\fB>,\fP\fIOption\fP\fB=<\fP\fIWert\fP\fB>\fP
1541
1542 .TP
1543 \fIFilter\fP
1544 Name des Filters
1545 .TP
1546 \fIOption\fP
1547 Name der filterspezifischen Option
1548 .TP
1549 \fIWert\fP
1550 Der numerische \fIWert\fP erscheint als Bereich
1551 \fB<\fP\fIMinimum\fP\fB\-\fP\fIMaximum\fP\fB>\fP. Die Auswahl des
1552 Zeichenketten\-\fIWert\fPs wird in \fB< >\fP eingeschlossen und durch \fB|\fP
1553 getrennt.
1554 .PP
1555 Jeder Filter wird in einer separaten Zeile ausgegeben.
1556 .
1557 .SS "Informationen zur Speicherbedarfsbegrenzung"
1558 \fBxz \-\-robot \-\-info\-memory\fP gibt eine einzelne Zeile mit mehreren durch
1559 Tabulatoren getrennten Spalten aus:
1560 .IP 1. 4
1561 Gesamter physischer Speicher (RAM) in Byte.
1562 .IP 2. 4
1563 Speicherbedarfsbegrenzung für die Kompression in Byte
1564 (\fB\-\-memlimit\-compress\fP). Ein spezieller Wert von \fB0\fP bezeichnet die
1565 Standardeinstellung, die im Einzelthread\-Modus bedeutet, dass keine
1566 Begrenzung vorhanden ist.
1567 .IP 3. 4
1568 Speicherbedarfsbegrenzung für die Dekompression in Byte
1569 (\fB\-\-memlimit\-decompress\fP). Ein spezieller Wert von \fB0\fP bezeichnet die
1570 Standardeinstellung, die im Einzelthread\-Modus bedeutet, dass keine
1571 Begrenzung vorhanden ist.
1572 .IP 4. 4
1573 Seit \fBxz\fP 5.3.4alpha: Die Speichernutzung für Multithread\-Dekompression in
1574 Byte (\fB\-\-memlimit\-mt\-decompress\fP). Dies ist niemals \fB0\fP, da ein
1575 systemspezifischer Vorgabewert (gezeigt in Spalte 5) verwendet wird, falls
1576 keine Grenze ausdrücklich angegeben wurde. Dies ist außerdem niemals größer
1577 als der Wert in in Spalte 3, selbst wenn mit \fB\-\-memlimit\-mt\-decompress\fP ein
1578 größerer Wert angegeben wurde.
1579 .IP 5. 4
1580 Seit \fBxz\fP 5.3.4alpha: Eine systemspezifisch vorgegebene Begrenzung des
1581 Speicherverbrauchs, die zur Begrenzung der Anzahl der Threads beim
1582 Komprimieren mit automatischer Anzahl der Threads (\fB\-\-threads=0\fP) und wenn
1583 keine Speicherbedarfsbegrenzung angegeben wurde (\fB\-\-memlimit\-compress\fP)
1584 verwendet wird. Dies wird auch als Standardwert für
1585 \fB\-\-memlimit\-mt\-decompress\fP verwendet.
1586 .IP 6. 4
1587 Seit \fBxz\fP 5.3.4alpha: Anzahl der verfügbaren Prozessorthreads.
1588 .PP
1589 In der Zukunft könnte die Ausgabe von \fBxz \-\-robot \-\-info\-memory\fP weitere
1590 Spalten enthalten, aber niemals mehr als eine einzelne Zeile.
1591 .
1592 .SS Version
1593 \fBxz \-\-robot \-\-version\fP gibt die Versionsnummern von \fBxz\fP und Liblzma im
1594 folgenden Format aus:
1595 .PP
1596 \fBXZ_VERSION=\fP\fIXYYYZZZS\fP
1597 .br
1598 \fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP
1599 .TP
1600 \fIX\fP
1601 Hauptversion.
1602 .TP
1603 \fIYYY\fP
1604 Unterversion. Gerade Zahlen bezeichnen eine stabile Version. Ungerade Zahlen
1605 bezeichnen Alpha\- oder Betaversionen.
1606 .TP
1607 \fIZZZ\fP
1608 Patch\-Stufe für stabile Veröffentlichungen oder einfach nur ein Zähler für
1609 Entwicklungsversionen.
1610 .TP
1611 \fIS\fP
1612 Stabilität. 0 ist Alpha, 1 ist Beta und 2 ist stabil. \fIS\fP sollte immer 2
1613 sein, wenn \fIYYY\fP eine gerade Zahl ist.
1614 .PP
1615 \fIXYYYZZZS\fP sind in beiden Zeilen gleich, sofern \fBxz\fP und Liblzma aus der
1616 gleichen Veröffentlichung der XZ\-Utils stammen.
1617 .PP
1618 Beispiele: 4.999.9beta ist \fB49990091\fP und 5.0.0 is \fB50000002\fP.
1619 .
1620 .SH EXIT\-STATUS
1621 .TP
1622 \fB0\fP
1623 Alles ist in Ordnung.
1624 .TP
1625 \fB1\fP
1626 Ein Fehler ist aufgetreten.
1627 .TP
1628 \fB2\fP
1629 Es ist etwas passiert, das eine Warnung rechtfertigt, aber es sind keine
1630 tatsächlichen Fehler aufgetreten.
1631 .PP
1632 In die Standardausgabe geschriebene Hinweise (keine Warnungen oder Fehler),
1633 welche den Exit\-Status nicht beeinflussen.
1634 .
1635 .SH UMGEBUNGSVARIABLEN
1636 \fBxz\fP wertet eine durch Leerzeichen getrennte Liste von Optionen in den
1637 Umgebungsvariablen \fBXZ_DEFAULTS\fP und \fBXZ_OPT\fP aus (in dieser Reihenfolge),
1638 bevor die Optionen aus der Befehlszeile ausgewertet werden. Beachten Sie,
1639 dass beim Auswerten der Umgebungsvariablen nur Optionen berücksichtigt
1640 werden; alle Einträge, die keine Optionen sind, werden stillschweigend
1641 ignoriert. Die Auswertung erfolgt mit \fBgetopt_long\fP(3), welches auch für
1642 die Befehlszeilenargumente verwendet wird.
1643 .TP
1644 \fBXZ_DEFAULTS\fP
1645 Benutzerspezifische oder systemweite Standardoptionen. Typischerweise werden
1646 diese in einem Shell\-Initialisierungsskript gesetzt, um die
1647 Speicherbedarfsbegrenzung von \fBxz\fP standardmäßig zu aktivieren. Außer bei
1648 Shell\-Initialisierungsskripten und in ähnlichen Spezialfällen darf die
1649 Variable \fBXZ_DEFAULTS\fP in Skripten niemals gesetzt oder außer Kraft gesetzt
1650 werden.
1651 .TP
1652 \fBXZ_OPT\fP
1653 Dies dient der Übergabe von Optionen an \fBxz\fP, wenn es nicht möglich ist,
1654 die Optionen direkt in der Befehlszeile von \fBxz\fP zu übergeben. Dies ist der
1655 Fall, wenn \fBxz\fP von einem Skript oder Dienstprogramm ausgeführt wird, zum
1656 Beispiel GNU \fBtar\fP(1):
1657 .RS
1658 .RS
1659 .PP
1660 .nf
1661 \f(CRXZ_OPT=\-2v tar caf foo.tar.xz foo\fR
1662 .fi
1663 .RE
1664 .RE
1665 .IP ""
1666 Skripte können \fBXZ_OPT\fP zum Beispiel zum Setzen skriptspezifischer
1667 Standard\-Kompressionsoptionen verwenden. Es ist weiterhin empfehlenswert,
1668 Benutzern die Außerkraftsetzung von \fBXZ_OPT\fP zu erlauben, falls dies
1669 angemessen ist. Zum Beispiel könnte in \fBsh\fP(1)\-Skripten Folgendes stehen:
1670 .RS
1671 .RS
1672 .PP
1673 .nf
1674 \f(CRXZ_OPT=${XZ_OPT\-"\-7e"}
1675 export XZ_OPT\fR
1676 .fi
1677 .RE
1678 .RE
1679 .
1680 .SH "KOMPATIBILITÄT ZU DEN LZMA\-UTILS"
1681 Die Befehlszeilensyntax von \fBxz\fP ist praktisch eine Obermenge der von
1682 \fBlzma\fP, \fBunlzma\fP und \fBlzcat\fP in den LZMA\-Utils der Versionen 4.32.x. In
1683 den meisten Fällen sollte es möglich sein, die LZMA\-Utils durch die XZ\-Utils
1684 zu ersetzen, ohne vorhandene Skripte ändern zu müssen. Dennoch gibt es
1685 einige Inkompatibilitäten, die manchmal Probleme verursachen können.
1686 .
1687 .SS "Voreinstellungsstufen zur Kompression"
1688 Die Nummerierung der Voreinstellungsstufen der Kompression ist in \fBxz\fP und
1689 den LZMA\-Utils unterschiedlich. Der wichtigste Unterschied ist die Zuweisung
1690 der Wörterbuchgrößen zu den verschiedenen Voreinstellungsstufen. Die
1691 Wörterbuchgröße ist etwa gleich dem Speicherbedarf bei der Dekompression.
1692 .RS
1693 .PP
1694 .TS
1695 tab(;);
1696 c c c
1697 c n n.
1698 Stufe;xz;LZMA\-Utils
1699 \-0;256 KiB;nicht verfügbar
1700 \-1;1 MiB;64 KiB
1701 \-2;2 MiB;1 MiB
1702 \-3;4 MiB;512 KiB
1703 \-4;4 MiB;1 MiB
1704 \-5;8 MiB;2 MiB
1705 \-6;8 MiB;4 MiB
1706 \-7;16 MiB;8 MiB
1707 \-8;32 MiB;16 MiB
1708 \-9;64 MiB;32 MiB
1709 .TE
1710 .RE
1711 .PP
1712 Die Unterschiede in der Wörterbuchgröße beeinflussen auch den Speicherbedarf
1713 bei der Kompression, aber es gibt noch einige andere Unterschiede zwischen
1714 den LZMA\-Utils und den XZ\-Utils, die die Kluft noch vergrößern:
1715 .RS
1716 .PP
1717 .TS
1718 tab(;);
1719 c c c
1720 c n n.
1721 Stufe;xz;LZMA\-Utils 4.32.x
1722 \-0;3 MiB;nicht verfügbar
1723 \-1;9 MiB;2 MiB
1724 \-2;17 MiB;12 MiB
1725 \-3;32 MiB;12 MiB
1726 \-4;48 MiB;16 MiB
1727 \-5;94 MiB;26 MiB
1728 \-6;94 MiB;45 MiB
1729 \-7;186 MiB;83 MiB
1730 \-8;370 MiB;159 MiB
1731 \-9;674 MiB;311 MiB
1732 .TE
1733 .RE
1734 .PP
1735 Die standardmäßige Voreinstellungsstufe in den LZMA\-Utils ist \fB\-7\fP, während
1736 diese in den XZ\-Utils \fB\-6\fP ist, daher verwenden beide standardmäßig ein 8
1737 MiB großes Wörterbuch.
1738 .
1739 .SS "Vor\- und Nachteile von .lzma\-Dateien als Datenströme"
1740 Die unkomprimierte Größe der Datei kann in den \fB.lzma\fP\-Headern gespeichert
1741 werden. Die LZMA\-Utils tun das beim Komprimieren gewöhnlicher Dateien. Als
1742 Alternative kann die unkomprimierte Größe als unbekannt markiert und eine
1743 Nutzdatenende\-Markierung (end\-of\-payload) verwendet werden, um anzugeben, wo
1744 der Dekompressor stoppen soll. Die LZMA\-Utils verwenden diese Methode, wenn
1745 die unkomprimierte Größe unbekannt ist, was beispielsweise in Pipes
1746 (Befehlsverkettungen) der Fall ist.
1747 .PP
1748 \fBxz\fP unterstützt die Dekompression von \fB.lzma\fP\-Dateien mit oder ohne
1749 Nutzdatenende\-Markierung, aber alle von \fBxz\fP erstellten \fB.lzma\fP\-Dateien
1750 verwenden diesen Nutzdatenende\-Markierung, wobei die unkomprimierte Größe in
1751 den \fB.lzma\fP\-Headern als unbekannt markiert wird. Das könnte in einigen
1752 unüblichen Situationen ein Problem sein. Zum Beispiel könnte ein
1753 \&\fB.lzma\fP\-Dekompressor in einem Gerät mit eingebettetem System nur mit
1754 Dateien funktionieren, deren unkomprimierte Größe bekannt ist. Falls Sie auf
1755 dieses Problem stoßen, müssen Sie die LZMA\-Utils oder das LZMA\-SDK
1756 verwenden, um \fB.lzma\fP\-Dateien mit bekannter unkomprimierter Größe zu
1757 erzeugen.
1758 .
1759 .SS "Nicht unterstützte .lzma\-Dateien"
1760 Das \fB.lzma\fP\-Format erlaubt \fIlc\fP\-Werte bis zu 8 und \fIlp\fP\-Werte bis zu
1761 4. Die LZMA\-Utils können Dateien mit beliebigem \fIlc\fP und \fIlp\fP
1762 dekomprimieren, aber erzeugen immer Dateien mit \fBlc=3\fP und \fBlp=0\fP. Das
1763 Erzeugen von Dateien mit anderem \fIlc\fP und \fIlp\fP ist mit \fBxz\fP und mit dem
1764 LZMA\-SDK möglich.
1765 .PP
1766 Die Implementation des LZMA\-Filters in liblzma setzt voraus, dass die Summe
1767 von \fIlc\fP und \fIlp\fP nicht größer als 4 ist. Daher können \fB.lzma\fP\-Dateien,
1768 welche diese Begrenzung überschreiten, mit \fBxz\fP nicht dekomprimiert werden.
1769 .PP
1770 Die LZMA\-Utils erzeugen nur \fB.lzma\fP\-Dateien mit einer Wörterbuchgröße von
1771 2^\fIn\fP (einer Zweierpotenz), aber akzeptieren Dateien mit einer beliebigen
1772 Wörterbuchgröße. Liblzma akzeptiert nur \fB.lzma\fP\-Dateien mit einer
1773 Wörterbuchgröße von 2^\fIn\fP oder 2^\fIn\fP + 2^(\fIn\fP\-1). Dies dient zum
1774 Verringern von Fehlalarmen beim Erkennen von \fB.lzma\fP\-Dateien.
1775 .PP
1776 Diese Einschränkungen sollten in der Praxis kein Problem sein, da praktisch
1777 alle \fB.lzma\fP\-Dateien mit Einstellungen komprimiert wurden, die Liblzma
1778 akzeptieren wird.
1779 .
1780 .SS "Angehängter Datenmüll"
1781 Bei der Dekompression ignorieren die LZMA\-Utils stillschweigend alles nach
1782 dem ersten \fB.lzma\fP\-Datenstrom. In den meisten Situationen ist das ein
1783 Fehler. Das bedeutet auch, dass die LZMA\-Utils die Dekompression verketteter
1784 \&\fB.lzma\fP\-Dateien nicht unterstützen.
1785 .PP
1786 Wenn nach dem ersten \fB.lzma\fP\-Datenstrom Daten verbleiben, erachtet \fBxz\fP
1787 die Datei als beschädigt, es sei denn, die Option \fB\-\-single\-stream\fP wurde
1788 verwendet. Dies könnte die Ausführung von Skripten beeinflussen, die davon
1789 ausgehen, dass angehängter Datenmüll ignoriert wird.
1790 .
1791 .SH ANMERKUNGEN
1792 .
1793 .SS "Die komprimierte Ausgabe kann variieren"
1794 Die exakte komprimierte Ausgabe, die aus der gleichen unkomprimierten
1795 Eingabedatei erzeugt wird, kann zwischen den Versionen der XZ\-Utils
1796 unterschiedlich sein, selbst wenn die Kompressionsoptionen identisch
1797 sind. Das kommt daher, weil der Kodierer verbessert worden sein könnte
1798 (hinsichtlich schnellerer oder besserer Kompression), ohne das Dateiformat
1799 zu beeinflussen. Die Ausgabe kann sogar zwischen verschiedenen Programmen
1800 der gleichen Version der XZ\-Utils variieren, wenn bei der Erstellung des
1801 Binärprogramms unterschiedliche Optionen verwendet wurden.
1802 .PP
1803 Sobald \fB\-\-rsyncable\fP implementiert wurde, bedeutet das, dass die sich
1804 ergebenden Dateien nicht notwendigerweise mit Rsync abgeglichen werden
1805 können, außer wenn die alte und neue Datei mit der gleichen \fBxz\fP\-Version
1806 erzeugt wurden. Das Problem kann beseitigt werden, wenn ein Teil der
1807 Encoder\-Implementierung eingefroren wird, um die mit Rsync abgleichbare
1808 Ausgabe über \fBxz\fP\-Versionsgrenzen hinweg stabil zu halten.
1809 .
1810 .SS "Eingebettete .xz\-Dekompressoren"
1811 Eingebettete \fB.xz\fP\-Dekompressor\-Implementierungen wie XZ Embedded
1812 unterstützen nicht unbedingt Dateien, die mit anderen Integritätsprüfungen
1813 (\fIPrüfung\fP\-Typen) als \fBnone\fP und \fBcrc32\fP erzeugt wurden. Da
1814 \fB\-\-check=crc64\fP die Voreinstellung ist, müssen Sie \fB\-\-check=none\fP oder
1815 \fB\-\-check=crc32\fP verwenden, wenn Sie Dateien für eingebettete Systeme
1816 erstellen.
1817 .PP
1818 Außerhalb eingebetteter Systeme unterstützen die Dekompressoren des
1819 \&\fB.xz\fP\-Formats alle \fIPrüfung\fP\-Typen oder sind mindestens in der Lage, die
1820 Datei zu dekomprimieren, ohne deren Integrität zu prüfen, wenn die bestimmte
1821 \fIPrüfung\fP nicht verfügbar ist.
1822 .PP
1823 XZ Embedded unterstützt BCJ\-Filter, aber nur mit dem vorgegebenen
1824 Startversatz.
1825 .
1826 .SH BEISPIELE
1827 .
1828 .SS Grundlagen
1829 Komprimiert die Datei \fIfoo\fP mit der Standard\-Kompressionsstufe (\fB\-6\fP) zu
1830 \fIfoo.xz\fP und entfernt \fIfoo\fP nach erfolgreicher Kompression:
1831 .RS
1832 .PP
1833 .nf
1834 \f(CRxz foo\fR
1835 .fi
1836 .RE
1837 .PP
1838 \fIbar.xz\fP in \fIbar\fP dekomprimieren und \fIbar.xz\fP selbst dann nicht löschen,
1839 wenn die Dekompression erfolgreich war:
1840 .RS
1841 .PP
1842 .nf
1843 \f(CRxz \-dk bar.xz\fR
1844 .fi
1845 .RE
1846 .PP
1847 \fIbaz.tar.xz\fP mit der Voreinstellung \fB\-4e\fP (\fB\-4 \-\-extreme\fP) erzeugen, was
1848 langsamer ist als die Vorgabe \fB\-6\fP, aber weniger Speicher für Kompression
1849 und Dekompression benötigt (48\ MiB beziehungsweise 5\ MiB):
1850 .RS
1851 .PP
1852 .nf
1853 \f(CRtar cf \- baz | xz \-4e > baz.tar.xz\fR
1854 .fi
1855 .RE
1856 .PP
1857 Eine Mischung aus komprimierten und unkomprimierten Dateien kann mit einem
1858 einzelnen Befehl dekomprimiert in die Standardausgabe geschrieben werden:
1859 .RS
1860 .PP
1861 .nf
1862 \f(CRxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fR
1863 .fi
1864 .RE
1865 .
1866 .SS "Parallele Kompression von vielen Dateien"
1867 Auf GNU\- und *BSD\-Systemen können \fBfind\fP(1) und \fBxargs\fP(1) zum
1868 Parallelisieren der Kompression vieler Dateien verwendet werden:
1869 .RS
1870 .PP
1871 .nf
1872 \f(CRfind . \-type f \e! \-name '*.xz' \-print0 \e
1873 | xargs \-0r \-P4 \-n16 xz \-T1\fR
1874 .fi
1875 .RE
1876 .PP
1877 Die Option \fB\-P\fP von \fBxargs\fP(1) legt die Anzahl der parallelen
1878 \fBxz\fP\-Prozesse fest. Der beste Wert für die Option \fB\-n\fP hängt davon ab, wie
1879 viele Dateien komprimiert werden sollen. Wenn es sich nur um wenige Dateien
1880 handelt, sollte der Wert wahrscheinlich 1 sein; bei Zehntausenden von
1881 Dateien kann 100 oder noch mehr angemessener sein, um die Anzahl der
1882 \fBxz\fP\-Prozesse zu beschränken, die \fBxargs\fP(1) schließlich erzeugen wird.
1883 .PP
1884 Die Option \fB\-T1\fP für \fBxz\fP dient dazu, den Einzelthread\-Modus zu erzwingen,
1885 da \fBxargs\fP(1) zur Steuerung des Umfangs der Parallelisierung verwendet
1886 wird.
1887 .
1888 .SS Roboter\-Modus
1889 Berechnen, wie viel Byte nach der Kompression mehrerer Dateien insgesamt
1890 eingespart wurden:
1891 .RS
1892 .PP
1893 .nf
1894 \f(CRxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fR
1895 .fi
1896 .RE
1897 .PP
1898 Ein Skript könnte abfragen wollen, ob es ein \fBxz\fP verwendet, das aktuell
1899 genug ist. Das folgende \fBsh\fP(1)\-Skript prüft, ob die Versionsnummer des
1900 Dienstprogramms \fBxz\fP mindestens 5.0.0 ist. Diese Methode ist zu alten
1901 Beta\-Versionen kompatibel, welche die Option \fB\-\-robot\fP nicht unterstützen:
1902 .RS
1903 .PP
1904 .nf
1905 \f(CRif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" ||
1906 [ "$XZ_VERSION" \-lt 50000002 ]; then
1907 echo "Your xz is too old."
1908 fi
1909 unset XZ_VERSION LIBLZMA_VERSION\fR
1910 .fi
1911 .RE
1912 .PP
1913 Eine Speicherbedarfsbegrenzung für die Dekompression mit \fBXZ_OPT\fP setzen,
1914 aber eine bereits gesetzte Begrenzung nicht erhöhen:
1915 .RS
1916 .PP
1917 .nf
1918 \f(CRNEWLIM=$((123 << 20))\ \ # 123 MiB
1919 OLDLIM=$(xz \-\-robot \-\-info\-memory | cut \-f3)
1920 if [ $OLDLIM \-eq 0 \-o $OLDLIM \-gt $NEWLIM ]; then
1921 XZ_OPT="$XZ_OPT \-\-memlimit\-decompress=$NEWLIM"
1922 export XZ_OPT
1923 fi\fR
1924 .fi
1925 .RE
1926 .
1927 .SS "Benutzerdefinierte Filterketten für die Kompression"
1928 Der einfachste Anwendungsfall für benutzerdefinierte Filterketten ist die
1929 Anpassung von LZMA2\-Voreinstellungsstufen. Das kann nützlich sein, weil die
1930 Voreinstellungen nur einen Teil der potenziell sinnvollen Kombinationen aus
1931 Kompressionseinstellungen abdecken.
1932 .PP
1933 Die KompCPU\-Spalten der Tabellen aus den Beschreibungen der Optionen \fB\-0\fP …
1934 \fB\-9\fP und \fB\-\-extreme\fP sind beim Anpassen der LZMA2\-Voreinstellungen
1935 nützlich. Diese sind die relevanten Teile aus diesen zwei Tabellen:
1936 .RS
1937 .PP
1938 .TS
1939 tab(;);
1940 c c
1941 n n.
1942 Voreinst.;KomprCPU
1943 \-0;0
1944 \-1;1
1945 \-2;2
1946 \-3;3
1947 \-4;4
1948 \-5;5
1949 \-6;6
1950 \-5e;7
1951 \-6e;8
1952 .TE
1953 .RE
1954 .PP
1955 Wenn Sie wissen, dass eine Datei für eine gute Kompression ein etwas
1956 größeres Wörterbuch benötigt (zum Beispiel 32 MiB), aber Sie sie schneller
1957 komprimieren wollen, als dies mit \fBxz \-8\fP geschehen würde, kann eine
1958 Voreinstellung mit einem niedrigen KompCPU\-Wert (zum Beispiel 1) dahingehend
1959 angepasst werden, ein größeres Wörterbuch zu verwenden:
1960 .RS
1961 .PP
1962 .nf
1963 \f(CRxz \-\-lzma2=preset=1,dict=32MiB foo.tar\fR
1964 .fi
1965 .RE
1966 .PP
1967 Mit bestimmten Dateien kann der obige Befehl schneller sein als \fBxz \-6\fP,
1968 wobei die Kompression deutlich besser wird. Dennoch muss betont werden, dass
1969 nur wenige Dateien von einem größeren Wörterbuch profitieren, wenn der
1970 KompCPU\-Wert niedrig bleibt. Der offensichtlichste Fall, in dem ein größeres
1971 Wörterbuch sehr hilfreich sein kann, ist ein Archiv, das einander sehr
1972 ähnliche Dateien enthält, die jeweils wenigstens einige Megabyte groß
1973 sind. Das Wörterbuch muss dann deutlich größer sein als die einzelne Datei,
1974 damit LZMA2 den größtmöglichen Vorteil aus den Ähnlichkeiten der aufeinander
1975 folgenden Dateien zieht.
1976 .PP
1977 Wenn hoher Speicherbedarf für Kompression und Dekompression kein Problem ist
1978 und die zu komprimierende Datei mindestens einige Hundert Megabyte groß ist,
1979 kann es sinnvoll sein, ein noch größeres Wörterbuch zu verwenden, als die 64
1980 MiB, die mit \fBxz \-9\fP verwendet werden würden:
1981 .RS
1982 .PP
1983 .nf
1984 \f(CRxz \-vv \-\-lzma2=dict=192MiB big_foo.tar\fR
1985 .fi
1986 .RE
1987 .PP
1988 Die Verwendung von \fB\-vv\fP (\fB\-\-verbose \-\-verbose\fP) wie im obigen Beispiel
1989 kann nützlich sein, um den Speicherbedarf für Kompressor und Dekompressor zu
1990 sehen. Denken Sie daran, dass ein Wörterbuch, das größer als die
1991 unkomprimierte Datei ist, Speicherverschwendung wäre. Daher ist der obige
1992 Befehl für kleine Dateien nicht sinnvoll.
1993 .PP
1994 Manchmal spielt die Kompressionszeit keine Rolle, aber der Speicherbedarf
1995 bei der Dekompression muss gering gehalten werden, zum Beispiel um die Datei
1996 auf eingebetteten Systemen dekomprimieren zu können. Der folgende Befehl
1997 verwendet \fB\-6e\fP (\fB\-6 \-\-extreme\fP) als Basis und setzt die Wörterbuchgröße
1998 auf nur 64\ KiB. Die sich ergebende Datei kann mit XZ Embedded (aus diesem
1999 Grund ist dort \fB\-\-check=crc32\fP) mit nur etwa 100\ KiB Speicher
2000 dekomprimiert werden.
2001 .RS
2002 .PP
2003 .nf
2004 \f(CRxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo\fR
2005 .fi
2006 .RE
2007 .PP
2008 Wenn Sie so viele Byte wie möglich herausquetschen wollen, kann die
2009 Anpassung der Anzahl der literalen Kontextbits (\fIlc\fP) und der Anzahl der
2010 Positionsbits (\fIpb\fP) manchmal hilfreich sein. Auch die Anpassung der Anzahl
2011 der literalen Positionsbits (\fIlp\fP) könnte helfen, aber üblicherweise sind
2012 \fIlc\fP und \fIpb\fP wichtiger. Wenn ein Quellcode\-Archiv zum Beispiel
2013 hauptsächlich ASCII\-Text enthält, könnte ein Aufruf wie der folgende eine
2014 etwas kleinere Datei (etwa 0,1\ %) ergeben als mit \fBxz \-6e\fP (versuchen Sie
2015 es auch \fBlc=4\fP):
2016 .RS
2017 .PP
2018 .nf
2019 \f(CRxz \-\-lzma2=preset=6e,pb=0,lc=4 source_code.tar\fR
2020 .fi
2021 .RE
2022 .PP
2023 Die Verwendung eines anderen Filters mit LZMA2 kann die Kompression bei
2024 verschiedenen Dateitypen verbessern. So könnten Sie eine gemeinsam genutzte
2025 Bibliothek der Architekturen x86\-32 oder x86\-64 mit dem BCJ\-Filter für x86
2026 komprimieren:
2027 .RS
2028 .PP
2029 .nf
2030 \f(CRxz \-\-x86 \-\-lzma2 libfoo.so\fR
2031 .fi
2032 .RE
2033 .PP
2034 Beachten Sie, dass die Reihenfolge der Filteroptionen von Bedeutung
2035 ist. Falls \fB\-\-x86\fP nach \fB\-\-lzma2\fP angegeben wird, gibt \fBxz\fP einen Fehler
2036 aus, weil nach LZMA2 kein weiterer Filter sein darf und auch weil der
2037 BCJ\-Filter für x86 nicht als letzter Filter in der Filterkette gesetzt
2038 werden darf.
2039 .PP
2040 Der Delta\-Filter zusammen mit LZMA2 kann bei Bitmap\-Bildern gute Ergebnisse
2041 liefern. Er sollte üblicherweise besser sein als PNG, welches zwar einige
2042 fortgeschrittene Filter als ein simples delta bietet, aber für die
2043 eigentliche Kompression »Deflate« verwendet.
2044 .PP
2045 Das Bild muss in einem unkomprimierten Format gespeichert werden, zum
2046 Beispiel als unkomprimiertes TIFF. Der Abstandsparameter des Delta\-Filters
2047 muss so gesetzt werden, dass er der Anzahl der Bytes pro Pixel im Bild
2048 entspricht. Zum Beispiel erfordert ein 24\-Bit\-RGB\-Bitmap \fBdist=3\fP, außerdem
2049 ist es gut, \fBpb=0\fP an LZMA2 zu übergeben, um die 3\-Byte\-Ausrichtung zu
2050 berücksichtigen:
2051 .RS
2052 .PP
2053 .nf
2054 \f(CRxz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff\fR
2055 .fi
2056 .RE
2057 .PP
2058 Wenn sich mehrere Bilder in einem einzelnen Archiv befinden (zum Beispiel\&
2059 \&\fB.tar\fP), funktioniert der Delta\-Filter damit auch, sofern alle Bilder im
2060 Archiv die gleiche Anzahl Bytes pro Pixel haben.
2061 .
2062 .SH "SIEHE AUCH"
2063 \fBxzdec\fP(1), \fBxzdiff\fP(1), \fBxzgrep\fP(1), \fBxzless\fP(1), \fBxzmore\fP(1),
2064 \fBgzip\fP(1), \fBbzip2\fP(1), \fB7z\fP(1)
2065 .PP
2066 XZ Utils: <https://tukaani.org/xz/>
2067 .br
2068 XZ Embedded: <https://tukaani.org/xz/embedded.html>
2069 .br
2070 LZMA\-SDK: <https://7\-zip.org/sdk.html>