Provided by: manpages-de_2.16-1_all bug

BEZEICHNUNG

       xz, unxz, xzcat, lzma, unlzma, lzcat - .xz- und .lzma-Dateien komprimieren oder dekomprimieren

ÜBERSICHT

       xz [Option…] [Datei…]

BEFEHLSALIASE

       unxz ist gleichbedeutend mit xz --decompress.
       xzcat ist gleichbedeutend mit xz --decompress --stdout.
       lzma ist gleichbedeutend mit xz --format=lzma.
       unlzma ist gleichbedeutend mit xz --format=lzma --decompress.
       lzcat ist gleichbedeutend mit xz --format=lzma --decompress --stdout.

       Wenn  Sie  Skripte  schreiben,  die  Dateien  dekomprimieren,  sollten  Sie  stets  den  Namen xz mit den
       entsprechenden Argumenten (xz -d oder xz -dc) anstelle der Namen unxz und xzcat verwenden.

BESCHREIBUNG

       xz ist ein Allzweckwerkzeug zur  Datenkompression,  dessen  Befehlszeilensyntax  denen  von  gzip(1)  und
       bzip2(1)   ähnelt.   Das   native   Dateiformat   ist   das  .xz-Format,  aber  das  veraltete,  von  den
       LZMA-Dienstprogrammen verwendete Format sowie  komprimierte  Rohdatenströme  ohne  Containerformat-Header
       werden ebenfalls unterstützt.

       xz  komprimiert oder dekomprimierte jede Datei entsprechend des gewählten Vorgangsmodus. Falls entweder -
       oder keine Datei angegeben ist, liest xz aus der Standardeingabe und leitet die verarbeiteten Dateien  in
       die   Standardausgabe.   Wenn  die  Standardausgabe  kein  Terminal  ist,  verweigert  xz  das  Schreiben
       komprimierter Daten in die Standardausgabe.  Dabei  wird  eine  Fehlermeldung  angezeigt  und  die  Datei
       übersprungen.  Ebenso verweigert xz das Lesen komprimierter Daten aus der Standardeingabe, wenn diese ein
       Terminal ist.

       Dateien, die nicht als - angegeben sind, werden in eine neue Datei geschrieben, deren Name aus den  Namen
       der Quell-Datei abgeleitet wird (außer wenn --stdout angegeben ist):

       •  Bei  der  Kompression  wird  das  Suffix  des  Formats der Zieldatei (.xz oder .lzma) an den Namen der
          Quelldatei angehängt und so der Name der Zieldatei gebildet.

       •  Bei der Dekompression wird das Suffix .xz oder .lzma vom Dateinamen  entfernt  und  so  der  Name  der
          Zieldatei gebildet. Außerdem erkennt xz die Suffixe .txz und .tlz und ersetzt diese durch .tar.

       Wenn die Zieldatei bereits existiert, wird eine Fehlermeldung angezeigt und die Datei übersprungen.

       Außer beim Schreiben in die Standardausgabe zeigt xz eine Warnung an und überspringt die Datei, wenn eine
       der folgenden Bedingungen zutreffend ist:

       •  Die  Datei  ist keine reguläre Datei. Symbolischen Verknüpfungen wird nicht gefolgt und daher nicht zu
          den regulären Dateien gezählt.

       •  Die Datei hat mehr als eine harte Verknüpfung.

       •  Für die Datei ist das »setuid«-, »setgid«- oder »sticky«-Bit gesetzt.

       •  Der  Aktionsmodus  wird  auf  Kompression  gesetzt  und  die  Datei  hat  bereits   das   Suffix   des
          Zieldateiformats  (.xz  oder  .txz  beim  Komprimieren  in  das  .xz-Format  und  .lzma oder .tlz beim
          Komprimieren in das .lzma-Format).

       •  Der Aktionsmodus wird auf Dekompression  gesetzt  und  die  Datei  hat  nicht  das  Suffix  eines  der
          unterstützten Zieldateiformate (.xz, .txz, .lzma oder .tlz).

       Nach   erfolgreicher   Kompression   oder   Dekompression   der  Datei  kopiert  xz  Eigentümer,  Gruppe,
       Zugriffsrechte, Zugriffszeit und Änderungszeit aus der  Ursprungs-Datei  in  die  Zieldatei.  Sollte  das
       Kopieren  der  Gruppe  fehlschlagen,  werden  die  Zugriffsrechte  so angepasst, dass jenen Benutzern der
       Zugriff auf die Zieldatei verwehrt bleibt, die auch keinen Zugriff auf die  Ursprungs-Datei  hatten.  Das
       Kopieren  anderer  Metadaten  wie  Zugriffssteuerlisten oder erweiterter Attribute wird von xz noch nicht
       unterstützt.

       Sobald die Zieldatei erfolgreich geschlossen wurde, wird die Ursprungs-Datei entfernt.  Dies  wird  durch
       die  Option  --keep  verhindert.  Die  Ursprungs-Datei  wird  niemals  entfernt,  wenn die Ausgabe in die
       Standardausgabe geschrieben wird.

       Durch Senden der Signale SIGINFO oder SIGUSR1 an den xz-Prozess werden Fortschrittsinformationen  in  den
       Fehlerkanal   der   Standardausgabe   geleitet.   Dies   ist   nur   eingeschränkt  hilfreich,  wenn  die
       Standardfehlerausgabe  ein  Terminal  ist.  Mittels  --verbose  wird   ein   automatisch   aktualisierter
       Fortschrittsanzeiger angezeigt.

   Speicherbedarf
       In  Abhängigkeit  von  den gewählten Kompressionseinstellungen bewegt sich der Speicherverbrauch zwischen
       wenigen hundert Kilobyte und  mehrere  Gigabyte.  Die  Einstellungen  bei  der  Kompression  einer  Datei
       bestimmen  dabei  den  Speicherbedarf  bei  der  Dekompression.  Die Dekompression benötigt üblicherweise
       zwischen 5 % und 20 % des Speichers, der bei der Kompression der Datei erforderlich  war.  Beispielsweise
       benötigt  die  Dekompression  einer  Datei,  die  mit  xz  -9  komprimiert wurde, gegenwärtig etwa 65 MiB
       Speicher. Es ist jedoch auch möglich, dass .xz-Dateien mehrere Gigabyte  an  Speicher  zur  Dekompression
       erfordern.

       Insbesondere  für  Benutzer älterer Systeme wird eventuell ein sehr großer Speicherbedarf ärgerlich sein.
       Um  unangenehme  Überraschungen  zu  vermeiden,  verfügt  xz  über   eine   eingebaute   Begrenzung   des
       Speicherbedarfs,   die   allerdings   in   der  Voreinstellung  deaktiviert  ist.  Zwar  verfügen  einige
       Betriebssysteme über eingebaute Möglichkeiten zur prozessabhängigen Speicherbegrenzung, doch  diese  sind
       zu   unflexibel   (zum   Beispiel   kann  ulimit(1)  beim  Begrenzen  des  virtuellen  Speichers  mmap(2)
       beeinträchtigen).

       Die Begrenzung des Speicherbedarfs  kann  mit  der  Befehlszeilenoption  --memlimit=Begrenzung  aktiviert
       werden.  Oft  ist  es  jedoch  bequemer,  die  Begrenzung  durch Setzen der Umgebungsvariable XZ_DEFAULTS
       standardmäßig zu aktivieren, zum Beispiel XZ_DEFAULTS=--memlimit=150MiB. Die Begrenzungen können getrennt
       für     Kompression      und      Dekompression      mittels      --memlimit-compress=Begrenzung      und
       --memlimit-decompress=Begrenzung  festgelegt  werden.  Die  Verwendung einer solchen Option außerhalb der
       Variable XZ_DEFAULTS ist kaum sinnvoll, da xz in einer einzelnen Aktion  nicht  gleichzeitig  Kompression
       und  Dekompression  ausführen kann und --memlimit=Begrenzung (oder -M Begrenzung) lässt sich einfacher in
       der Befehlszeile eingeben.

       Wenn die angegebene Speicherbegrenzung bei der Dekompression überschritten wird, schlägt der Vorgang fehl
       und xz zeigt eine Fehlermeldung an. Wird die Begrenzung bei der Kompression überschritten, dann  versucht
       xz die Einstellungen entsprechend anzupassen, außer wenn --format=raw oder --no-adjust angegeben ist. Auf
       diese  Weise schlägt die Aktion nicht fehl, es sei denn, die Begrenzung wurde sehr niedrig angesetzt. Die
       Anpassung der Einstellungen wird schrittweise vorgenommen, allerdings entsprechen die Schritte nicht  den
       Voreinstellungen der Kompressionsstufen. Das bedeutet, wenn beispielsweise die Begrenzung nur geringfügig
       unter  den  Anforderungen  für  xz  -9 liegt, werden auch die Einstellungen nur wenig angepasst und nicht
       vollständig herunter zu den Werten für xz -8

   Verkettung und Auffüllung von .xz-Dateien
       Es ist möglich, .xz-Dateien direkt zu verketten. Solche Dateien werden von xz genauso  dekomprimiert  wie
       eine einzelne .xz-Datei.

       Es  ist  weiterhin  möglich,  eine  Auffüllung zwischen den verketteten Teilen oder nach dem letzten Teil
       einzufügen. Die Auffüllung muss aus Null-Bytes bestehen und deren Größe muss ein Vielfaches von vier Byte
       sein. Dies kann zum Beispiel dann vorteilhaft sein, wenn die .xz-Datei auf einem Datenträger  gespeichert
       wird, dessen Dateisystem die Dateigrößen in 512-Byte-Blöcken speichert.

       Verkettung und Auffüllung sind für .lzma-Dateien oder Rohdatenströme nicht erlaubt.

