Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/man/de/man1/unxz.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> |