Provided by: xz-utils_5.6.2-2_amd64 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. Außerdem wird die
       Dekompression des von lzip verwendeten .lz-Formats unterstützt.

       xz komprimiert oder dekomprimiert 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 dem 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, .lzma oder .lz 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
          diese 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, .tlz oder .lz).

       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 oder falls ein Fehler auftritt.

       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   mehreren   Gigabyte.   Die
       Einstellungen  bei  der Kompression einer Datei bestimmen dabei den Speicherbedarf bei der
       Dekompression.  Die  Dekompression  benötigt  üblicherweise  zwischen  5 %  und  20 %  des
       Speichers, der bei der Kompression der Datei erforderlich war. Beispielsweise benötigt die
       Dekompression einer Datei, die mit  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 übersteigt 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.

              Seit  der  xz-Version  5.2.6  wird  die  Kompression  oder  Dekompression auch dann
              ausgeführt, wenn die Eingabe ein symbolischer Link zu einer  regulären  Datei  ist,
              mehr  als  einen  harten  Link  hat oder das »setuid«-, »setgid«- oder »sticky«-Bit
              gesetzt ist. Die genannten Bits werden nicht in die Zieldatei kopiert. In  früheren
              Versionen geschah dies nur mit --force.

       -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, .tlz oder .lz 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.

              lzip   Akzeptiert nur .lz-Dateien bei der  Dekompression.  Kompression  wird  nicht
                     unterstützt.

                     Das   .lz-Format   wird  in  Version  0  und  der  unerweiterten  Version  1
                     unterstützt. Dateien der Version 0 wurden von lzip 1.3 und  älter  erstellt.
                     Solche Dateien sind nicht sehr weit verbreitet, können aber in Dateiarchiven
                     gefunden werden, da  einige  Quellpakete  in  diesem  Format  veröffentlicht
                     wurden.  Es  ist  auch  möglich,  dass  Benutzer alte persönliche Dateien in
                     diesem Format haben. Die  Dekompressionsunterstützung  für  das  Format  der
                     Version 0 wurde mit der Version 1.18 aus lzip entfernt.

                     lzip-Versionen  ab  1.4  erstellen  Dateien  im  Format  der  Version 0. Die
                     Erweiterung »Sync Flush Marker«  zur  Formatversion  1  wurde  in  lzip  1.6
                     hinzugefügt.  Diese  Erweiterung  wird sehr selten verwendet und wird von xz
                     nicht unterstützt (die Eingabe wird als beschädigt erkannt).

              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 für die  Verteilung  von
                     Dateien  ist,  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:

                     Voreinst.   Wörtb.Gr   KomprCPU   KompSpeich   DekompSpeich
                        -0       256 KiB       0          3 MiB         1 MiB
                        -1         1 MiB       1          9 MiB         2 MiB
                        -2         2 MiB       2         17 MiB         3 MiB
                        -3         4 MiB       3         32 MiB         5 MiB
                        -4         4 MiB       4         48 MiB         5 MiB
                        -5         8 MiB       5         94 MiB         9 MiB
                        -6         8 MiB       6         94 MiB         9 MiB
                        -7        16 MiB       6        186 MiB        17 MiB
                        -8        32 MiB       6        370 MiB        33 MiB
                        -9        64 MiB       6        674 MiB        65 MiB

              Spaltenbeschreibungen:

              •  Wörtb.Größe  ist  die Größe des LZMA2-Wörterbuchs. Es ist Speicherverschwendung,
                 ein Wörterbuch zu verwenden, das größer als die unkomprimierte Datei ist.  Daher
                 ist  es  besser,  die  Voreinstellungen  -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.

              •  KomprCPU  ist  eine  vereinfachte Repräsentation der LZMA2-Einstellungen, welche
                 die Kompressionsgeschwindigkeit beeinflussen.  Die  Wörterbuchgröße  wirkt  sich
                 ebenfalls  auf die Geschwindigkeit aus. Während KompCPU für die Stufen -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.

              •  KompSpeich enthält den Speicherbedarf des  Kompressors  im  Einzel-Thread-Modus.
                 Dieser kann zwischen den xz-Versionen leicht variieren.

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

               Der  Speicherbedarf einiger der zukünftigen Multithread-Modi kann dramatisch höher
              sein als im Einzel-Thread-Modus. Mit dem  Standardwert  von  --block-size  benötigt
              jeder   Thread  3*3*Wörtb.Gr  plus  KompSpeich  oder  DekompSpeich.  Beispielsweise
              benötigen vier Threads mit der Voreinstellung -6 etwa 660 bis 670 MiB Speicher.

       -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 den 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.

                     Voreinst.   Wörtb.Gr   KomprCPU   KompSpeich   DekompSpeich
                        -0e      256 KiB       8          4 MiB         1 MiB
                        -1e        1 MiB       8         13 MiB         2 MiB
                        -2e        2 MiB       8         25 MiB         3 MiB
                        -3e        4 MiB       7         48 MiB         5 MiB
                        -4e        4 MiB       8         48 MiB         5 MiB
                        -5e        8 MiB       7         94 MiB         9 MiB
                        -6e        8 MiB       8         94 MiB         9 MiB
                        -7e       16 MiB       8        186 MiB        17 MiB
                        -8e       32 MiB       8        370 MiB        33 MiB
                        -9e       64 MiB       8        674 MiB        65 MiB

              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. Im Multi-Thread-Modus wird die Größe der Blöcke wird  in  den
              Block-Headern     gespeichert.     Die     Größeninformation    wird    für    eine
              Multi-Thread-Dekompression genutzt.

              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 xz nicht in der Lage sein
              wird, die Dateien im Multi-Thread-Modus zu dekomprimieren.

       --block-list=Blöcke
              beginnt  bei  der  Kompression  in  das .xz-Format nach den angegebenen Intervallen
              unkomprimierter Daten einen neuen Block,  optional  mit  einer  benutzerdefinierten
              Filterkette.

              Die  Blöcke  werden  in einer durch Kommata getrennten Liste angegeben. Jeder Block
              besteht aus einer optionalen Filterkettennummer zwischen 0 und 9, gefolgt von einem
              Doppelpunkt  (:)  und  der  Größe  der  unkomprimierten  Daten  (diese  Angabe  ist
              erforderlich). Überspringen eines  Blocks  (zwei  oder  mehr  aufeinander  folgende
              Kommata)  ist  ein  Kürzel dafür, die Größe und die Filter des vorherigen Blocks zu
              verwenden.

              Falls die Eingabedatei größer ist als die Summe der Blöcke, dann wird der letzte in
              VBlöcke  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.

              Eine  alternative  Filterkette für jeden Block kann in Kombination mit den Optionen
              --filters1=Filter--filters9=Filter angegeben werden. Diese  Optionen  definieren
              Filterketten  mit  einem  Bezeichner zwischen 1 und 9. Die Filterkette 0 bezeichnet
              hierbei die voreingestellte Filterkette, was  dem  Nichtangeben  einer  Filterkette
              gleichkommt.   Der   Filterkettenbezeichner  kann  vor  der  unkomprimierten  Größe
              verwendet werden, gefolgt von  einem  Doppelpunkt  (:).  Falls  Sie  beispielsweise
              --block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB    angeben,    werden   die   Blöcke
              folgendermaßen erstellt:

              •  Die durch --filters1 angegebene Filterkette und 2 MiB Eingabe

              •  Die durch --filters3 angegebene Filterkette und 2 MiB Eingabe

              •  Die durch --filters2 angegebene Filterkette und 4 MiB Eingabe

              •  Die durch --filters2 angegebene Filterkette und 4 MiB Eingabe

              •  Die vorgegebene Filterkette und 2 MiB Eingabe

              •  Die vorgegebene Filterkette und 4 MiB Eingabe für jeden Block bis zum  Ende  der
                 Eingabe.

              Falls  Sie  eine  Größe  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
              Blöcke  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, versucht xz, die
              Einstellungen nach unten anzupassen, so dass die Grenze  nicht  mehr  überschritten
              wird  und  zeigt  einen  Hinweis  an,  dass eine automatische Anpassung vorgenommen
              wurde. Die Anpassungen werden in folgender Reihenfolge angewendet: Reduzierung  der
              Anzahl  der  Threads,  Wechsel  in den Einzelthread-Modus, falls sogar ein einziger
              Thread im  Multithread-Modus  die  Grenze  überschreitet,  und  schlussendlich  die
              Reduzierung der Größe des LZMA2-Wörterbuchs.

              Beim Komprimieren mit --format=raw oder falls --no-adjust angegeben wurde, wird nur
              die Anzahl der  Threads  reduziert,  da  nur  so  die  komprimierte  Ausgabe  nicht
              beeinflusst wird.

              Falls  die  Grenze  nicht  anhand  der vorstehend beschriebenen Anpassungen gesetzt
              werden kann, wird ein Fehler angezeigt und xz wird 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).

              Für die 32-Bit-Version von xz gibt es einen  Spezialfall:  Falls  die  Grenze  über
              4020 MiB  liegt,  wird die Grenze auf 4020 MiB gesetzt. Auf MIPS32 wird stattdessen
              2000 MB verwendet (die Werte 0 und max werden hiervon nicht  beeinflusst;  für  die
              Dekompression gibt es keine vergleichbare Funktion). Dies kann hilfreich sein, wenn
              ein 32-Bit-Executable  auf  einen  4 GiB  großen  Adressraum  (2  GiB  auf  MIPS32)
              zugreifen  kann,  wobei  wir  hoffen  wollen,  dass es in anderen Situationen keine
              negativen Effekte hat.

              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.

       --memlimit-mt-decompress=Grenze
              legt eine Begrenzung des  Speicherverbrauchs  für  Multithread-Dekompression  fest.
              Dies  beeinflusst  lediglich  die  Anzahl  der Threads; xz wird dadurch niemals die
              Dekompression einer Datei verweigern. Falls die Grenze für jegliches Multithreading
              zu  niedrig  ist,  wird  sie  ignoriert  und  xz  setzt im Einzelthread-modus fort.
              Beachten Sie auch, dass bei der Verwendung  von  --memlimit-decompress  dies  stets
              sowohl  auf den Einzelthread-als auch auf den Multithread-Modus angewendet wird und
              so die effektive Grenze für den Multithread-Modus niemals höher sein wird  als  die
              mit --memlimit-decompress gesetzte Grenze.

              Im  Gegensatz  zu  anderen  Optionen  zur  Begrenzung  des  Speicherverbrauchs  hat
              --memlimit-mt-decompress=Grenze eine systemspezifisch vorgegebene  Grenze.  Mit  xz
              --info-memory können Sie deren aktuellen Wert anzeigen lassen.

              Diese  Option  und ihr Standardwert existieren, weil die unbegrenzte threadbezogene
              Dekompression bei einigen Eingabedateien zu  unglaublich  großem  Speicherverbrauch
              führen  würde. Falls die vorgegebene Grenze auf Ihrem System zu niedrig ist, können
              Sie die Grenze durchaus erhöhen, aber setzen Sie sie niemals auf einen Wert  größer
              als  die  Menge  des  nutzbaren  Speichers, da xz bei entsprechenden Eingabedateien
              versuchen wird, diese Menge an Speicher auch bei einer geringen Anzahl von  Threads
              zu     verwnden.     Speichermangel     oder     Auslagerung     verbessern     die
              Dekomprimierungsleistung nicht.

              Siehe --memlimit-compress=Grenze für mögliche Wege zur Angabe der Grenze. Sezen der
              Grenze auf 0 setzt die Grenze auf den vorgegebenen systemspezifischen Wert zurück.

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

       --no-adjust
              zeigt einen Fehler an und beendet, falls die Grenze der Speichernutzung nicht  ohne
              Änderung   der   Einstellungen,   welche  die  komprimierte  Ausgabe  beeinflussen,
              berücksichtigt werden kann. Das bedeutet, dass xz daran gehindert wird, den Encoder
              vom  Multithread-Modus  in  den  Einzelthread-Modus  zu versetzen und die Größe des
              LZMA2-Wörterbuchs zu reduzieren.  Allerdings  kann  bei  Verwendung  dieser  Option
              dennoch  die Anzahl der Threads reduziert werden, um die Grenze der Speichernutzung
              zu halten, sofern dies die komprimierte Ausgabe nicht beeinflusst.

              Die automatische Anpassung ist beim  Erzeugen  von  Rohdatenströmen  (--format=raw)
              immer 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  maximal  so  viele  Threads,  wie  der/die
              Prozessor(en) im System untestützen. 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 Multithread- bzw. Einzelthread-Kompressoren erzeugen unterschiedliche Ausgaben.
              Der  Einzelthread-Kompressor erzeugt die geringste Dateigröße, aber nur die Ausgabe
              des Multithread-Kompressors kann mit mehreren Threads wieder dekomprimiert  werden.
              Das  Setzen der Anzahl der Threads auf 1 wird den Einzelthread-Modus verwenden. Das
              Setzen der Anzahl der Threads auf einen anderen Wert einschließlich 0 verwendet den
              Multithread-Kompressor,  und  zwar  sogar  dann, wenn das System nur einen einzigen
              Hardware-Thread  unterstützt  (xz  5.2.x  verwendete  in  diesem  Fall   noch   den
              Einzelthread-Modus).

              Um den Multithread-Modus mit nur einem einzigen Thread zu verwenden, setzen Sie die
              Anzahl der Threads auf +1. Das Präfix + hat mit Werten  verschieden  von  1  keinen
              Effekt.  Eine  Begrenzung  des  Speicherverbrauchs kann xz dennoch veranlassen, den
              Einzelthread-Modus  zu  verwenden,  außer  wenn  --no-adjust  verwendet  wird.  Die
              Unterstützung für das Präfix + wurde in xz 5.4.0 hinzugefügt.

              Falls  das  automatische  Setzen  der  Anzahl  der  Threads  angefordert  und keine
              Speicherbegrenzung angegeben wurde, dann  wird  eine  systemspezifisch  vorgegebene
              weiche  Grenze  verwendet, um eventuell die Anzahl der Threads zu begrenzen. Es ist
              eine weiche Grenze im Sinne davon, dass sie ignoriert wird, falls  die  Anzahl  der
              Threads  1  ist;  daher  wird eine weiche Grenze xz niemals an der Kompression oder
              Dekompression hindern. Diese vorgegebene weiche Grenze  veranlasst  xz  nicht,  vom
              Multithread-Modus in den Einzelthread-Modus zu wechseln. Die aktiven Grenzen können
              Sie mit dem Befehl xz --info-memory anzeigen lassen.

              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 wird nur bei Dateien funktionieren, die mehrere
              Blöcke   mit   Größeninformationen   in   deren   Headern   enthalten.   Alle    im
              Multi-Thread-Modus  komprimierten  Dateien,  die  groß  genug  sind, erfüllen diese
              Bedingung, im Einzel-Thread-Modus komprimierte Dateien dagegen nicht,  selbst  wenn
              --block-size=Größe verwendet wurde.

              Der  Vorgabewert  für  Threads  is  0.  In  xz  5.4.x und älteren Versionen ist der
              Vorgabewert 1.

   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 kann auf zwei verschiedene Arten angegeben werden. Die
       Optionen --filters=Filter und --filters1=Filter--filters9=Filter ermöglichen die Angabe
       einer     ganzen     Filterkette     in     einer     einzelnen     Option    gemäß    der
       Liblzma-Filterzeichenkettensyntax. Alternativ können Sie eine Filterkette mit  einer  oder
       mehreren  individuellen  Filteroptionen  in  der  Reihenfolge  angeben,  in der sie in der
       Filterkette  verwendet  werden  sollen.  Daher  ist  die  Reihenfolge  der   individuellen
       Filteroptionen  wichtig!  Beim  Dekodieren  von  Rohdatenströmen  (--format=raw)  muss die
       Filterkette in der gleichen Reihenfolge wie bei der Komprimierung angegeben  werden.  Alle
       individuellen  Filter- oder Voreinstellungsoptionen, die vor der vollen Filterkettenoption
       (--filters=Filter) angegeben werden, werden verworfen. Individuelle Filter, die  nach  der
       vollen Filterkettenoption angegeben werden, setzen die Filterkette zurück

       Sowohl  vollständige  als  auch  individuelle Filteroptionen 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.

       --filters=Filter
              gibt die vollständige Filterkette  oder  eine  Voreinstellung  in  einer  einzelnen
              Option  an.  Mehrere  Filter  können  durch Leerzeichen oder zwei Minuszeichen (--)
              voneinander  getrennt  werden.  Es  kann  notwendig  sein,  die   Filter   in   der
              Shell-Befehlszeile  zu  maskieren,  so  dass  diese als einzelne Option ausgewertet
              werden. Um Optionen Werte zuzuordnen, verwenden Sie : oder =. Einer  Voreinstellung
              kann  ein  -  vorangestellt  werden,  dem  keiner oder mehrere Schalter folgen. Der
              einzige unterstützte  Schalter  ist  e  zum  Anwenden  der  gleichen  Optionen  wie
              --extreme.

       --filters1=Filter--filters9=Filter
              gibt  bis  zu neun optionale Filterketten an, die mit --block-list verwendet werden
              können.

              Wenn Sie beispielsweise ein Archiv mit ausführbaren Dateien gefolgt von Textdateien
              komprimieren,  könnte  der  Teil  mit den ausführbaren Dateien eine Filterkette mit
              einem BCJ-Filter und der Textdateiteil lediglich den LZMA2-Filter verwenden.

       --filters-help
              zeigt  eine  Hilfemeldung  an,  welche   beschreibt,   wie   Voreinstellungen   und
              benutzerdefinierte  Filterketten in den Optionen --filters und --filters1=Filter--filters9=Filter angegeben werden und beendet das Programm.

       --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]
       --arm[=Optionen]
       --armthumb[=Optionen]
       --arm64[=Optionen]
       --powerpc[=Optionen]
       --ia64[=Optionen]
       --sparc[=Optionen]
       --riscv[=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.  Die  BCJ-Filter  sind  sehr
              schnell und verbrauchen nur wenig mehr Speicher.

              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.

              •  Falls  ein  BCJ-Filter  auf ein Archiv angewendet wird, ist es möglich, dass das
                 Kompressionsverhältnis schlechter als ohne Filter wird. Falls es  beispielsweise
                 ähnliche oder sogar identische ausführbare Dateien gibt, dann werden diese durch
                 die  Filterung  wahrscheinlich  »unähnlicher«  und  verschlechtern  dadurch  das
                 Kompressionsverhältnis. Der Inhalt nicht-ausführbarer Dateien im gleichen Archiv
                 kann sich ebenfalls darauf auswirken. In der Praxis werden  Sie  durch  Versuche
                 mit  oder  ohne  BCJ-Filter  selbst  herausfinden  müssen, was situationsbezogen
                 besser ist.

              Verschiedene Befehlssätze haben  unterschiedliche  Ausrichtungen:  Die  ausführbare
              Datei  muss in den Eingabedateien einem Vielfachen dieses Wertes entsprechen, damit
              dieser Filter funktioniert.

                     Filter      Ausrichtung   Hinweise

                     x86              1        32-Bit oder 64-Bit x86
                     ARM              4
                     ARM-Thumb        2
                     ARM64            4        4096-Byte-Ausrichtung ist optimal
                     PowerPC          4        Nur Big Endian
                     IA-64           16        Itanium
                     SPARC            4
                     RISC-V           2

              Da die BCJ-gefilterten Daten üblicherweise mit LZMA2  komprimiert  sind,  kann  das
              Kompressionsverhältnis  dadurch etwas verbessert werden, dass die LZMA2-Optionen so
              gesetzt werden, dass sie der Ausrichtung  des  gewählten  BCJ-Filters  entsprechen.
              Beispiele:

              •  Der  IA-64-Filter  hat  eine  16-Byte-Ausrichtung,  daher ist pb=4,lp=4,lc=0 für
                 LZMA2 passend (2^4=16).

              •  RISC-V-Code hat eine 2-Byte- oder 4-Byte-Ausrichtung,  abhängig  davon,  ob  die
                 Datei   16-bit-komprimierte  Instruktionen  enthält  (die  C-Erweiterung).  Wenn
                 16-bit-Instruktionen verwendet werden, ist  pb=2,lp=1,lc=3  oder  pb=1,lp=1,lc=3
                 passend.  Wenn  keine 16-bit-Instruktionen vorhanden sind, ist pb=2,lp=2,lc=2 am
                 besten. Mit readelf -h können Sie überprüfen,  ob  »RVC«  in  der  »Flags«-Zeile
                 auftritt.

              •  ARM64 hat stets eine 4-Byte-Ausrichtung, daher ist pb=2,lp=2,lc=2 am besten.

              •  Der  x86-Filter  stellt  eine Ausnahme dar. Es ist üblicherweise eine gute Wahl,
                 bei den  Voreinstellungen  von  LZMA2  (pb=2,lp=0,lc=3)  zu  bleiben,  wenn  Sie
                 ausführbare x86-Dateien 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)  und
              wie  viele  Prozessor-Threads  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  --list,  --filters-help,  --info-memory  und  --version unterstützt. In der
       Zukunft wird dieser Modus auch für Kompression und Dekompression unterstützt.

   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.

   Filterhilfe
       xz --robot --filters-help gibt die unterstützten Filter im folgenden Format aus:

       Filter:Option=<Wert>,Option=<Wert>Filter Name des Filters

       Option Name der filterspezifischen Option

       Wert   Der numerische Wert  erscheint  als  Bereich  <Minimum-Maximum>.  Die  Auswahl  des
              Zeichenketten-Werts wird in < > eingeschlossen und durch | getrennt.

       Jeder Filter wird in einer separaten Zeile ausgegeben.

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

       1.  Gesamter physischer Speicher (RAM) in Byte.

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

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

       4.  Seit  xz  5.3.4alpha:  Die  Speichernutzung  für  Multithread-Dekompression  in   Byte
           (--memlimit-mt-decompress).  Dies ist niemals 0, da ein systemspezifischer Vorgabewert
           (gezeigt in Spalte 5) verwendet wird, falls keine Grenze ausdrücklich angegeben wurde.
           Dies  ist  außerdem  niemals  größer  als  der  Wert  in  in Spalte 3, selbst wenn mit
           --memlimit-mt-decompress ein größerer Wert angegeben wurde.

       5.  Seit   xz   5.3.4alpha:   Eine    systemspezifisch    vorgegebene    Begrenzung    des
           Speicherverbrauchs,  die  zur  Begrenzung der Anzahl der Threads beim Komprimieren mit
           automatischer    Anzahl    der    Threads     (--threads=0)     und     wenn     keine
           Speicherbedarfsbegrenzung  angegeben  wurde (--memlimit-compress) verwendet wird. Dies
           wird auch als Standardwert für --memlimit-mt-decompress verwendet.

       6.  Seit xz 5.3.4alpha: Anzahl der verfügbaren Prozessorthreads.

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

   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.

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 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 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 "Your xz is too old."
              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:

              Voreinst.   KomprCPU
                 -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 source_code.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: <https://7-zip.org/sdk.html>