OPTIONEN

   Ganzzahlige Suffixe und spezielle Werte
       An  den  meisten  Stellen, wo ein ganzzahliges Argument akzeptiert wird, kann ein optionales Suffix große
       Ganzzahlwerte einfacher darstellen. Zwischen Ganzzahl  und  dem  Suffix  dürfen  sich  keine  Leerzeichen
       befinden.

       KiB    multipliziert  die  Ganzzahl  mit  1.024  (2^10).  Ki, k, kB, K und KB werden als Synonyme für KiB
              akzeptiert.

       MiB    multipliziert die Ganzzahl mit 1.048.576 (2^20). Mi, m, M und  MB  werden  als  Synonyme  für  MiB
              akzeptiert.

       GiB    multipliziert  die  Ganzzahl mit 1.073.741.824 (2^30). Gi, g, G und GB werden als Synonyme für GiB
              akzeptiert.

       Der spezielle Wert max kann dazu  verwendet  werden,  um  den  von  der  jeweiligen  Option  akzeptierten
       maximalen Ganzzahlwert anzugeben.

   Aktionsmodus
       Falls mehrere Aktionsmodi angegeben sind, wird der zuletzt angegebene verwendet.

       -z, --compress
              Kompression.  Dies ist der voreingestellte Aktionsmodus, sofern keiner angegeben ist und auch kein
              bestimmter Modus aus dem Befehlsnamen abgeleitet werden  kann  (der  Befehl  unxz  impliziert  zum
              Beispiel --decompress).

       -d, --decompress, --uncompress
              dekomprimpiert.

       -t, --test
              prüft  die Integrität der komprimierten Dateien. Diese Option ist gleichbedeutend mit --decompress
              --stdout,  außer  dass  die  dekomprimierten  Daten  verworfen  werden,   anstatt   sie   in   die
              Standardausgabe zu leiten. Es werden keine Dateien erstellt oder entfernt.

       -l, --list
              gibt  Informationen  zu  den  komprimierten  Dateien  aus. Es werden keine unkomprimierten Dateien
              ausgegeben und keine Dateien angelegt oder  entfernt.  Im  Listenmodus  kann  das  Programm  keine
              komprimierten Daten aus der Standardeingabe oder anderen nicht durchsuchbaren Quellen lesen.

              Die  Liste  zeigt  in  der  Standardeinstellung  grundlegende  Informationen  zu  den  Dateien an,
              zeilenweise pro Datei. Detailliertere Informationen erhalten Sie mit der  Option  --verbose.  Wenn
              Sie  diese  Option  zweimal angeben, werden noch ausführlichere Informationen ausgegeben. Das kann
              den Vorgang allerdings deutlich verlangsamen, da die  Ermittlung  der  zusätzlichen  Informationen
              zahlreiche  Suchvorgänge  erfordert.  Die  Breite  der  ausführlichen  Ausgabe  ist breiter als 80
              Zeichen, daher könnte die  Weiterleitung  in  beispielsweise  less -S  sinnvoll  sein,  falls  das
              Terminal nicht breit genug ist.

              Die  exakte  Ausgabe  kann  in  verschiedenen xz-Versionen und Spracheinstellungen unterschiedlich
              sein. Wenn eine maschinell auswertbare Ausgabe gewünscht ist,  dann  sollten  Sie  --robot  --list
              verwenden.

   Aktionsattribute
       -k, --keep
              verhindert das Löschen der Eingabedateien.

       -f, --force
              Diese Option hat verschiedene Auswirkungen:

              •  Wenn  die  Zieldatei  bereits  existiert,  wird  diese  vor  der Kompression oder Dekompression
                 gelöscht.

              •  Die Kompression oder Dekompression wird auch dann ausgeführt, wenn die Eingabe ein symbolischer
                 Link zu einer regulären Datei ist, mehr als einen harten Link hat oder das »setuid«-, »setgid«-
                 oder »sticky«-Bit gesetzt ist. Die genannten Bits werden nicht in die Zieldatei kopiert.

              •  Wenn es zusammen mit --decompress und --stdout verwendet wird und xz  den  Typ  der  Quelldatei
                 nicht  ermitteln  kann, wird die Quelldatei unverändert in die Standardausgabe kopiert. Dadurch
                 kann xzcat --force für Dateien, die nicht mit  xz  komprimiert  wurden,  wie  cat(1)  verwendet
                 werden.  Zukünftig  könnte  xz  neue  Dateikompressionsformate  unterstützen,  wodurch  xz mehr
                 Dateitypen dekomprimieren kann, anstatt sie unverändert in die Standardausgabe zu kopieren. Mit
                 der  Option  --format=Format  können  Sie  xz  anweisen,  nur  ein  einzelnes  Dateiformat   zu
                 dekomprimieren.

       -c, --stdout, --to-stdout
              schreibt  die  komprimierten  oder  dekomprimierten  Daten  in die Standardausgabe anstatt in eine
              Datei. Dies impliziert --keep.

       --single-stream
              dekomprimiert nur den ersten .xz-Datenstrom und ignoriert  stillschweigend  weitere  Eingabedaten,
              die  möglicherweise dem Datenstrom folgen. Normalerweise führt solcher anhängender Datenmüll dazu,
              dass xz eine Fehlermeldung ausgibt.

              xz dekomprimiert niemals mehr als einen Datenstrom aus .lzma-Dateien  oder  Rohdatenströmen,  aber
              dennoch wird durch diese Option möglicherweise vorhandener Datenmüll nach der .lzma-Datei oder dem
              Rohdatenstrom ignoriert.

              Diese Option ist wirkungslos, wenn der Aktionsmodus nicht --decompress oder --test ist.

       --no-sparse
              verhindert  die  Erzeugung  von  Sparse-Dateien.  In  der  Voreinstellung  versucht  xz,  bei  der
              Dekompression in eine reguläre Datei eine Sparse-Datei zu erzeugen, wenn die dekomprimierten Daten
              lange Abfolgen von binären  Nullen  enthalten.  Dies  funktioniert  auch  beim  Schreiben  in  die
              Standardausgabe,   sofern   diese  in  eine  reguläre  Datei  weitergeleitet  wird  und  bestimmte
              Zusatzbedingungen erfüllt sind, die die Aktion absichern. Die Erzeugung  von  Sparse-Dateien  kann
              Plattenplatz  sparen  und  beschleunigt die Dekompression durch Verringerung der Ein-/Ausgaben der
              Platte.

       -S .suf, --suffix=.suf
              verwendet .suf bei der Dekompression anstelle von .xz oder .lzma als  Suffix  für  die  Zieldatei.
              Falls  nicht  in  die  Standardausgabe geschrieben wird und die Quelldatei bereits das Suffix .suf
              hat, wird eine Warnung angezeigt und die Datei übersprungen.

              berücksichtigt bei der Dekompression zusätzlich zu Dateien mit den Suffixen .xz, .txz, .lzma  oder
              .tlz auch jene mit dem Suffix .suf. Falls die Quelldatei das Suffix .suf hat, wird dieses entfernt
              und so der Name der Zieldatei abgeleitet.

              Beim  Komprimieren  oder Dekomprimieren von Rohdatenströmen mit --format=raw muss das Suffix stets
              angegeben werden, außer wenn die Ausgabe in die Standardausgabe erfolgt. Der Grund dafür ist, dass
              es kein vorgegebenes Suffix für Rohdatenströme gibt.

       --files[=Datei]
              liest die zu verarbeitenden Dateinamen aus Datei. Falls keine  Datei  angegeben  ist,  werden  die
              Dateinamen  aus  der  Standardeingabe  gelesen.  Dateinamen müssen mit einem Zeilenumbruch beendet
              werden. Ein Bindestrich (-) wird als regulärer Dateiname angesehen und nicht  als  Standardeingabe
              interpretiert.  Falls  Dateinamen außerdem als Befehlszeilenargumente angegeben sind, werden diese
              vor den Dateinamen aus der Datei verarbeitet.

       --files0[=Datei]
              Dies ist gleichbedeutend mit --files[=Datei], außer dass jeder Dateiname  mit  einem  Null-Zeichen
              abgeschlossen werden muss.

   Grundlegende Dateiformat- und Kompressionsoptionen
       -F Format, --format=Format
              gibt das Format der zu komprimierenden oder dekomprimierenden Datei an:

              auto   Dies  ist  die Voreinstellung. Bei der Kompression ist auto gleichbedeutend mit xz. Bei der
                     Dekompression wird das Format der Eingabedatei  automatisch  erkannt.  Beachten  Sie,  dass
                     Rohdatenströme,  wie  sie mit --format=raw erzeugt werden, nicht automatisch erkannt werden
                     können.

              xz     Die Kompression erfolgt in das .xz-Dateiformat oder  akzeptiert  nur  .xz-Dateien  bei  der
                     Dekompression.

              lzma, alone
                     Die   Kompression   erfolgt   in   das  veraltete  .lzma-Dateiformat  oder  akzeptiert  nur
                     .lzma-Dateien   bei   der   Dekompression.   Der   alternative   Name   alone   dient   der
                     Abwärtskompatibilität zu den LZMA-Dienstprogrammen.

              raw    Komprimiert  oder dekomprimiert einen Rohdatenstrom (ohne Header). Diese Option ist nur für
                     fortgeschrittene Benutzer bestimmt. Zum  Dekodieren  von  Rohdatenströmen  müssen  Sie  die
                     Option  --format=raw  verwenden und die Filterkette ausdrücklich angeben, die normalerweise
                     in den (hier fehlenden) Container-Headern gespeichert worden wäre.

       -C Prüfung, --check=Prüfung
              gibt den Typ der Integritätsprüfung an. Die Prüfsumme wird aus den unkomprimierten Daten berechnet
              und in der .xz-Datei gespeichert. Diese Option wird nur bei  der  Kompression  in  das  .xz-Format
              angewendet,   da   das   .lzma-Format  keine  Integritätsprüfungen  unterstützt.  Die  eigentliche
              Integritätsprüfung erfolgt (falls möglich), wenn die .xz-Datei dekomprimiert wird.

              Folgende Typen von Prüfungen werden unterstützt:

              none   führt keine Integritätsprüfung aus. Dies ist eine eher  schlechte  Idee.  Dennoch  kann  es
                     nützlich sein, wenn die Integrität der Daten auf andere Weise sichergestellt werden kann.

              crc32  berechnet die CRC32-Prüfsumme anhand des Polynoms aus IEEE-802.3 (Ethernet).

              crc64  berechnet   die   CRC64-Prüfsumme   anhand   des   Polynoms  aus  ECMA-182.  Dies  ist  die
                     Voreinstellung, da beschädigte Dateien etwas besser als mit CRC32 erkannt  werden  und  die
                     Geschwindigkeitsdifferenz unerheblich ist.

              sha256 berechnet die SHA-256-Prüfsumme. Dies ist etwas langsamer als CRC32 und CRC64.

              Die  Integrität  der .xz-Header wird immer mit CRC32 geprüft. Es ist nicht möglich, dies zu ändern
              oder zu deaktivieren.

       --ignore-check
              verifiziert die Integritätsprüfsumme der komprimierten Daten  bei  der  Dekompression  nicht.  Die
              CRC32-Werte in den .xz-Headern werden weiterhin normal verifiziert.

              Verwenden  Sie diese Option nicht, außer Sie wissen, was Sie tun. Mögliche Gründe, diese Option zu
              verwenden:

              •  Versuchen, Daten aus einer beschädigten .xz-Datei wiederherzustellen.

              •  Erhöhung der  Geschwindigkeit  bei  der  Dekompression.  Dies  macht  sich  meist  mit  SHA-256
                 bemerkbar,  oder  mit  Dateien,  die extrem stark komprimiert sind. Wir empfehlen, diese Option
                 nicht für diesen Zweck zu verwenden, es sei denn, die Integrität  der  Datei  wird  extern  auf
                 andere Weise überprüft.

       -0-9
              wählt   eine   der   voreingestellten   Kompressionsstufen,   standardmäßig   -6.   Wenn   mehrere
              Voreinstellungsstufen angegeben sind, ist nur die zuletzt angegebene wirksam. Falls  bereits  eine
              benutzerdefinierte Filterkette angegeben wurde, wird diese durch die Festlegung der Voreinstellung
              geleert.

              Die  Unterschiede zwischen den Voreinstellungsstufen sind deutlicher als bei gzip(1) und bzip2(1).
              Die gewählten Kompressionseinstellungen bestimmen den Speicherbedarf bei der Dekompression,  daher
              ist  es auf älteren Systemen mit wenig Speicher bei einer zu hoch gewählten Voreinstellung schwer,
              eine Datei zu dekomprimieren. Insbesondere ist es keine gute Idee,  blindlings  -9  für  alles  zu
              verwenden, wie dies häufig mit gzip(1) und bzip2(1) gehandhabt wird.

              -0-3
                     Diese  Voreinstellungen  sind  recht  schnell. -0 ist manchmal schneller als gzip -9, wobei
                     aber die Kompression wesentlich  besser  ist.  Die  schnelleren  Voreinstellungen  sind  im
                     Hinblick  auf  die  Geschwindigkeit  mit  bzip2(1)  vergleichbar , mit einem ähnlichen oder
                     besseren  Kompressionsverhältnis,  wobei  das  Ergebnis  aber  stark   vom   Typ   der   zu
                     komprimierenden Daten abhängig ist.

              -4-6
                     Gute  bis  sehr gute Kompression, wobei der Speicherbedarf für die Dekompression selbst auf
                     alten Systemen akzeptabel ist. -6 ist die Voreinstellung, welche  üblicherweise  eine  gute
                     Wahl ist, zum Beispiel für die Verteilung von Dateien, die selbst noch auf Systemen mit nur
                     16 MiB  Arbeitsspeicher  dekomprimiert  werden  müssen  (-5e  oder  -6e sind ebenfalls eine
                     Überlegung wert. Siehe --extreme).

              -7  -9
                     Ähnlich  wie  -6,  aber  mit  einem  höheren  Speicherbedarf  für   die   Kompression   und
                     Dekompression.  Sie  sind  nur nützlich, wenn Dateien komprimiert werden sollen, die größer
                     als 8 MiB, 16 MiB beziehungsweise 32 MiB sind.

              Auf der gleichen Hardware ist die Dekompressionsgeschwindigkeit  ein  nahezu  konstanter  Wert  in
              Bytes  komprimierter  Daten  pro  Sekunde.  Anders  ausgedrückt:  Je  besser die Kompression, umso
              schneller wird üblicherweise die Dekompression sein. Das bedeutet auch, dass  die  Menge  der  pro
              Sekunde ausgegebenen unkomprimierten Daten stark variieren kann.

              Die folgende Tabelle fasst die Eigenschaften der Voreinstellungen zusammen:

                     Voreinstellung   DictGröße   KompCPU   KompSpeicher   DekSpeicher
                           -0          256 KiB       0          3 MiB         1 MiB
                           -1            1 MiB       1          9 MiB         2 MiB
                           -2            2 MiB       2         17 MiB         3 MiB
                           -3            4 MiB       3         32 MiB         5 MiB
                           -4            4 MiB       4         48 MiB         5 MiB
                           -5            8 MiB       5         94 MiB         9 MiB
                           -6            8 MiB       6         94 MiB         9 MiB
                           -7           16 MiB       6        186 MiB        17 MiB
                           -8           32 MiB       6        370 MiB        33 MiB
                           -9           64 MiB       6        674 MiB        65 MiB

              Spaltenbeschreibungen:

              •  DictGröße  ist die Größe des LZMA2-Wörterbuchs. Es ist Speicherverschwendung, ein Wörterbuch zu
                 verwenden,  das  größer  als  die  unkomprimierte  Datei  ist.  Daher  ist   es   besser,   die
                 Voreinstellungen -7-9 zu vermeiden, falls es keinen wirklichen Bedarf dafür gibt. Mit -6 und
                 weniger wird üblicherweise so wenig Speicher verschwendet, dass dies nicht ins Gewicht fällt.

              •  KompCPU   ist   eine   vereinfachte   Repräsentation   der   LZMA2-Einstellungen,   welche  die
                 Kompressionsgeschwindigkeit beeinflussen. Die Wörterbuchgröße  wirkt  sich  ebenfalls  auf  die
                 Geschwindigkeit  aus.  Während  KompCPU  für  die Stufen -6 bis -9 gleich ist, tendieren höhere
                 Stufen dazu, etwas langsamer zu sein. Um eine  noch  langsamere,  aber  möglicherweise  bessere
                 Kompression zu erhalten, siehe --extreme.

              •  KompSpeicher  enthält  den  Speicherbedarf  des Kompressors im Einzel-Thread-Modus. Dieser kann
                 zwischen  den  xz-Versionen  leicht  variieren.  Der  Speicherbedarf  einiger  der  zukünftigen
                 Multithread-Modi kann dramatisch höher sein als im Einzel-Thread-Modus.

              •  DekSpeicher   enthält  den  Speicherbedarf  für  die  Dekompression.  Das  bedeutet,  dass  die
                 Kompressionseinstellungen den  Speicherbedarf  bei  der  Dekompression  bestimmen.  Der  exakte
                 Speicherbedarf   bei   der   Dekompression   ist   geringfügig   größer   als   die  Größe  des
                 LZMA2-Wörterbuchs, aber die Werte in der Tabelle wurden auf ganze MiB aufgerundet.

       -e, --extreme
              verwendet eine langsamere Variante der gewählten Kompressions-Voreinstellungsstufe (-0-9),  um
              hoffentlich ein etwas besseres Kompressionsverhältnis zu erreichen, das aber in ungünstigen Fällen
              auch  schlechter  werden  kann.  Der  Speicherverbrauch  bei  der  Dekompression  wird dabei nicht
              beeinflusst, aber der Speicherverbrauch der Kompression steigt in der Voreinstellungsstufen -0 bis
              -3 geringfügig an.

              Da es zwei  Voreinstellungen  mit  den  Wörterbuchgrößen  4 MiB  und  8 MiB  gibt,  verwenden  die
              Voreinstellungsstufen  -3e  und  -5e  etwas  schnellere Einstellungen (niedrigere KompCPU) als -4e
              beziehungsweise -6e. Auf diese Weise sind zwei Voreinstellungen nie identisch.

                     Voreinstellung   DictGröße   KompCPU   KompSpeicher   DekSpeicher
                          -0e          256 KiB       8          4 MiB         1 MiB
                          -1e            1 MiB       8         13 MiB         2 MiB
                          -2e            2 MiB       8         25 MiB         3 MiB
                          -3e            4 MiB       7         48 MiB         5 MiB
                          -4e            4 MiB       8         48 MiB         5 MiB
                          -5e            8 MiB       7         94 MiB         9 MiB
                          -6e            8 MiB       8         94 MiB         9 MiB
                          -7e           16 MiB       8        186 MiB        17 MiB
                          -8e           32 MiB       8        370 MiB        33 MiB
                          -9e           64 MiB       8        674 MiB        65 MiB

              Zum Beispiel gibt es insgesamt vier Voreinstellungen, die ein 8 MiB großes  Wörterbuch  verwenden,
              deren Reihenfolge von der schnellsten zur langsamsten -5, -6, -5e und -6e ist.

       --fast
       --best sind   etwas   irreführende   Aliase   für   -0   beziehungsweise   -9.   Sie  werden  nur  zwecks
              Abwärtskompatibilität zu den LZMA-Dienstprogrammen  bereitgestellt.  Sie  sollten  diese  Optionen
              besser nicht verwenden.

       --block-size=Größe
              teilt  beim  Komprimieren  in  das  .xz-Format die Eingabedaten in Blöcke der angegebenen Größe in
              Byte. Die Blöcke werden unabhängig voneinander komprimiert, was dem Multi-Threading entgegen kommt
              und Zufallszugriffe bei der Dekompression begrenzt. Diese Option wird  typischerweise  eingesetzt,
              um  die  vorgegebene Blockgröße im Multi-Thread-Modus außer Kraft zu setzen, aber sie kann auch im
              Einzel-Thread-Modus angewendet werden.

              Im Multi-Thread-Modus wird etwa die dreifache Größe in jedem Thread zur  Pufferung  der  Ein-  und
              Ausgabe  belegt.  Die  vorgegebene  Größe ist das Dreifache der Größe des LZMA2-Wörterbuchs oder 1
              MiB, je nachdem, was  mehr  ist.  Typischerweise  ist  das  Zwei-  bis  Vierfache  der  Größe  des
              LZMA2-Wörterbuchs  oder  wenigstens  1 MB ein guter Wert. Eine Größe, die geringer ist als die des
              LZMA2-Wörterbuchs,  ist  Speicherverschwendung,  weil  dann  der  LZMA2-Wörterbuchpuffer   niemals
              vollständig  genutzt werden würde. Die Größe der Blöcke wird in den Block-Headern gespeichert, die
              von einer zukünftigen Version von xz für eine Multi-Thread-Dekompression genutzt wird.

              Im Einzel-Thread-Modus werden die Blöcke standardmäßig nicht geteilt.  Das  Setzen  dieser  Option
              wirkt sich nicht auf den Speicherbedarf aus. In den Block-Headern werden keine Größeninformationen
              gespeichert,   daher   werden   im   Einzel-Thread-Modus   erzeugte   Dateien   nicht  zu  den  im
              Multi-Thread-Modus erzeugten Dateien identisch sein.  Das  Fehlen  der  Größeninformation  bedingt
              auch,  dass  eine  zukünftige  Version  von  xz  nicht  in  der  Lage  sein  wird,  die Dateien im
              Multi-Thread-Modus zu dekomprimieren.

       --block-list=Größen
              beginnt bei der Kompression in das .xz-Format nach  den  angegebenen  Intervallen  unkomprimierter
              Daten einen neuen Block.

              Die  unkomprimierte  Größe  der  Blöcke  wird  in  einer durch Kommata getrennten Liste angegeben.
              Auslassen einer Größe (zwei oder mehr aufeinander folgende Kommata)  ist  ein  Kürzel  dafür,  die
              Größe des vorherigen Blocks zu verwenden.

              Falls  die  Eingabedatei  größer  ist  als  die  Summe  der  Größen, dann wird der letzte in Größe
              angegebene Wert bis zum Ende der Datei wiederholt. Mit dem speziellen Wert 0 können  Sie  angeben,
              dass der Rest der Datei als einzelner Block kodiert werden soll.

              Falls Sie Größen angeben, welche die Blockgröße des Encoders übersteigen (entweder den Vorgabewert
              im  Thread-Modus  oder  den mit --block-size=Größe angegebenen Wert), wird der Encoder zusätzliche
              Blöcke erzeugen, wobei die in den Größen angegebenen Grenzen  eingehalten  werden.  Wenn  Sie  zum
              Beispiel  --block-size=10MiB --block-list=5MiB,10MiB,8MiB,12MiB,24MiB angeben und die Eingabedatei
              80 MiB groß ist, erhalten Sie 11 Blöcke: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10 und 1 MiB.

              Im Multi-Thread-Modus werden die Blockgrößen in den Block-Headern gespeichert. Dies  geschieht  im
              Einzel-Thread-Modus  nicht,  daher  wird  die  kodierte Ausgabe zu der im Multi-Thread-Modus nicht
              identisch sein.

       --flush-timeout=Zeit
              löscht  bei  der  Kompression  die  ausstehenden  Daten  aus  dem  Encoder  und   macht   sie   im
              Ausgabedatenstrom  verfügbar,  wenn  mehr  als  die angegebene Zeit in Millisekunden (als positive
              Ganzzahl) seit dem vorherigen Löschen vergangen ist und das  Lesen  weiterer  Eingaben  blockieren
              würde.  Dies  kann nützlich sein, wenn xz zum Komprimieren von über das Netzwerk eingehenden Daten
              verwendet wird. Kleine Zeit-Werte machen die Daten unmittelbar nach dem Empfang nach einer  kurzen
              Verzögerung verfügbar, während große Zeit-Werte ein besseres Kompressionsverhältnis bewirken.

              Dieses  Funktionsmerkmal ist standardmäßig deaktiviert. Wenn diese Option mehrfach angegeben wird,
              ist die zuletzt angegebene wirksam. Für die Angabe der Zeit kann der spezielle  Wert  0  verwendet
              werden, um dieses Funktionsmerkmal explizit zu deaktivieren.

              Dieses Funktionsmerkmal ist außerhalb von POSIX-Systemen nicht verfügbar.

              Dieses Funktionsmerkmal ist noch experimentell. Gegenwärtig ist xz aufgrund der Art und Weise, wie
              xz puffert, für Dekompression in Echtzeit ungeeignet.

       --memlimit-compress=Grenze
              legt  eine  Grenze  für  die  Speichernutzung bei der Kompression fest. Wenn diese Option mehrmals
              angegeben wird, ist die zuletzt angegebene wirksam.

              Falls die Kompressionseinstellungen die Grenze überschreiten,  passt  xz  die  Einstellungen  nach
              unten  an,  so dass die Grenze nicht mehr überschritten wird und zeigt einen Hinweis an, dass eine
              automatische Anpassung vorgenommen wurde. Solche Anpassungen erfolgen nicht, wenn mit --format=raw
              komprimiert wird oder wenn --no-adjust angegeben wurde. In diesen Fällen wird  eine  Fehlermeldung
              mit dem Exit-Status 1 ausgegeben und xz mit dem Exit-Status 1 beendet.

              Die Grenze kann auf verschiedene Arten angegeben werden:

              •  Die  Grenze kann ein absoluter Wert in Byte sein. Ein Suffix wie MiB kann dabei hilfreich sein.
                 Beispiel: --memlimit-compress=80MiB.

              •  Die Grenze kann als Prozentsatz des physischen Gesamtspeichers (RAM) angegeben werden. Dies ist
                 insbesondere nützlich, wenn in einem Shell-Initialisierungsskript, das mehrere unterschiedliche
                 Rechner gemeinsam verwenden, die Umgebungsvariable XZ_DEFAULTS gesetzt ist. Auf diese Weise ist
                 die Grenze auf Systemen mit mehr Speicher höher. Beispiel: --memlimit-compress=70%

              •  Mit 0 kann  die  Grenze  auf  den  Standardwert  zurückgesetzt  werden.  Dies  ist  gegenwärtig
                 gleichbedeutend  mit  dem  Setzen  der  Grenze  auf  max (keine Speicherbegrenzung). Sobald die
                 Unterstützung für Multi-Threading implementiert  wurde,  kann  es  im  Multi-Thread-Fall  einen
                 Unterschied  zwischen  0  und max geben, daher wird empfohlen, 0 anstelle von max zu verwenden,
                 bis die Einzelheiten hierzu geklärt sind.

              Siehe auch den Abschnitt Speicherbedarf.

       --memlimit-decompress=Grenze
              legt eine Begrenzung des Speicherverbrauchs für die Dekompression fest. Dies beeinflusst auch  den
              Modus  --list.  Falls  die  Aktion nicht ausführbar ist, ohne die Grenze zu überschreiten, gibt xz
              eine Fehlermeldung aus und die Dekompression wird fehlschlagen.  Siehe  --memlimit-compress=Grenze
              zu möglichen Wegen, die Grenze anzugeben.

       -M Grenze, --memlimit=Grenze, --memory=Grenze
              Dies ist gleichbedeutend mit --memlimit-compress=Grenze --memlimit-decompress=Grenze.

       --no-adjust
              zeigt  einen  Fehler  an  und  bricht  die  Ausführung ab, falls die Kompressionseinstellungen die
              Begrenzung der Speichernutzung überschreiten. Standardmäßig werden die  Einstellungen  nach  unten
              korrigiert,  so  dass diese Grenze nicht überschritten wird. Bei der Erzeugung von Rohdatenströmen
              (--format=raw) ist die automatische Korrektur stets deaktiviert.

       -T Threads, --threads=Threads
              gibt die Anzahl der zu verwendenden Arbeits-Threads an. Wenn Sie Threads auf einen speziellen Wert
              0 setzen, verwendet xz so  viele  Threads,  wie  Prozessorkerne  im  System  verfügbar  sind.  Die
              tatsächliche  Anzahl  kann  geringer sein als die angegebenen Threads, wenn die Eingabedatei nicht
              groß genug für  Threading  mit  den  gegebenen  Einstellungen  ist  oder  wenn  mehr  Threads  die
              Speicherbegrenzung übersteigen würden.

              Die  gegenwärtig  einzige  Threading-Methode  teilt  die  Eingabe  in Blöcke und komprimiert diese
              unabhängig voneinander. Die vorgegebene Blockgröße ist von der Kompressionsstufe abhängig und kann
              mit der Option --block-size=Größe außer Kraft gesetzt werden.

              Eine thread-basierte Dekompression wurde bislang  noch  nicht  implementiert.  Sie  wird  nur  bei
              Dateien funktionieren, die mehrere Blöcke mit Größeninformationen in deren Headern enthalten. Alle
              im  Multi-Thread-Modus  komprimierten  Dateien  erfüllen  diese  Bedingung, im Einzel-Thread-Modus
              komprimierte Dateien dagegen nicht, selbst wenn --block-size=Größe verwendet wird.

   Benutzerdefinierte Filterketten für die Kompression
       Eine  benutzerdefinierte  Filterkette  ermöglicht  die  Angabe  detaillierter  Kompressionseinstellungen,
       anstatt  von  den  Voreinstellungen  auszugehen. Wenn eine benutzerdefinierte Filterkette angegeben wird,
       werden die vorher in der Befehlszeile angegebenen Voreinstellungsoptionen (-0-9 und  --extreme)  außer
       Kraft   gesetzt.   Wenn   eine   Voreinstellungsoption   nach  einer  oder  mehreren  benutzerdefinierten
       Filterkettenoptionen angegeben wird, dann wird die neue Voreinstellung wirksam und die zuvor  angegebenen
       Filterkettenoptionen werden außer Kraft gesetzt.

       Eine  Filterkette  ist  mit  dem  Piping  (der  Weiterleitung)  in der Befehlszeile vergleichbar. Bei der
       Kompression gelangt die unkomprimierte Eingabe in den ersten  Filter,  dessen  Ausgabe  wiederum  in  den
       zweiten  Filter geleitet wird (sofern ein solcher vorhanden ist). Die Ausgabe des letzten Filters wird in
       die komprimierte Datei geschrieben.  In  einer  Filterkette  sind  maximal  vier  Filter  zulässig,  aber
       typischerweise besteht eine Filterkette nur aus einem oder zwei Filtern.

       Bei  vielen  Filtern  ist die Positionierung in der Filterkette eingeschränkt: Einige Filter sind nur als
       letzte in der Kette verwendbar, einige  können  nicht  als  letzte  Filter  gesetzt  werden,  und  andere
       funktionieren  an  beliebiger  Stelle.  Abhängig  von  dem Filter ist diese Beschränkung entweder auf das
       Design des Filters selbst zurückzuführen oder ist aus Sicherheitsgründen vorhanden.

       Eine benutzerdefinierte Filterkette wird durch  eine  oder  mehrere  Filteroptionen  in  der  Reihenfolge
       angegeben,  in  der  sie  in  der  Filterkette  wirksam  werden  sollen.  Daher  ist  die Reihenfolge der
       Filteroptionen von signifikanter Bedeutung! Beim Dekodieren von Rohdatenströmen (--format=raw)  wird  die
       Filterkette in der gleichen Reihenfolge angegeben wie bei der Kompression.

       Filter  akzeptieren  filterspezifische  Optionen  in  einer  durch  Kommata getrennten Liste. Zusätzliche
       Kommata in den Optionen werden ignoriert. Jede Option hat einen Standardwert, daher brauchen Sie nur jene
       anzugeben, die Sie ändern wollen.

       Um die gesamte Filterkette und die Optionen anzuzeigen, rufen Sie xz -vv auf (was gleichbedeutend mit der
       zweimaligen Angabe von --verbose ist). Dies funktioniert auch zum Betrachten der von den Voreinstellungen
       verwendeten Filterkettenoptionen.

       --lzma1[=Optionen]
       --lzma2[=Optionen]
              fügt LZMA1- oder LZMA2-Filter zur Filterkette hinzu. Diese Filter können nur als letzte Filter  in
              der Kette verwendet werden.

              LZMA1  ist  ein veralteter Filter, welcher nur wegen des veralteten .lzma-Dateiformats unterstützt
              wird, welches nur LZMA1 unterstützt. LZMA2 ist eine aktualisierte Version von LZMA1, welche einige
              praktische Probleme von LZMA1 behebt. Das .xz-Format verwendet LZMA2  und  unterstützt  LZMA1  gar
              nicht. Kompressionsgeschwindigkeit und -verhältnis sind bei LZMA1 und LZMA2 praktisch gleich.

              LZMA1 und LZMA2 haben die gleichen Optionen:

              preset=Voreinstellung
                     setzt  alle  LZMA1- oder LZMA2-Optionen auf die Voreinstellung zurück. Diese Voreinstellung
                     wird in Form einer Ganzzahl angegeben, der ein aus einem einzelnen  Buchstaben  bestehender
                     Voreinstellungsmodifikator  folgen  kann.  Die Ganzzahl kann 0 bis 9 sein, entsprechend den
                     Befehlszeilenoptionen -0-9. Gegenwärtig ist e der einzige unterstützte Modifikator,  was
                     --extreme entspricht. Wenn keine Voreinstellung angegeben ist, werden die Standardwerte der
                     LZMA1- oder LZMA2-Optionen der Voreinstellung 6 entnommen.

              dict=Größe
                     Die   Größe   des  Wörterbuchs  (Chronikpuffers)  gibt  an,  wie  viel  Byte  der  kürzlich
                     verarbeiteten unkomprimierten Daten im Speicher behalten  werden  sollen.  Der  Algorithmus
                     versucht, sich wiederholende Byte-Abfolgen (Übereinstimmungen) in den unkomprimierten Daten
                     zu  finden  und  diese  durch  Referenzen zu den Daten zu ersetzen, die sich gegenwärtig im
                     Wörterbuch  befinden.  Je  größer  das  Wörterbuch,  umso  größer  ist  die  Chance,   eine
                     Übereinstimmung   zu  finden.  Daher  bewirkt  eine  Erhöhung  der  Größe  des  Wörterbuchs
                     üblicherweise ein besseres Kompressionsverhältnis, aber ein Wörterbuch, das größer ist  als
                     die unkomprimierte Datei, wäre Speicherverschwendung.

                     Typische  Wörterbuch-Größen liegen im Bereich von 64 KiB bis 64 MiB. Das Minimum ist 4 KiB.
                     Das Maximum für die Kompression ist gegenwärtig 1.5 GiB (1536 MiB). Bei  der  Dekompression
                     wird bereits eine Wörterbuchgröße bis zu 4 GiB minus 1 Byte unterstützt, welche das Maximum
                     für die LZMA1- und LZMA2-Datenstromformate ist.

                     Die  Größe  des  Wörterbuchs  und  der  Übereinstimmungsfinder  (Üf) bestimmen zusammen den
                     Speicherverbrauch des LZMA1- oder LZMA2-Kodierers. Bei der Dekompression ist ein Wörterbuch
                     der gleichen Größe (oder ein noch größeres) wie bei  der  Kompression  erforderlich,  daher
                     wird der Speicherverbrauch des Dekoders durch die Größe des bei der Kompression verwendeten
                     Wörterbuchs  bestimmt.  Die .xz-Header speichern die Größe des Wörterbuchs entweder als 2^n
                     oder 2^n + 2^(n-1), so dass diese Größen für die Kompression etwas bevorzugt werden. Andere
                     Größen werden beim Speichern in den .xz-Headern aufgerundet.

              lc=lc  gibt die Anzahl der literalen Kontextbits an. Das Minimum ist 0  und  das  Maximum  4;  der
                     Standardwert ist 3. Außerdem darf die Summe von lc und lp nicht größer als 4 sein.

                     Alle  Bytes,  die  nicht  als  Übereinstimmungen kodiert werden können, werden als Literale
                     kodiert. Solche Literale sind einfache 8-bit-Bytes, die jeweils für sich kodiert werden.

                     Bei  der  Literalkodierung  wird  angenommen,  dass  die   höchsten   lc-Bits   des   zuvor
                     unkomprimierten  Bytes  mit  dem  nächsten  Byte in Beziehung stehen. Zum Beispiel folgt in
                     typischen englischsprachigen Texten auf einen Großbuchstaben  ein  Kleinbuchstabe  und  auf
                     einen Kleinbuchstaben üblicherweise wieder ein Kleinbuchstabe. Im US-ASCII-Zeichensatz sind
                     die  höchsten  drei  Bits  010  für  Großbuchstaben  und  011  für Kleinbuchstaben. Wenn lc
                     mindestens 3 ist, kann die literale Kodierung diese Eigenschaft der  unkomprimierten  Daten
                     ausnutzen.

                     Der  Vorgabewert  (3)  ist  üblicherweise  gut. Wenn Sie die maximale Kompression erreichen
                     wollen, versuchen Sie lc=4. Manchmal hilft es ein wenig, doch  manchmal  verschlechtert  es
                     die Kompression. Im letzteren Fall versuchen Sie zum Beispiel auch lc=2.

              lp=lp  gibt  die  Anzahl  der literalen Positionsbits an. Das Minimum ist 0 und das Maximum 4; die
                     Vorgabe ist 0.

                     Lp beeinflusst, welche Art der Ausrichtung der  unkomprimierten  Daten  beim  Kodieren  von
                     Literalen angenommen wird. Siehe pb weiter unten für weitere Informationen zur Ausrichtung.

              pb=Anzahl
                     legt  die Anzahl der Positions-Bits fest. Das Minimum ist 0 und das Maximum 4; Standard ist
                     2.

                     Pb beeinflusst, welche Art der Ausrichtung der unkomprimierten  Daten  generell  angenommen
                     wird.  Standardmäßig  wird eine Vier-Byte-Ausrichtung angenommen (2^pb=2^2=4), was oft eine
                     gute Wahl ist, wenn es keine bessere Schätzung gibt.

                     Wenn die Ausrichtung bekannt ist, kann das entsprechende Setzen von pb die  Dateigröße  ein
                     wenig  verringern. Wenn Textdateien zum Beispiel eine Ein-Byte-Ausrichtung haben (US-ASCII,
                     ISO-8859-*, UTF-8), kann  das  Setzen  von  pb=0  die  Kompression  etwas  verbessern.  Für
                     UTF-16-Text  ist  pb=1  eine  gute  Wahl.  Wenn  die  Ausrichtung  eine  ungerade  Zahl wie
                     beispielsweise 3 Byte ist, könnte pb=0 die beste Wahl sein.

                     Obwohl die angenommene Ausrichtung mit pb und lp angepasst werden  kann,  bevorzugen  LZMA1
                     und  LZMA2  noch  etwas die 16-Byte-Ausrichtung. Das sollten Sie vielleicht beim Design von
                     Dateiformaten berücksichtigen, die wahrscheinlich oft  mit  LZMA1  oder  LZMA2  komprimiert
                     werden.

              mf=Üf  Der Übereinstimmungsfinder hat einen großen Einfluss auf die Geschwindigkeit des Kodierers,
                     den  Speicherbedarf  und  das  Kompressionsverhältnis.  Üblicherweise  sind auf Hash-Ketten
                     basierende Übereinstimmungsfinder schneller als jene, die  mit  Binärbäumen  arbeiten.  Die
                     Vorgabe  hängt  von der Voreinstellungsstufe ab: 0 verwendet hc3, 1-3 verwenden hc4 und der
                     Rest verwendet bt4.

                     Die folgenden Übereinstimmungsfinder werden unterstützt. Die  Formeln  zur  Ermittlung  des
                     Speicherverbrauchs  sind  grobe  Schätzungen,  die  der  Realität  am nächsten kommen, wenn
                     Wörterbuch eine Zweierpotenz ist.

                     hc3    Hash-Kette mit 2- und 3-Byte-Hashing
                            Minimalwert für nice: 3
                            Speicherbedarf:
                            dict * 7,5 (falls dict <= 16 MiB);
                            dict * 5,5 + 64 MiB (falls dict > 16 MiB)

                     hc4    Hash-Kette mit 2-, 3- und 4-Byte-Hashing
                            Minimaler Wert für nice: 4
                            Speicherbedarf:
                            dict * 7,5 (falls dict <= 32 MiB ist);
                            dict * 6,5 (falls dict > 32 MiB ist)

                     bt2    Binärbaum mit 2-Byte-Hashing
                            Minimaler Wert für nice: 2
                            Speicherverbrauch: dict * 9.5

                     bt3    Binärbaum mit 2- und 3-Byte-Hashing
                            Minimalwert für nice: 3
                            Speicherbedarf:
                            dict * 11,5 (falls dict <= 16 MiB ist);
                            dict * 9,5 + 64 MiB (falls dict > 16 MiB ist)

                     bt4    Binärbaum mit 2-, 3- und 4-Byte-Hashing
                            Minimaler Wert für nice: 4
                            Speicherbedarf:
                            dict * 11,5 (falls dict <= 32 MiB ist);
                            dict * 10,5 (falls dict > 32 MiB ist)

              mode=Modus
                     gibt die Methode zum Analysieren der vom Übereinstimmungsfinder gelieferten Daten  an.  Als
                     Modi werden fast und normal unterstützt. Die Vorgabe ist fast für die Voreinstellungsstufen
                     0-3 und normal für die Voreinstellungsstufen 4-9.

                     Üblicherweise  wird  fast  mit  Hashketten-basierten Übereinstimmungsfindern und normal mit
                     Binärbaum-basierten   Übereinstimmungsfindern   verwendet.   So   machen   es   auch    die
                     Voreinstellungsstufen.

              nice=nice
                     gibt an, was als annehmbarer Wert für eine Übereinstimmung angesehen werden kann. Wenn eine
                     Übereinstimmung  gefunden  wird, die mindestens diesen nice-Wert hat, sucht der Algorithmus
                     nicht weiter nach besseren Übereinstimmungen.

                     Der  nice-Wert  kann  2-273  Byte  sein.  Höhere  Werte   tendieren   zu   einem   besseren
                     Kompressionsverhältnis,  aber  auf  Kosten  der  Geschwindigkeit. Die Vorgabe hängt von der
                     Voreinstellungsstufe ab.

              depth=Tiefe
                     legt die maximale Suchtiefe im Übereinstimmungsfinder fest. Vorgegeben  ist  der  spezielle
                     Wert  0,  der  den  Kompressor  veranlasst,  einen  annehmbaren  Wert  für Tiefe aus Üf und
                     nice-Wert zu bestimmen.

                     Die angemessene Tiefe für Hash-Ketten ist 4-100 und 16-1000 für Binärbäume. Hohe Werte  für
                     die  Tiefe  können  den Kodierer bei einigen Dateien extrem verlangsamen. Vermeiden Sie es,
                     die Tiefe über einen Wert von 100  zu  setzen,  oder  stellen  Sie  sich  darauf  ein,  die
                     Kompression abzubrechen, wenn sie zu lange dauert.

              Beim  Dekodieren von Rohdatenströmen (--format=raw) benötigt LZMA2 nur die Wörterbuch-Größe. LZMA1
              benötigt außerdem lc, lp und pb.

       --x86[=Optionen]
       --powerpc[=Optionen]
       --ia64[=Optionen]
       --arm[=Optionen]
       --armthumb[=Optionen]
       --sparc[=Optionen]
              fügt ein »Branch/Call/Jump«-(BCJ-)Filter zur Filterkette hinzu.  Diese  Filter  können  nicht  als
              letzter Filter in der Filterkette verwendet werden.

              Ein  BCJ-Filter  wandelt  relative Adressen im Maschinencode in deren absolute Gegenstücke um. Die
              Datengröße wird dadurch nicht geändert, aber die Redundanz erhöht, was LZMA2  dabei  helfen  kann,
              eine  um  10  bis 15% kleinere .xz-Datei zu erstellen. Die BCJ-Filter sind immer reversibel, daher
              verursacht die Anwendung eines BCJ-Filters auf den falschen Datentyp  keinen  Datenverlust,  wobei
              aber das Kompressionsverhältnis etwas schlechter werden könnte.

              Es  ist  in  Ordnung, einen BCJ-Filter auf eine gesamte Binärdatei anzuwenden; es ist nicht nötig,
              dies nur auf den binären Bereich zu beschränken. Die Anwendung eines BCJ-Filters auf  ein  Archiv,
              das  sowohl  binäre  als  auch nicht-binäre Dateien enthält, kann gute Ergebnisse liefern, muss es
              aber nicht. Daher ist es generell nicht gut, einen  BCJ-Filter  blindlings  anzuwenden,  wenn  Sie
              Binärpakete zwecks Weitergabe komprimieren wollen.

              Diese  BCJ-Filter  sind  sehr  schnell  und  erhöhen  den Speicherbedarf nur unerheblich. Wenn ein
              BCJ-Filter das Kompressionsverhältnis einer  Datei  verbessert,  kann  er  auch  gleichzeitig  die
              Dekompressionsgeschwindigkeit  verbessern.  Das  kommt  daher,  dass auf der gleichen Hardware die
              Dekompressionsgeschwindigkeit von LZMA2 ungefähr eine feste Anzahl Byte an komprimierten Daten pro
              Sekunde ist.

              Diese BCJ-Filter haben bekannte Probleme mit dem Kompressionsverhältnis:

              •  In einigen Dateitypen, die ausführbaren Code enthalten (zum Beispiel  Objektdateien,  statische
                 Bibliotheken  und  Linux-Kernelmodule),  sind  die  Adressen  in den Anweisungen mit Füllwerten
                 gefüllt. Diese BCJ-Filter führen dennoch die Adressumwandlung aus, wodurch die Kompression  bei
                 diesen Dateien schlechter wird.

              •  Bei  der Anwendung eines BCJ-Filters auf ein Archiv, das mehrere ähnliche Binärdateien enthält,
                 kann das Kompressionsverhältnis schlechter sein als ohne BCJ-Filter. Das kommt daher, weil  der
                 BCJ-Filter  die  Grenzen der Binärdateien nicht erkennt und den Zähler der Adressumwandlung für
                 jede Binärdatei nicht zurücksetzt.

              Beide der oben genannten Probleme  werden  in  der  Zukunft  in  einem  neuen  Filter  nicht  mehr
              auftreten.  Die  alten  BCJ-Filter werden noch in eingebetteten Systemen von Nutzen sein, weil der
              Dekoder des neuen Filters größer sein und mehr Speicher beanspruchen wird.

              Verschiedene Befehlssätze haben unterschiedliche Ausrichtungen:

                     Filter      Ausrichtung   Hinweise
                     x86              1        32-Bit oder 64-Bit x86
                     PowerPC          4        Nur Big Endian
                     ARM              4        Nur Little Endian
                     ARM-Thumb        2        Nur Little Endian
                     IA-64           16        Big oder Little Endian
                     SPARC            4        Big oder Little Endian

              Da  die   BCJ-gefilterten   Daten   üblicherweise   mit   LZMA2   komprimiert   sind,   kann   das
              Kompressionsverhältnis dadurch etwas verbessert werden, dass die LZMA2-Optionen so gesetzt werden,
              dass  sie  der  Ausrichtung  des  gewählten  BCJ-Filters  entsprechen.  Zum  Beispiel  ist es beim
              IA-64-Filter eine gute Wahl, pb=4 mit LZMA2 zu setzen (2^4=16). Der x86-Filter bildet  dabei  eine
              Ausnahme;  Sie  sollten  bei  der  für LZMA2 voreingestellten 4-Byte-Ausrichtung bleiben, wenn Sie
              x86-Binärdateien komprimieren.

              Alle BCJ-Filter unterstützen die gleichen Optionen:

              start=Versatz
                     gibt den Start-Versatz an, der bei der Umwandlung zwischen relativen und absoluten Adressen
                     verwendet wird. Der Versatz muss ein  Vielfaches  der  Filterausrichtung  sein  (siehe  die
                     Tabelle  oben).  Der  Standardwert  ist  0.  In der Praxis ist dieser Standardwert gut; die
                     Angabe eines benutzerdefinierten Versatzes ist fast immer unnütz.

       --delta[=Optionen]
              fügt den Delta-Filter zur Filterkette hinzu. Der Delta-Filter kann nicht als letzter Filter in der
              Filterkette verwendet werden.

              Gegenwärtig wird nur eine einfache, Byte-bezogene Delta-Berechnung unterstützt. Beim  Komprimieren
              von zum Beispiel unkomprimierten Bitmap-Bildern oder unkomprimierten PCM-Audiodaten kann es jedoch
              sinnvoll  sein.  Dennoch  können  für  spezielle  Zwecke  entworfene  Algorithmen deutlich bessere
              Ergebnisse als Delta und LZMA2 liefern. Dies trifft insbesondere auf Audiodaten zu, die  sich  zum
              Beispiel mit flac(1) schneller und besser komprimieren lassen.

              Unterstützte Optionen:

              dist=Abstand
                     gibt  den  Abstand  der Delta-Berechnung in Byte an. Zulässige Werte für den Abstand sind 1
                     bis 256. Der Vorgabewert ist 1.

                     Zum Beispiel wird mit dist=2 und der 8-Byte-Eingabe A1 B1 A2 B3 A3 B5 A4 B7 die Ausgabe  A1
                     B1 01 02 01 02 01 02 sein.

   Andere Optionen
       -q, --quiet
              unterdrückt  Warnungen  und  Hinweise.  Geben  Sie  dies  zweimal  an,  um auch Fehlermeldungen zu
              unterdrücken. Diese Option wirkt sich nicht auf den Exit-Status aus. Das bedeutet, das selbst  bei
              einer unterdrückten Warnung der Exit-Status zur Anzeige einer Warnung dennoch verwendet wird.

       -v, --verbose
              bewirkt  ausführliche  Ausgaben.  Wenn die Standardfehlerausgabe mit einem Terminal verbunden ist,
              zeigt xz den Fortschritt  an.  Durch  zweimalige  Angabe  von  --verbose  wird  die  Ausgabe  noch
              ausführlicher.

              Der Fortschrittsanzeiger stellt die folgenden Informationen dar:

              •  Der  Prozentsatz  des Fortschritts wird angezeigt, wenn die Größe der Eingabedatei bekannt ist.
                 Das bedeutet, dass der Prozentsatz in Weiterleitungen (Pipes) nicht angezeigt werden kann.

              •  Menge der erzeugten komprimierten Daten (bei der Kompression) oder der verarbeiteten Daten (bei
                 der Dekompression).

              •  Menge der verarbeiteten unkomprimierten Daten (bei der Kompression) oder  der  erzeugten  Daten
                 (bei der Dekompression).

              •  Kompressionsverhältnis,  das  mittels Dividieren der Menge der bisher komprimierten Daten durch
                 die Menge der bisher verarbeiteten unkomprimierten Daten ermittelt wird.

              •  Kompressions-  oder  Dekompressionsgeschwindigkeit.   Diese   wird   anhand   der   Menge   der
                 unkomprimierten  verarbeiteten  Daten  (bei der Kompression) oder der Menge der erzeugten Daten
                 (bei der Dekompression) pro Sekunde gemessen. Die Anzeige startet einige  Sekunden  nachdem  xz
                 mit der Verarbeitung der Datei begonnen hat.

              •  Die vergangene Zeit im Format M:SS oder H:MM:SS.

              •  Die  geschätzte  verbleibende  Zeit wird nur angezeigt, wenn die Größe der Eingabedatei bekannt
                 ist und bereits einige Sekunden vergangen sind, nachdem  xz  mit  der  Verarbeitung  der  Datei
                 begonnen  hat.  Die Zeit wird in einem weniger präzisen Format ohne Doppelpunkte angezeigt, zum
                 Beispiel 2 min 30 s.

              Wenn die Standardfehlerausgabe kein Terminal ist, schreibt xz mit --verbose nach dem  Komprimieren
              oder Dekomprimieren der Datei in einer einzelnen Zeile den Dateinamen, die komprimierte Größe, die
              unkomprimierte  Größe,  das  Kompressionsverhältnis und eventuell auch die Geschwindigkeit und die
              vergangene Zeit in die Standardfehlerausgabe. Die Geschwindigkeit und die vergangene  Zeit  werden
              nur angezeigt, wenn der Vorgang mindestens ein paar Sekunden gedauert hat. Wurde der Vorgang nicht
              beendet,  zum  Beispiel  weil  ihn der Benutzer abgebrochen hat, wird außerdem der Prozentsatz des
              erreichten Verarbeitungsfortschritts aufgenommen, sofern die Größe der Eingabedatei bekannt ist.

       -Q, --no-warn
              setzt den Exit-Status nicht auf 2, selbst wenn  eine  Bedingung  erfüllt  ist,  die  eine  Warnung
              gerechtfertigt  hätte.  Diese  Option  wirkt  sich  nicht auf die Ausführlichkeitsstufe aus, daher
              müssen sowohl  --quiet  als  auch  --no-warn  angegeben  werden,  um  einerseits  keine  Warnungen
              anzuzeigen und andererseits auch den Exit-Status nicht zu ändern.

       --robot
              gibt  Meldungen  in  einem  maschinenlesbaren Format aus. Dadurch soll das Schreiben von Frontends
              erleichtert werden, die xz anstelle von Liblzma verwenden wollen, was  in  verschiedenen  Skripten
              der   Fall   sein   kann.   Die   Ausgabe  mit  dieser  aktivierten  Option  sollte  über  mehrere
              xz-Veröffentlichungen stabil sein. Details hierzu finden Sie im Abschnitt ROBOTER-MODUS.

       --info-memory
              zeigt in einem menschenlesbaren Format an, wieviel  physischen  Speicher  (RAM)  das  System  nach
              Annahme  von  xz  hat,  sowie die Speicherbedarfsbegrenzung für Kompression und Dekompression, und
              beendet das Programm erfolgreich.

       -h, --help
              zeigt eine Hilfemeldung mit den am häufigsten genutzten  Optionen  an  und  beendet  das  Programm
              erfolgreich.

       -H, --long-help
              zeigt  eine Hilfemeldung an, die alle Funktionsmerkmale von xz beschreibt und beendet das Programm
              erfolgreich.

       -V, --version
              zeigt die Versionsnummer von  xz  und  Liblzma  in  einem  menschenlesbaren  Format  an.  Um  eine
              maschinell auswertbare Ausgabe zu erhalten, geben Sie --robot vor --version an.

ROBOTER-MODUS

       Der Roboter-Modus wird mit der Option --robot aktiviert. Er bewirkt, dass die Ausgabe von xz leichter von
       anderen  Programmen  ausgewertet  werden  kann.  Gegenwärtig  wird  --robot  nur  zusammen mit --version,
       --info-memory und --list unterstützt.  In  der  Zukunft  wird  dieser  Modus  auch  für  Kompression  und
       Dekompression unterstützt.

   Version
       xz --robot --version gibt die Versionsnummern von xz und Liblzma im folgenden Format aus:

       XZ_VERSION=XYYYZZZS
       LIBLZMA_VERSION=XYYYZZZS

       X      Hauptversion.

       YYY    Unterversion.  Gerade  Zahlen  bezeichnen  eine stabile Version. Ungerade Zahlen bezeichnen Alpha-
              oder Betaversionen.

       ZZZ    Patch-Stufe für stabile Veröffentlichungen oder einfach nur ein Zähler für Entwicklungsversionen.

       S      Stabilität. 0 ist Alpha, 1 ist Beta und 2 ist stabil. S sollte immer 2 sein, wenn YYY eine  gerade
              Zahl ist.

       XYYYZZZS  sind  in  beiden  Zeilen  gleich,  sofern  xz und Liblzma aus der gleichen Veröffentlichung der
       XZ-Utils stammen.

       Beispiele: 4.999.9beta ist 49990091 und 5.0.0 is 50000002.

   Informationen zur Speicherbedarfsbegrenzung
       xz --robot --info-memory gibt eine einzelne Zeile mit drei durch Tabulatoren getrennten Spalten aus:

       1.  Gesamter physischer Speicher (RAM) in Byte

       2.  Speicherbedarfsbegrenzung für die Kompression in Byte. Ein spezieller Wert von  Null  bezeichnet  die
           Standardeinstellung, die im Einzelthread-Modus bedeutet, dass keine Begrenzung vorhanden ist.

       3.  Speicherbedarfsbegrenzung  für die Dekompression in Byte. Ein spezieller Wert von Null bezeichnet die
           Standardeinstellung, die im Einzelthread-Modus bedeutet, dass keine Begrenzung vorhanden ist.

       In der Zukunft könnte die Ausgabe von xz --robot --info-memory weitere Spalten  enthalten,  aber  niemals
       mehr als eine einzelne Zeile.

   Listenmodus
       xz  --robot  --list  verwendet eine durch Tabulatoren getrennte Ausgabe. In der ersten Spalte jeder Zeile
       bezeichnet eine Zeichenkette den Typ der Information, die in dieser Zeile enthalten ist:

       name   Dies ist stets die erste Zeile, wenn eine Datei aufgelistet wird. Die zweite Spalte in  der  Zeile
              enthält den Dateinamen.

       file   Diese  Zeile  enthält  allgemeine  Informationen  zur  .xz-Datei.  Diese Zeile wird stets nach der
              name-Zeile ausgegeben.

       stream Dieser Zeilentyp wird nur verwendet, wenn --verbose  angegeben  wurde.  Es  gibt  genau  so  viele
              stream-Zeilen, wie Datenströme in der .xz-Datei enthalten sind.

       block  Dieser   Zeilentyp  wird  nur  verwendet,  wenn  --verbose  angegeben  wurde.  Es  gibt  so  viele
              block-Zeilen, wie Blöcke in der  .xz-Datei.  Die  block-Zeilen  werden  nach  allen  stream-Zeilen
              angezeigt; verschiedene Zeilentypen werden nicht verschachtelt.

       summary
              Dieser  Zeilentyp  wird  nur  verwendet, wenn --verbose zwei Mal angegeben wurde. Diese Zeile wird
              nach allen block-Zeilen ausgegeben.  Wie  die  file-Zeile  enthält  die  summary-Zeile  allgemeine
              Informationen zur .xz-Datei.

       totals Diese Zeile ist immer die letzte der Listenausgabe. Sie zeigt die Gesamtanzahlen und -größen an.

       Die Spalten der file-Zeilen:
              2.  Anzahl der Datenströme in der Datei
              3.  Gesamtanzahl der Blöcke in den Datenströmen
              4.  Komprimierte Größe der Datei
              5.  Unkomprimierte Größe der Datei
              6.  Das  Kompressionsverhältnis,  zum Beispiel 0.123. Wenn das Verhältnis über 9.999 liegt, werden
                  drei Minuszeichen (---) anstelle des Kompressionsverhältnisses angezeigt.
              7.  Durch  Kommata  getrennte  Liste  der  Namen  der  Integritätsprüfungen.  Für  die   bekannten
                  Überprüfungstypen  werden  folgende  Zeichenketten  verwendet: None, CRC32, CRC64 und SHA-256.
                  Unbek.N wird verwendet, wobei N die Kennung der Überprüfung als Dezimalzahl angibt (ein-  oder
                  zweistellig).
              8.  Gesamtgröße der Datenstromauffüllung in der Datei

       Die Spalten der stream-Zeilen:
              2.  Datenstromnummer (der erste Datenstrom ist 1)
              3.  Anzahl der Blöcke im Datenstrom
              4.  Komprimierte Startposition
              5.  Unkomprimierte Startposition
              6.  Komprimierte Größe (schließt die Datenstromauffüllung nicht mit ein)
              7.  Unkomprimierte Größe
              8.  Kompressionsverhältnis
              9.  Name der Integritätsprüfung
              10. Größe der Datenstromauffüllung

       Die Spalten der block-Zeilen:
              2.  Anzahl der in diesem Block enthaltenen Datenströme
              3.  Blocknummer relativ zum Anfang des Datenstroms (der erste Block ist 1)
              4.  Blocknummer relativ zum Anfang der Datei
              5.  Komprimierter Startversatz relativ zum Beginn der Datei
              6.  Unkomprimierter Startversatz relativ zum Beginn der Datei
              7.  Komprimierte Gesamtgröße des Blocks (einschließlich Header)
              8.  Unkomprimierte Größe
              9.  Kompressionsverhältnis
              10. Name der Integritätsprüfung

       Wenn  --verbose zwei Mal angegeben wurde, werden zusätzliche Spalten in die block-Zeilen eingefügt. Diese
       werden mit einem einfachen --verbose  nicht  angezeigt,  da  das  Ermitteln  dieser  Informationen  viele
       Suchvorgänge erfordert und daher recht langsam sein kann:
              11. Wert der Integritätsprüfung in hexadezimaler Notation
              12. Block-Header-Größe
              13. Block-Schalter:  c gibt an, dass die komprimierte Größe verfügbar ist, und u gibt an, dass die
                  unkomprimierte Größe verfügbar ist. Falls der Schalter nicht gesetzt ist, wird stattdessen ein
                  Bindestrich (-) angezeigt, um die Länge der Zeichenkette  beizubehalten.  In  Zukunft  könnten
                  neue Schalter am Ende der Zeichenkette hinzugefügt werden.
              14. Größe  der  tatsächlichen  komprimierten  Daten  im  Block.  Ausgeschlossen  sind  hierbei die
                  Block-Header, die Blockauffüllung und die Prüffelder.
              15. Größe des Speichers (in Byte), der zum Dekomprimieren  dieses  Blocks  mit  dieser  xz-Version
                  benötigt wird.
              16. Filterkette. Beachten Sie, dass die meisten der bei der Kompression verwendeten Optionen nicht
                  bekannt  sein  können,  da  in  den  .xz-Headern  nur die für die Dekompression erforderlichen
                  Optionen gespeichert sind.

       Die Spalten der summary-Zeilen:
              2.  Größe des Speichers (in Byte), der zum  Dekomprimieren  dieser  Datei  mit  dieser  xz-Version
                  benötigt wird.
              3.  yes  oder  no  geben  an,  ob  in  allen  Block-Headern  sowohl  die komprimierte als auch die
                  unkomprimierte Größe gespeichert ist.
              Seit xz 5.1.2alpha:
              4.  Minimale xz-Version, die zur Dekompression der Datei erforderlich ist

       Die Spalten der totals-Zeile:
              2.  Anzahl der Datenströme
              3.  Anzahl der Blöcke
              4.  Komprimierte Größe
              5.  Unkomprimierte Größe
              6.  Durchschnittliches Kompressionsverhältnis
              7.  Durch Kommata getrennte Liste der Namen der Integritätsprüfungen, die in den  Dateien  präsent
                  waren.
              8.  Größe der Datenstromauffüllung
              9.  Anzahl  der  Dateien.  Dies  dient  dazu,  die  Reihenfolge  der vorigen Spalten an die in den
                  file-Zeilen anzugleichen.

       Wenn --verbose zwei Mal angegeben wird, werden zusätzliche Spalten in die totals-Zeile eingefügt:
              10. Maximale Größe des Speichers  (in  Byte),  der  zum  Dekomprimieren  der  Dateien  mit  dieser
                  xz-Version benötigt wird.
              11. yes  oder  no  geben  an,  ob  in  allen  Block-Headern  sowohl  die komprimierte als auch die
                  unkomprimierte Größe gespeichert ist.
              Seit xz 5.1.2alpha:
              12. Minimale xz-Version, die zur Dekompression der Datei erforderlich ist

       Zukünftige Versionen könnten neue Zeilentypen hinzufügen,  weiterhin  könnten  auch  in  den  vorhandenen
       Zeilentypen weitere Spalten hinzugefügt werden, aber die existierenden Spalten werden nicht geändert.

EXIT-STATUS

       0      Alles ist in Ordnung.

       1      Ein Fehler ist aufgetreten.

       2      Es  ist  etwas  passiert,  das  eine Warnung rechtfertigt, aber es sind keine tatsächlichen Fehler
              aufgetreten.

       In die Standardausgabe geschriebene Hinweise (keine Warnungen oder Fehler), welche den Exit-Status  nicht
       beeinflussen.

UMGEBUNGSVARIABLEN

       xz  wertet  eine durch Leerzeichen getrennte Liste von Optionen in den Umgebungsvariablen XZ_DEFAULTS und
       XZ_OPT aus (in dieser Reihenfolge), bevor die Optionen aus der Befehlszeile ausgewertet werden.  Beachten
       Sie,  dass  beim  Auswerten der Umgebungsvariablen nur Optionen berücksichtigt werden; alle Einträge, die
       keine Optionen sind, werden stillschweigend ignoriert. Die Auswertung erfolgt mit getopt_long(3), welches
       auch für die Befehlszeilenargumente verwendet wird.

       XZ_DEFAULTS
              Benutzerspezifische oder  systemweite  Standardoptionen.  Typischerweise  werden  diese  in  einem
              Shell-Initialisierungsskript  gesetzt,  um  die  Speicherbedarfsbegrenzung von xz standardmäßig zu
              aktivieren. Außer bei Shell-Initialisierungsskripten  und  in  ähnlichen  Spezialfällen  darf  die
              Variable XZ_DEFAULTS in Skripten niemals gesetzt oder außer Kraft gesetzt werden.

       XZ_OPT Dies  dient der Übergabe von Optionen an xz, wenn es nicht möglich ist, die Optionen direkt in der
              Befehlszeile von xz zu übergeben. Dies ist beispielsweise der Fall, wenn xz von einem Skript  oder
              Dienstprogramm ausgeführt wird, zum Beispiel GNU tar(1):

                     XZ_OPT=-2v tar caf foo.tar.xz foo

              Skripte  können  XZ_OPT  zum  Beispiel zum Setzen skriptspezifischer Standard-Kompressionsoptionen
              verwenden. Es  ist  weiterhin  empfehlenswert,  Benutzern  die  Außerkraftsetzung  von  XZ_OPT  zu
              erlauben, falls dies angemessen ist. Zum Beispiel könnte in sh(1)-Skripten Folgendes stehen:

                     XZ_OPT=${XZ_OPT-"-7e"}
                     export XZ_OPT

KOMPATIBILITÄT ZU DEN LZMA-UTILS

       Die  Befehlszeilensyntax  von  xz  ist  praktisch  eine  Obermenge  der von lzma, unlzma und lzcat in den
       LZMA-Utils der Versionen 4.32.x. In den meisten Fällen sollte es möglich sein, die LZMA-Utils  durch  die
       XZ-Utils   zu   ersetzen,   ohne   vorhandene   Skripte   ändern   zu  müssen.  Dennoch  gibt  es  einige
       Inkompatibilitäten, die manchmal Probleme verursachen können.

   Voreinstellungsstufen zur Kompression
       Die Nummerierung der Voreinstellungsstufen der Kompression ist in xz und den LZMA-Utils  unterschiedlich.
       Der   wichtigste   Unterschied   ist   die   Zuweisung   der   Wörterbuchgrößen   zu   den  verschiedenen
       Voreinstellungsstufen. Die Wörterbuchgröße ist etwa gleich dem Speicherbedarf bei der Dekompression.

              Stufe     xz         LZMA-Utils
               -0     256 KiB   nicht verfügbar
               -1       1 MiB           64 KiB
               -2       2 MiB            1 MiB
               -3       4 MiB          512 KiB
               -4       4 MiB            1 MiB
               -5       8 MiB            2 MiB
               -6       8 MiB            4 MiB
               -7      16 MiB            8 MiB
               -8      32 MiB           16 MiB
               -9      64 MiB           32 MiB

       Die Unterschiede in der Wörterbuchgröße beeinflussen auch den Speicherbedarf bei der Kompression, aber es
       gibt noch einige andere Unterschiede zwischen den  LZMA-Utils  und  den  XZ-Utils,  die  die  Kluft  noch
       vergrößern:

              Stufe     xz      LZMA-Utils 4.32.x
               -0       3 MiB   nicht verfügbar
               -1       9 MiB            2 MiB
               -2      17 MiB           12 MiB
               -3      32 MiB           12 MiB
               -4      48 MiB           16 MiB
               -5      94 MiB           26 MiB
               -6      94 MiB           45 MiB
               -7     186 MiB           83 MiB
               -8     370 MiB          159 MiB
               -9     674 MiB          311 MiB

       Die  standardmäßige  Voreinstellungsstufe in den LZMA-Utils ist -7, während diese in den XZ-Utils -6 ist,
       daher verwenden beide standardmäßig ein 8 MiB großes Wörterbuch.

   Vor- und Nachteile von .lzma-Dateien als Datenströme
       Die unkomprimierte Größe der Datei kann in den .lzma-Headern gespeichert werden. Die LZMA-Utils  tun  das
       beim  Komprimieren  gewöhnlicher  Dateien.  Als  Alternative  kann die unkomprimierte Größe als unbekannt
       markiert und eine Nutzdatenende-Markierung  (end-of-payload)  verwendet  werden,  um  anzugeben,  wo  der
       Dekompressor  stoppen  soll.  Die  LZMA-Utils  verwenden  diese  Methode,  wenn  die unkomprimierte Größe
       unbekannt ist, was beispielsweise in Pipes (Befehlsverkettungen) der Fall ist.

       xz unterstützt die Dekompression von .lzma-Dateien mit oder ohne Nutzdatenende-Markierung, aber alle  von
       xz  erstellten .lzma-Dateien verwenden diesen Nutzdatenende-Markierung, wobei die unkomprimierte Größe in
       den .lzma-Headern als unbekannt markiert wird. Das könnte in einigen unüblichen Situationen  ein  Problem
       sein.  Zum Beispiel könnte ein .lzma-Dekompressor in einem Gerät mit eingebettetem System nur mit Dateien
       funktionieren, deren unkomprimierte Größe bekannt ist. Falls Sie auf dieses Problem  stoßen,  müssen  Sie
       die  LZMA-Utils  oder  das  LZMA-SDK  verwenden,  um .lzma-Dateien mit bekannter unkomprimierter Größe zu
       erzeugen.

   Nicht unterstützte .lzma-Dateien
       Das .lzma-Format erlaubt lc-Werte bis zu 8 und lp-Werte bis zu  4.  Die  LZMA-Utils  können  Dateien  mit
       beliebigem  lc  und  lp  dekomprimieren,  aber erzeugen immer Dateien mit lc=3 und lp=0. Das Erzeugen von
       Dateien mit anderem lc und lp ist mit xz und mit dem LZMA-SDK möglich.

       Die Implementation des LZMA-Filters in liblzma setzt voraus, dass die Summe von lc und  lp  nicht  größer
       als  4 ist. Daher können .lzma-Dateien, welche diese Begrenzung überschreiten, mit xz nicht dekomprimiert
       werden.

       Die LZMA-Utils erzeugen nur .lzma-Dateien mit einer Wörterbuchgröße von 2^n  (einer  Zweierpotenz),  aber
       akzeptieren  Dateien mit einer beliebigen Wörterbuchgröße. Liblzma akzeptiert nur .lzma-Dateien mit einer
       Wörterbuchgröße von 2^n oder 2^n + 2^(n-1). Dies dient zum Verringern von Fehlalarmen beim  Erkennen  von
       .lzma-Dateien.

       Diese  Einschränkungen  sollten  in  der  Praxis  kein  Problem sein, da praktisch alle .lzma-Dateien mit
       Einstellungen komprimiert wurden, die Liblzma akzeptieren wird.

   Angehängter Datenmüll
       Bei der Dekompression ignorieren die LZMA-Utils stillschweigend alles nach dem  ersten  .lzma-Datenstrom.
       In  den  meisten Situationen ist das ein Fehler. Das bedeutet auch, dass die LZMA-Utils die Dekompression
       verketteter .lzma-Dateien nicht unterstützen.

       Wenn nach dem ersten .lzma-Datenstrom Daten verbleiben, erachtet xz die  Datei  als  beschädigt,  es  sei
       denn,  die  Option --single-stream wurde verwendet. Dies könnte die Ausführung von Skripten beeinflussen,
       die davon ausgehen, dass angehängter Datenmüll ignoriert wird.

ANMERKUNGEN

   Die komprimierte Ausgabe kann variieren
       Die exakte komprimierte Ausgabe, die aus der gleichen unkomprimierten  Eingabedatei  erzeugt  wird,  kann
       zwischen  den Versionen der XZ-Utils unterschiedlich sein, selbst wenn die Kompressionsoptionen identisch
       sind. Das kommt daher, weil der Kodierer verbessert worden sein  könnte  (hinsichtlich  schnellerer  oder
       besserer   Kompression),   ohne  das  Dateiformat  zu  beeinflussen.  Die  Ausgabe  kann  sogar  zwischen
       verschiedenen Programmen der gleichen Version  der  XZ-Utils  variieren,  wenn  bei  der  Erstellung  des
       Binärprogramms unterschiedliche Optionen verwendet wurden.

       Sobald   --rsyncable   implementiert  wurde,  bedeutet  das,  dass  die  sich  ergebenden  Dateien  nicht
       notwendigerweise mit Rsync abgeglichen werden können, außer wenn die alte und neue Datei mit der gleichen
       xz-Version erzeugt wurden. Das Problem kann beseitigt werden, wenn ein Teil  der  Encoder-Implementierung
       eingefroren wird, um die mit Rsync abgleichbare Ausgabe über xz-Versionsgrenzen hinweg stabil zu halten.

   Eingebettete .xz-Dekompressoren
       Eingebettete .xz-Dekompressor-Implementierungen wie XZ Embedded unterstützen nicht unbedingt Dateien, die
       mit  anderen Integritätsprüfungen (Prüfung-Typen) als none und crc32 erzeugt wurden. Da --check=crc64 die
       Voreinstellung  ist,  müssen  Sie  --check=none  oder  --check=crc32  verwenden,  wenn  Sie  Dateien  für
       eingebettete Systeme erstellen.

       Außerhalb  eingebetteter  Systeme unterstützen die Dekompressoren des .xz-Formats alle Prüfung-Typen oder
       sind mindestens in der Lage, die Datei zu dekomprimieren, ohne  deren  Integrität  zu  prüfen,  wenn  die
       bestimmte Prüfung nicht verfügbar ist.

       XZ Embedded unterstützt BCJ-Filter, aber nur mit dem vorgegebenen Startversatz.

BEISPIELE

   Grundlagen
       Komprimiert  die  Datei  foo  mit  der  Standard-Kompressionsstufe  (-6)  zu foo.xz und entfernt foo nach
       erfolgreicher Kompression:

              xz foo

       bar.xz in bar dekomprimieren und bar.xz selbst dann nicht löschen,  wenn  die  Dekompression  erfolgreich
       war:

              xz -dk bar.xz

       baz.tar.xz  mit  der Voreinstellung -4e (-4 --extreme) erzeugen, was langsamer ist als beispielsweise die
       Vorgabe -6, aber weniger Speicher für Kompression  und  Dekompression  benötigt  (48 MiB  beziehungsweise
       5 MiB):

              tar cf - baz | xz -4e > baz.tar.xz

       Eine Mischung aus komprimierten und unkomprimierten Dateien kann mit einem einzelnen Befehl dekomprimiert
       in die Standardausgabe geschrieben werden:

              xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

   Parallele Kompression von vielen Dateien
       Auf GNU- und *BSD-Systemen können find(1) und xargs(1) zum Parallelisieren der Kompression vieler Dateien
       verwendet werden:

              find . -type f \! -name '*.xz' -print0 \
                  | xargs -0r -P4 -n16 xz -T1

       Die Option -P von xargs(1) legt die Anzahl der parallelen xz-Prozesse fest. Der beste Wert für die Option
       -n  hängt  davon  ab,  wie  viele  Dateien  komprimiert werden sollen. Wenn es sich nur um wenige Dateien
       handelt, sollte der Wert wahrscheinlich 1 sein; bei Zehntausenden von Dateien kann  100  oder  noch  mehr
       angemessener sein, um die Anzahl der xz-Prozesse zu beschränken, die xargs(1) schließlich erzeugen wird.

       Die  Option  -T1  für  xz  dient dazu, den Einzelthread-Modus zu erzwingen, da xargs(1) zur Steuerung des
       Umfangs der Parallelisierung verwendet wird.

   Roboter-Modus
       Berechnen, wie viel Byte nach der Kompression mehrerer Dateien insgesamt eingespart wurden:

              xz --robot --list *.xz | awk '/^totals/{print $5-$4}'

       Ein Skript könnte abfragen wollen,  ob  es  ein  xz  verwendet,  das  aktuell  genug  ist.  Das  folgende
       sh(1)-Skript  prüft, ob die Versionsnummer des Dienstprogramms xz mindestens 5.0.0 ist. Diese Methode ist
       zu alten Beta-Versionen kompatibel, welche die Option --robot nicht unterstützen:

              if ! eval "$(xz --robot --version 2> /dev/null)" ||
                      [ "$XZ_VERSION" -lt 50000002 ]; then
                  echo "Ihre Version von Xz ist zu alt."
              fi
              unset XZ_VERSION LIBLZMA_VERSION

       Eine Speicherbedarfsbegrenzung für die Dekompression  mit  XZ_OPT  setzen,  aber  eine  bereits  gesetzte
       Begrenzung nicht erhöhen:

              NEWLIM=$((123 << 20))  # 123 MiB
              OLDLIM=$(xz --robot --info-memory | cut -f3)
              if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then
                  XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
                  export XZ_OPT
              fi

   Benutzerdefinierte Filterketten für die Kompression
       Der   einfachste   Anwendungsfall   für   benutzerdefinierte   Filterketten   ist   die   Anpassung   von
       LZMA2-Voreinstellungsstufen. Das kann nützlich  sein,  weil  die  Voreinstellungen  nur  einen  Teil  der
       potenziell sinnvollen Kombinationen aus Kompressionseinstellungen abdecken.

       Die  KompCPU-Spalten  der  Tabellen  aus  den Beschreibungen der Optionen -0-9 und --extreme sind beim
       Anpassen der LZMA2-Voreinstellungen nützlich. Diese sind die relevanten Teile aus diesen zwei Tabellen:

              Voreinstellung   KompCPU
                   -0             0
                   -1             1
                   -2             2
                   -3             3
                   -4             4
                   -5             5
                   -6             6
                   -5e            7
                   -6e            8

       Wenn Sie wissen, dass eine Datei für eine gute Kompression ein etwas größeres  Wörterbuch  benötigt  (zum
       Beispiel  32  MiB),  aber Sie sie schneller komprimieren wollen, als dies mit xz -8 geschehen würde, kann
       eine Voreinstellung mit einem niedrigen KompCPU-Wert (zum Beispiel 1) dahingehend angepasst  werden,  ein
       größeres Wörterbuch zu verwenden:

              xz --lzma2=preset=1,dict=32MiB foo.tar

       Mit  bestimmten  Dateien  kann  der obige Befehl schneller sein als xz -6, wobei die Kompression deutlich
       besser wird. Dennoch  muss  betont  werden,  dass  nur  wenige  Dateien  von  einem  größeren  Wörterbuch
       profitieren,  wenn  der  KompCPU-Wert  niedrig  bleibt.  Der  offensichtlichste Fall, in dem ein größeres
       Wörterbuch  sehr hilfreich sein kann, ist ein Archiv, das einander sehr  ähnliche  Dateien  enthält,  die
       jeweils  wenigstens  einige  Megabyte  groß  sind.  Das Wörterbuch muss dann deutlich größer sein als die
       einzelne Datei, damit LZMA2 den größtmöglichen Vorteil aus den Ähnlichkeiten  der  aufeinander  folgenden
       Dateien zieht.

       Wenn  hoher  Speicherbedarf  für Kompression und Dekompression kein Problem ist und die zu komprimierende
       Datei mindestens einige Hundert Megabyte groß ist, kann es sinnvoll sein, ein noch größeres Wörterbuch zu
       verwenden, als die 64 MiB, die mit xz -9 verwendet werden würden:

              xz -vv --lzma2=dict=192MiB big_foo.tar

       Die Verwendung von -vv  (--verbose  --verbose)  wie  im  obigen  Beispiel  kann  nützlich  sein,  um  den
       Speicherbedarf  für  Kompressor  und  Dekompressor  zu  sehen. Denken Sie daran, dass ein Wörterbuch, das
       größer als die unkomprimierte Datei ist, Speicherverschwendung wäre.  Daher  ist  der  obige  Befehl  für
       kleine Dateien nicht sinnvoll.

       Manchmal  spielt  die  Kompressionszeit  keine  Rolle, aber der Speicherbedarf bei der Dekompression muss
       gering gehalten werden, zum Beispiel um die Datei auf eingebetteten Systemen  dekomprimieren  zu  können.
       Der  folgende Befehl verwendet -6e (-6 --extreme) als Basis und setzt die Wörterbuchgröße auf nur 64 KiB.
       Die sich ergebende Datei kann mit XZ Embedded (aus diesem Grund ist  dort  --check=crc32)  mit  nur  etwa
       100 KiB Speicher dekomprimiert werden.

              xz --check=crc32 --lzma2=preset=6e,dict=64KiB foo

       Wenn  Sie  so  viele Byte wie möglich herausquetschen wollen, kann die Anpassung der Anzahl der literalen
       Kontextbits (lc) und der Anzahl der Positionsbits (pb) manchmal hilfreich sein. Auch  die  Anpassung  der
       Anzahl  der literalen Positionsbits (lp) könnte helfen, aber üblicherweise sind lc und pb wichtiger. Wenn
       ein Quellcode-Archiv zum Beispiel hauptsächlich ASCII-Text enthält, könnte ein Aufruf  wie  der  folgende
       eine etwas kleinere Datei (etwa 0,1 %) ergeben als mit xz -6e (versuchen Sie es auch lc=4):

              xz --lzma2=preset=6e,pb=0,lc=4 Quellcode.tar

       Die  Verwendung  eines  anderen  Filters  mit  LZMA2  kann  die  Kompression bei verschiedenen Dateitypen
       verbessern. So könnten Sie eine gemeinsam genutzte Bibliothek der Architekturen x86-32  oder  x86-64  mit
       dem BCJ-Filter für x86 komprimieren:

              xz --x86 --lzma2 libfoo.so

       Beachten  Sie,  dass  die  Reihenfolge  der  Filteroptionen  von  Bedeutung ist. Falls --x86 nach --lzma2
       angegeben wird, gibt xz einen Fehler aus, weil nach LZMA2 kein weiterer Filter sein darf  und  auch  weil
       der BCJ-Filter für x86 nicht als letzter Filter in der Filterkette gesetzt werden darf.

       Der  Delta-Filter  zusammen  mit  LZMA2  kann  bei  Bitmap-Bildern  gute  Ergebnisse  liefern.  Er sollte
       üblicherweise besser sein als PNG, welches zwar einige fortgeschrittene  Filter  als  ein  simples  delta
       bietet, aber für die eigentliche Kompression »Deflate« verwendet.

       Das  Bild muss in einem unkomprimierten Format gespeichert werden, zum Beispiel als unkomprimiertes TIFF.
       Der Abstandsparameter des Delta-Filters muss so gesetzt werden, dass er der Anzahl der Bytes pro Pixel im
       Bild entspricht. Zum Beispiel erfordert ein 24-Bit-RGB-Bitmap dist=3, außerdem ist es gut, pb=0 an  LZMA2
       zu übergeben, um die 3-Byte-Ausrichtung zu berücksichtigen:

              xz --delta=dist=3 --lzma2=pb=0 foo.tiff

       Wenn  sich  mehrere  Bilder  in  einem  einzelnen  Archiv  befinden (zum Beispiel .tar), funktioniert der
       Delta-Filter damit auch, sofern alle Bilder im Archiv die gleiche Anzahl Bytes pro Pixel haben.

SIEHE AUCH

       xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip(1), bzip2(1), 7z(1)

       XZ Utils: <https://tukaani.org/xz/>
       XZ Embedded: <https://tukaani.org/xz/embedded.html>
       LZMA-SDK: <http://7-zip.org/sdk.html>

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann  <mario.blaettermann@gmail.com>
       erstellt.

       Diese  Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser  Handbuchseite  finden,  schicken  Sie  bitte  eine  E-Mail  an
       <debian-l10n-german@lists.debian.org>.

Tukaani                                          19. April 2017                                            XZ(1)