Provided by: xz-utils_5.4.1-0.2_amd64 bug

NUME

       xz, unxz, xzcat, lzma, unlzma, lzcat - Comprimă sau decomprimă fișiere .xz și .lzma

REZUMAT

       xz [opțiune...] [fișier...]

ALIAS COMENZI

       unxz este echivalent cu xz --decompress.
       xzcat este echivalent cu xz --decompress --stdout.
       lzma este echivalent cu xz --format=lzma.
       unlzma este echivalent cu xz --format=lzma --decompress.
       lzcat este echivalent cu xz --format=lzma --decompress --stdout.

       Când  scrieți  scripturi  care  trebuie să decomprime fișiere, este recomandat să folosiți
       întotdeauna comanda xz cu argumentele adecvate (xz -d sau xz -dc) în loc de comenzile unxz
       și xzcat.

DESCRIERE

       xz este un instrument de comprimare a datelor de uz general cu sintaxă de linie de comandă
       similară cu gzip(1) și bzip2(1).  Formatul de fișier nativ este formatul .xz, dar formatul
       vechi  .lzma  folosit  de LZMA Utils și fluxurile comprimate brute fără anteturi de format
       container sunt de asemenea acceptate.  În plus, este  acceptată  decomprimarea  formatului
       .lz folosit de lzip.

       xz  comprimă  sau decomprimă fiecare fișier în funcție de modul de operare selectat.  Dacă
       nu sunt date fișiere sau fișier este -, xz citește de la intrarea standard și scrie datele
       procesate  la ieșirea standard.  xz va refuza (afișează o eroare și omite fișier) să scrie
       date comprimate la ieșirea standard dacă este un terminal.  În mod similar, xz  va  refuza
       să citească datele comprimate de la intrarea standard dacă este un terminal.

       Cu  excepția  cazului în care este specificată opțiunea --stdout, fișierele altele decât -
       sunt scrise într-un fișier nou al cărui nume este derivat din numele fișierului sursă:

       •  La comprimare, sufixul formatului de fișier țintă (.xz sau .lzma) este atașat la numele
          fișierului sursă pentru a se obține numele fișierului țintă.

       •  La  decomprimare, sufixul .xz, .lzma sau .lz este eliminat din numele fișierului pentru
          a se obține numele fișierului țintă.  xz recunoaște și sufixele  .txz  și  .tlz  și  le
          înlocuiește cu sufixul .tar.

       Dacă fișierul țintă există deja, este afișată o eroare și fișier este omis.

       Cu  excepția  cazului  în care scrie la ieșirea standard, xz va afișa un avertisment și va
       omite fișierul dacă se aplică oricare dintre următoarele:

       •  Fișierul nu este un fișier obișnuit.  Legăturile simbolice  nu  sunt  urmate  și,  prin
          urmare, nu sunt considerate fișiere obișnuite.

       •  Fișierul are mai mult de o legătură dură.

       •  Fișierul are activat bitul «setuid», «setgid» sau cel lipicios(sticky).

       •  Modul  de operare este stabilit la comprimare și fișier are deja un sufix al formatului
          de fișier țintă (.xz sau .txz când se comprimă în formatul .xz și .lzma sau  .tlz  când
          se comprimă în formatul .lzma).

       •  Modul  de operare este stabilit la decomprimare și fișierul nu are un sufix al niciunui
          format de fișier acceptat (.xz, .txz, .lzma, .tlz, sau .lz).

       După comprimarea sau decomprimarea  cu  succes  a  fișierului,  xz  copiază  proprietarul,
       grupul,  permisiunile,  timpul  de  acces  și  timpul  de modificare din fișierul sursă în
       fișierul țintă.  Dacă copierea grupului eșuează, permisiunile sunt modificate astfel încât
       fișierul țintă să nu devină accesibil utilizatorilor care nu aveau permisiunea de a accesa
       fișierul sursă.  xz nu acceptă încă copierea altor metadate, cum ar fi listele de  control
       al accesului sau atributele extinse.

       Odată  ce  fișierul  țintă a fost închis cu succes, fișierul sursă este eliminat dacă nu a
       fost specificată  opțiunea  --keep.   Fișierul  sursă  nu  este  niciodată  eliminat  dacă
       rezultatul este scris la ieșirea standard sau dacă apare o eroare.

       Trimiterea  unui  semnal  SIGINFO  sau SIGUSR1 către procesul xz face ca acesta să imprime
       informații despre progres la ieșirea de eroare standard.   Acest  lucru  are  o  utilizare
       limitată,  deoarece  atunci  când  ieșirea  de  eroare standard este un terminal, folosind
       opțiunea --verbose va afișa un indicator de progres de actualizare automată.

   Utilizarea memoriei
       Cantitatea de memorie utilizată de xz variază de la câteva sute de  kiloocteți  la  câțiva
       gigaocteți,  în  funcție  de  opțiunile de comprimare.  Opțiunile utilizate la comprimarea
       unui fișier determină cerințele de memorie ale instrumentului de decomprimare.  De obicei,
       instrumentul  de  decomprimare  are  nevoie de 5% până la 20% din cantitatea de memorie de
       care a avut  nevoie  instrumentul  de  comprimare  la  crearea  fișierului.   De  exemplu,
       decomprimarea  unui  fișier  creat cu xz -9 necesită în prezent 65Mio de memorie.  Totuși,
       este posibil să aveți fișiere .xz  care  necesită  câțiva  gigaocteți  de  memorie  pentru
       decomprimare.

       În  special  utilizatorii de sisteme mai vechi pot considera deranjantă posibilitatea unei
       utilizări foarte  mari  a  memoriei.   Pentru  a  preveni  surprizele  neplăcute,  xz  are
       încorporat  un  limitator de utilizare a memoriei, care este dezactivat implicit.  În timp
       ce unele sisteme de operare oferă modalități de a limita utilizarea  memoriei  proceselor,
       bazarea  pe  aceasta  nu  a  fost  considerată  a  fi  suficient de flexibilă (de exemplu,
       utilizarea ulimit(1) pentru a limita memoria virtuală tinde să paralizeze mmap(2)).

       Limitatorul de utilizare a memoriei poate fi activat cu  opțiunea  din  linia  de  comandă
       --memlimit=limita.   Adesea  este  mai  convenabil să activați limitatorul în mod implicit
       prin definirea variabilei de mediu XZ_DEFAULTS, de exemplu, XZ_DEFAULTS=--memlimit=150MiB.
       Este  posibil  să  stabiliți  limitele  separat pentru comprimare și decomprimare folosind
       --memlimit-compress=limita  și  --memlimit-decompress=limita.   Utilizarea  acestor   două
       opțiuni  în  afara  XZ_DEFAULTS  este  foarte rar utilă, deoarece o singură rulare a xz nu
       poate face atât comprimarea, cât și decomprimarea și --memlimit=limita (sau  -M  limita  )
       este mai scurt de tastat pe linia de comandă.

       Dacă limita de utilizare a memoriei specificată este depășită la decomprimare, xz va afișa
       o eroare și decomprimarea fișierului va eșua.  Dacă limita este depășită la comprimare, xz
       va  încerca  să  reducă  valorile stabilite astfel încât limita să nu mai fie depășită (cu
       excepția cazului în care se utilizează opțiunea --format=raw sau --no-adjust).   În  acest
       fel,  operațiunea  nu  va  eșua  decât  dacă  limita stabilită este foarte mică.  Scalarea
       valorilor stabilite se face în pași care nu se  potrivesc  cu  valorile  prestabilite  ale
       nivelului de comprimare, de exemplu, dacă limita este doar puțin mai mică decât cantitatea
       necesară pentru xz -9, valorile stabilite vor fi reduse doar puțin , nu până  la  valoarea
       prestabilită a lui xz -8.

   Concatenare și completare (prin umplere cu octeți nuli) cu fișiere .xz
       Este  posibil  să  concatenați  fișierele  .xz  așa  cum sunt.  xz va decomprima astfel de
       fișiere ca și cum ar fi un singur fișier .xz.

       Este posibil să se introducă umplutură între părțile concatenate sau  după  ultima  parte.
       Umplutura  trebuie  să  fie compusă din octeți nuli, iar dimensiunea umpluturii trebuie să
       fie un multiplu de patru octeți.  Acest lucru poate fi util, de exemplu, dacă fișierul .xz
       este stocat pe un mediu care măsoară dimensiunile fișierelor în blocuri de 512 de octeți.

       Concatenarea și completarea nu sunt permise cu fișierele .lzma sau fluxurile brute.

OPȚIUNI

   Sufixe de numere întregi și valori speciale
       În  majoritatea  locurilor  în care este de așteptat un număr întreg ca argument, un sufix
       opțional este acceptat pentru a indica cu ușurință numerele întregi mari.  Nu  trebuie  să
       existe spațiu între numărul întreg și sufix.

       KiB    Înmulțește  numărul  întreg  cu 1.024 (2^10).  Ki, k, kB, K și KB sunt acceptate ca
              sinonime pentru KiB.

       MiB    Înmulțește numărul întreg cu 1,048,576 (2^20).  Mi, m, M, și MB sunt  acceptate  ca
              sinonime pentru MiB.

       GiB    Înmulțește  numărul întreg cu 1,073,741,824 (2^30).  Gi, g, G, și GB sunt acceptate
              ca sinonime pentru GiB.

       Valoarea specială max  poate  fi  utilizată  pentru  a  indica  valoarea  maximă  întreagă
       suportată de opțiune.

   Mod de operare
       Dacă  sunt  date mai multe opțiuni de mod de funcționare, ultima dintre ele, este cea care
       va avea efect.

       -z, --compress
              Comprimare.  Acesta este modul de operare implicit atunci când nu este  specificată
              nicio  opțiune de mod de funcționare și nici un alt mod de operare nu este implicat
              din numele comenzii (de exemplu, unxz implică --decompress).

       -d, --decompress, --uncompress
              Decomprimare.

       -t, --test
              Testează integritatea fișierelor comprimate.  Această opțiune este  echivalentă  cu
              --decompress  --stdout  cu excepția faptului că datele decomprimate sunt înlăturate
              în loc să fie scrise la ieșirea standard.  Nu sunt create sau eliminate fișiere.

       -l, --list
              Afișează informații despre fișiere comprimate.  Nu are loc  nicio  decomprimare  la
              ieșire și nu sunt create sau eliminate fișiere.  În modul listă, programul nu poate
              citi datele comprimate din intrarea standard sau din alte  surse  care  nu  pot  fi
              căutate.

              Listarea  implicită  arată  informații  de  bază  despre fișiere, câte un fișier pe
              linie.  Pentru a obține informații mai detaliate, utilizați și opțiunea  --verbose.
              Pentru  și  mai  multe  informații,  utilizați  opțiunea --verbose de două ori, dar
              rețineți că acest lucru poate fi lent,  deoarece  obținerea  tuturor  informațiilor
              suplimentare  necesită  multe  căutări.   Lățimea ieșirii detaliate depășește 80 de
              caractere, deci canalizarea ieșirii către, de exemplu, less -S poate fi convenabilă
              dacă terminalul nu este suficient de lat.

              Ieșirea    exactă    poate    varia    între    versiunile    xz    și   diferitele
              localizări(configurările regionale).  Pentru ieșiri care pot fi citite  de  mașină,
              ar trebui utilizată opțiunea --robot --list.

   Modificatori de operare
       -k, --keep
              Nu șterge fișierele de intrare.

              Începând  cu  xz  5.2.6,  această opțiune face ca xz să comprime sau să decomprime,
              chiar dacă intrarea este o legătură simbolică către un  fișier  obișnuit,  are  mai
              mult  de-o  legătură  dură sau are marcați biții setuid, setgid sau bitul lipicios.
              Biții setuid, setgid și bitul lipicios nu  sunt  copiați  în  fișierul  țintă.   În
              versiunile anterioare acest lucru se făcea numai cu ajutorul opțiunii --force.

       -f, --force
              Această opțiune are mai multe efecte:

              •  Dacă   fișierul   țintă  există  deja,  îl  șterge  înainte  de  comprimare  sau
                 decomprimare.

              •  Comprimă sau decomprimă chiar dacă intrarea este o legătură simbolică  către  un
                 fișier  obișnuit,  are mai mult de-o legătură dură sau are marcați biții setuid,
                 setgid sau bitul lipicios. Biții  setuid,  setgid  și  bitul  lipicios  nu  sunt
                 copiați în fișierul țintă.

              •  Când  este  utilizată cu opțiunile --decompress și --stdout, comanda xz nu poate
                 recunoaște tipul fișierului sursă, și copiază fișierul sursă  așa  cum  este  la
                 ieșirea  standard.   Acest  lucru permite comenzii xzcat --force să fie folosită
                 drept comanda cat(1)  pentru  fișierele  care  nu  au  fost  comprimate  cu  xz.
                 Rețineți  că,  în  viitor,  xz  ar  putea  să  accepte  noi  formate  de fișiere
                 comprimate, ceea ce poate face ca xz să decomprime mai multe tipuri  de  fișiere
                 în loc să le copieze așa cum sunt la ieșirea standard.  Opțiunea --format=format
                 poate fi folosită pentru a restricționa xz să decomprime doar un  singur  format
                 de fișier.

       -c, --stdout, --to-stdout
              Scrie  datele  comprimate  sau  decomprimate  la ieșirea standard în loc de într-un
              fișier.  Aceasta implică --keep.

       --single-stream
              Decomprimă numai primul flux .xz și ignoră în tăcere  posibilele  date  de  intrare
              rămase  în  urma  fluxului.   În mod normal, astfel de resturi rămase face ca xz să
              afișeze o eroare.

              xz nu decomprimă niciodată mai  mult  de  un  flux  din  fișierele  .lzma  sau  din
              fluxurile  brute,  dar  această  opțiune face ca xz să ignore posibilele resturi de
              date rămase după fișierul .lzma sau fluxul brut.

              Această opțiune nu are efect dacă modul de funcționare  nu  este  --decompress  sau
              --test.

       --no-sparse
              Dezactivează  crearea  de  fișiere  dispersate.   În  mod implicit, dacă decomprimă
              într-un fișier obișnuit,  xz  încearcă  să  facă  fișierul  dispersat  dacă  datele
              decomprimate  conțin  secvențe  lungi de zerouri binare.  De asemenea, funcționează
              atunci când scrie la  ieșirea  standard,  atâta  timp  cât  ieșirea  standard  este
              conectată  la  un fișier obișnuit și sunt îndeplinite anumite condiții suplimentare
              pentru a o face în siguranță.  Crearea de fișiere dispersate poate economisi spațiu
              pe disc și poate accelera decomprimarea prin reducerea cantității de date de In/Ieș
              pe disc.

       -S .suf, --suffix=.suf
              Când comprimă, utilizează .suf ca sufix pentru fișierul țintă în  loc  de  .xz  sau
              .lzma.   Dacă nu scrie la ieșirea standard și fișierul sursă are deja sufixul .suf,
              este afișat un avertisment și fișierul este omis.

              Când decomprimă, recunoaște fișierele cu sufixul .suf în plus față de fișierele  cu
              sufixul  .xz,  .txz,  .lzma,  .tlz  sau .lz.  Dacă fișierul sursă are sufixul .suf,
              sufixul este eliminat pentru a obține numele fișierului țintă.

              La comprimarea sau decomprimarea fluxurilor brute (--format=raw),  sufixul  trebuie
              să  fie  întotdeauna  specificat,  cu  excepția cazului în care se scrie la ieșirea
              standard, deoarece nu există un sufix implicit pentru fluxurile brute.

       --files[=fișier]
              Citește numele fișierelor de procesat din fișier; dacă fișierul este  omis,  numele
              fișierelor  sunt  citite de la intrarea standard.  Numele de fișiere trebuie să fie
              terminate cu caracterul de linie nouă.  O liniuță (-) este luată ca nume de  fișier
              obișnuit;  nu  înseamnă  intrarea standard.  Dacă numele de fișiere sunt date și ca
              argumente în linia de comandă, ele sunt procesate înainte ca numele  fișierelor  să
              fie citite din fișier.

       --files0[=fișier]
              Această  opțiune este identică cu --files[=fișier], cu excepția faptului că fiecare
              nume de fișier trebuie să fie terminat cu caracterul nul.

   Formatul de bază al fișierului și opțiunile de comprimare
       -F format, --format=format
              Specifică formatul fișierului pentru comprimare sau decomprimare:

              auto   Aceasta este valoarea implicită.  La comprimare, auto este echivalent cu xz.
                     La  decomprimare,  formatul  fișierului  de  intrare  este detectat automat.
                     Rețineți că fluxurile brute (create cu --format=raw)  nu  pot  fi  detectate
                     automat.

              xz     Comprimă  în  formatul  de  fișier  .xz sau acceptă numai fișierele .xz când
                     decomprimă.

              lzma, alone
                     Comprimă în formatul de fișier .lzma vechi sau acceptă numai fișierele .lzma
                     când   decomprimă.    Numele   alternativ   alone   este   furnizat   pentru
                     compatibilitatea cu versiunile mai vechi de LZMA Utils.

              lzip   Acceptă numai fișierele .lz când decomprimă.  Comprimarea nu este acceptată.

                     Formatul .lz versiunea 0 și versiunea neextinsă 1 sunt acceptate.  Fișierele
                     versiunea  0 au fost produse de lzip cu versiunea 1.3 sau mai veche.  Astfel
                     de fișiere nu sunt obișnuite, dar pot fi  găsite  în  arhivele  de  fișiere,
                     deoarece  câteva  pachete sursă au fost lansate în acest format.  Oamenii ar
                     putea avea  și  fișiere  personale  vechi  în  acest  format.   Suportul  de
                     decomprimare pentru versiunea de format 0 a fost eliminat în lzip 1.18.

                     lzip  1.4  și versiunile ulterioare creează fișiere în formatul versiunea 1.
                     Extensia „sync flush marker” pentru versiunea 1 de format a fost adăugată în
                     lzip  1.6.   Această  extensie  este folosită rar și nu este acceptată de xz
                     (diagnosticată ca intrare coruptă).

              raw    Comprimă sau decomprimă un flux brut  (fără  anteturi).   Acest  lucru  este
                     destinat doar utilizatorilor avansați.  Pentru a decodifica fluxurile brute,
                     trebuie să utilizați opțiunea --format=raw și să specificați în mod explicit
                     lanțul  de  filtre,  care  în  mod  normal  ar  fi fost stocat în anteturile
                     containerului.

       -C verificarea, --check=verificarea
              Specifică tipul verificării integrității.  Verificarea este  calculată  din  datele
              necomprimate  și  stocată  în  fișierul  .xz.   Această  opțiune are efect numai la
              comprimarea în format .xz; formatul .lzma nu  acceptă  verificări  de  integritate.
              Verificarea integrității (dacă există) este efectuată atunci când fișierul .xz este
              decomprimat.

              Tipuri de verificare acceptate:

              none   Nu calculează deloc o verificare a integrității.  Aceasta este de  obicei  o
                     idee  proastă.   Acest  lucru poate fi util atunci când integritatea datelor
                     este oricum verificată prin alte mijloace.

              crc32  Calculează CRC32 folosind polinomul din IEEE-802.3 (Ethernet).

              crc64  Calculează CRC64 folosind polinomul din  ECMA-182.   Aceasta  este  valoarea
                     implicită,  deoarece este ceva mai bună decât CRC32 la detectarea fișierelor
                     deteriorate, iar diferența de viteză este neglijabilă.

              sha256 Calculează SHA-256.  Acest lucru este oarecum mai lent decât CRC32 și CRC64.

              Integritatea antetelor .xz este întotdeauna verificată cu CRC32.  Nu este  posibilă
              modificarea sau dezactivarea acesteia.

       --ignore-check
              Nu   efectuează   verificarea  integrității  datelor  comprimate  la  decomprimare.
              Valorile CRC32 din antetele .xz vor fi însă verificate normal.

              Nu utilizați această opțiune decât dacă știți ce faceți. Motive posibile  pentru  a
              utiliza această opțiune:

              •  Încercarea de a recupera datele dintr-un fișier .xz corupt.

              •  Accelerarea  decomprimării.   Acest  lucru  contează  mai ales cu SHA-256 sau cu
                 fișierele care s-au comprimat extrem de bine.  Este recomandat să  nu  utilizați
                 această opțiune în acest scop decât dacă integritatea fișierului este verificată
                 extern într-un alt mod.

       -0 ... -9
              Selectează un nivel prestabilit de comprimare.  Valoarea implicită este  -6.   Dacă
              sunt  specificate  mai multe niveluri prestabilite, ultimul are efect.  Dacă a fost
              deja specificat un lanț de filtre personalizat, specificarea unui nivel prestabilit
              de comprimare șterge lanțul de filtre personalizat.

              Diferențele dintre valorile prestabilite sunt mai semnificative decât cu gzip(1) și
              bzip2(1).  Valorile de comprimare selectate  determină  cerințele  de  memorie  ale
              instrumentului  de  decomprimare,  astfel  încât  utilizarea  unui  nivel prea mare
              prestabilit ar putea face „dureroasă” decomprimarea fișierului pe un  sistem  vechi
              cu  puțină  memorie  RAM.   Mai  exact,  nu este o idee bună  folosiți orbește -9
              pentru tot așa cum se întâmplă adesea cu gzip(1) și bzip2(1).

              -0 ... -3
                     Acestea sunt valorile prestabilite oarecum rapide.  -0 este uneori mai rapid
                     decât  gzip  -9  în  timp  ce  comprimă mult mai bine.  Cele mai ridicate au
                     adesea viteza comparabilă cu bzip2(1) cu un raport de comprimare  comparabil
                     sau  mai bun, deși rezultatele depind foarte mult de tipul de date care sunt
                     comprimate.

              -4 ... -6
                     Comprimare bună spre  foarte  bună,  păstrând  în  același  timp  utilizarea
                     memoriei  de  către instrumentul de decomprimare la un nivel rezonabil chiar
                     și pentru sistemele vechi.  -6 este valoarea implicită, care este de  obicei
                     o  alegere  bună  pentru  distribuirea  fișierelor  care trebuie să poată fi
                     decomprimate chiar și pe sisteme cu doar 16Mio de  memorie  RAM.   Opțiunile
                     (-5e  sau  -6e ar putea fi demne de luat în considerare. A se vedea opțiunea
                     --extreme.)

              -7 ... -9
                     Acestea sunt precum -6, dar cu cerințe mai mari de memorie pentru comprimare
                     și  decomprimare.   Acestea  sunt utile numai atunci când comprimați fișiere
                     mai mari de 8Mio, 16Mio și, respectiv, 32Mio.

              Pe același hardware, viteza de decomprimare este aproximativ un număr  constant  de
              octeți de date comprimate pe secundă.  Cu alte cuvinte, cu cât comprimarea este mai
              bună, cu atât decomprimarea va fi de  obicei  mai  rapidă.   Aceasta  înseamnă,  de
              asemenea,  că  valoarea  de  la ieșire a cantității de date necomprimate produsă pe
              secundă poate varia foarte mult.

              Următorul tabel rezumă caracteristicile valorilor prestabilite:

                     ValPrestab   DimDict   CPUComp   MemComp   MemDec
                         -0       256 KiB      0        3 MiB    1 MiB
                         -1         1 MiB      1        9 MiB    2 MiB
                         -2         2 MiB      2       17 MiB    3 MiB
                         -3         4 MiB      3       32 MiB    5 MiB
                         -4         4 MiB      4       48 MiB    5 MiB
                         -5         8 MiB      5       94 MiB    9 MiB
                         -6         8 MiB      6       94 MiB    9 MiB
                         -7        16 MiB      6      186 MiB   17 MiB
                         -8        32 MiB      6      370 MiB   33 MiB
                         -9        64 MiB      6      674 MiB   65 MiB

              Descrieri coloane:

              •  DimDict este dimensiunea dicționarului LZMA2.   Este  o  risipă  de  memorie  să
                 folosești  un  dicționar  mai mare decât dimensiunea fișierului necomprimat.  De
                 aceea este bine să evitați utilizarea valorilor prestabilite -7  ...  -9  atunci
                 când  nu  este  nevoie  cu adevărat de ele.  Pentru valoarea prestabilită -6 sau
                 alta mai mică, cantitatea de memorie irosită este de obicei  suficient  de  mică
                 pentru a nu conta.

              •  CPUComp  este  o reprezentare simplificată a configurărilor LZMA2 care afectează
                 viteza de comprimare.  Dimensiunea dicționarului afectează și viteza, așa că, în
                 timp  ce  CPUComp  este aceeași pentru nivelurile -6 ... -9, nivelurile mai mari
                 tind să fie puțin mai lente.  Pentru a obține o  comprimare  și  mai  lentă  și,
                 astfel, posibil mai bună, consultați opțiunea --extreme.

              •  MemComp  conține  cerințele de memorie ale comprimării în modul cu un singur fir
                 de execuție.  Poate varia ușor între versiunile xz.  Cerințele  de  memorie  ale
                 unora  dintre  viitoarele  moduri  cu  mai multe fire de execuție pot să fie din
                 nefericire cu mult mai mari decât cele ale modului cu un singur fir.

              •  MemDec conține cerințele de memorie pentru decomprimare.   Adică,  configurările
                 de  comprimare  determină  cerințele  de  memorie ale decomprimării.  Cantitatea
                 exactă  a  memoriei  utilizate  la  decomprimare  este  puțin  mai  mare   decât
                 dimensiunea  dicționarului  LZMA2,  dar  valorile din tabel au fost rotunjite la
                 următorul Mio.

       -e, --extreme
              Utilizează o variantă mai lentă a nivelului prestabilit de comprimare selectat  (-0
              ...  -9) pentru a obține un raport de comprimare puțin mai bun, dar din nefericire,
              acest lucru îl poate înrăutăți.  Utilizarea memoriei pentru  decomprimare  nu  este
              afectată,  dar  utilizarea  memoriei  la  comprimare  crește  puțin  la  nivelurile
              prestabilite -0 ... -3.

              Deoarece există două valori prestabilite cu dimensiuni ale dicționarului de 4Mio și
              8Mio,  valorile  prestabilite  -3e  și  -5e  folosesc  configurări puțin mai rapide
              (CPUComp mai mic) decât -4e și -6e, respectiv.  În acest fel, nu există două nivele
              prestabilite identice.

                     ValPrestab   DimDict   CPUComp   MemComp   MemDec
                        -0e       256 KiB      8        4 MiB    1 MiB
                        -1e         1 MiB      8       13 MiB    2 MiB
                        -2e         2 MiB      8       25 MiB    3 MiB
                        -3e         4 MiB      7       48 MiB    5 MiB
                        -4e         4 MiB      8       48 MiB    5 MiB
                        -5e         8 MiB      7       94 MiB    9 MiB
                        -6e         8 MiB      8       94 MiB    9 MiB
                        -7e        16 MiB      8      186 MiB   17 MiB
                        -8e        32 MiB      8      370 MiB   33 MiB
                        -9e        64 MiB      8      674 MiB   65 MiB

              De  exemplu, există un total de patru nivele prestabilite care folosesc dicționarul
              8Mio, a căror ordine de la cel mai rapid la cel mai lent este -5, -6, -5e și -6e .

       --fast
       --best Acestea sunt alias de opțiuni, oarecum înșelătoare pentru  -0  și,  respectiv,  -9.
              Acestea  sunt  furnizate  numai  pentru  compatibilitatea  cu  LZMA Utils.  Evitați
              utilizarea acestor opțiuni.

       --block-size=dimensiunea
              Când comprimă în formatul .xz, împarte datele de intrare în blocuri de  dimensiunea
              octeți.   Blocurile  sunt comprimate independent unul de celălalt, ceea ce ajută în
              modul cu mai multe fire  de  execuție  și  face  posibilă  decomprimarea  cu  acces
              aleatoriu  limitat.   Această  opțiune  este de obicei folosită pentru a suprascrie
              dimensiunea implicită a blocului în modul  cu  mai  multe  fire  de  execuție,  dar
              această opțiune poate fi folosită și în modul cu un singur fir de execuție.

              În  modul  cu  mai  multe  fire de execuție, aproximativ de trei ori dimensiunea de
              octeți vor  fi  alocați  în  fiecare  fir  pentru  stocarea  intrării  și  ieșirii.
              Dimensiunea  implicită  este  de trei ori dimensiunea dicționarului LZMA2 sau 1Mio,
              oricare dintre acestea este mai mare.  În mod obișnuit, o valoare bună este de două
              la  patru  ori  dimensiunea  dicționarului LZMA2 sau de cel puțin 1Mio.  Utilizarea
              unei dimensiuni mai mici decât dimensiunea dicționarului LZMA2  este  o  risipă  de
              memorie  RAM,  deoarece  atunci  memoria  tampon  a  dicționarului  LZMA2  nu va fi
              niciodată utilizată pe deplin.  Dimensiunile blocurilor sunt  stocate  în  antetele
              blocurilor,  pe  care o versiune viitoare a xz le va folosi pentru decomprimarea cu
              mai multe fire de execuție.

              În modul cu un singur fir de execuție, nicio divizare a blocurilor nu  se  face  în
              mod implicit.  Folosirea acestei opțiuni nu afectează utilizarea memoriei.  Nu sunt
              stocate informații despre dimensiune în antetele blocurilor, astfel încât fișierele
              create în modul cu un singur fir de execuție nu vor fi identice cu fișierele create
              în modul cu mai multe fire de  execuție.   Lipsa  informațiilor  despre  dimensiune
              înseamnă,  de  asemenea,  că  o  versiune  viitoare  de  xz  nu va putea decomprima
              fișierele în modul cu mai multe fire de execuție.

       --block-list=dimensiuni
              Atunci când  comprimă  în  formatul  .xz,  începe  un  nou  bloc  după  intervalele
              specificate, de date necomprimate.

              Dimensiunile  necomprimate ale blocurilor sunt specificate ca o listă separată prin
              virgule.  Omiterea unei dimensiuni (două sau mai multe virgule consecutive) este  o
              prescurtare pentru a folosi dimensiunea blocului anterior.

              Dacă fișierul de intrare este mai mare decât suma dimensiunilor, ultima valoare din
              dimensiuni se repetă până la sfârșitul fișierului.  O valoare specială de  0  poate
              fi  utilizată  ca  ultima  valoare  pentru  a indica faptul că restul fișierului ar
              trebui să fie codificat ca un singur bloc.

              Dacă se specifică dimensiuni care  depășesc  dimensiunea  blocului  codificatorului
              (fie  valoarea  implicită  în  modul  fire de execuție, fie valoarea specificată cu
              opțiunea  --block-size=dimensiune),  codificatorul  va  crea  blocuri  suplimentare
              păstrând  în  același timp limitele specificate în dimensiuni.  De exemplu, dacă se
              specifică --block-size=10MiB --block-list=5MiB,10MiB,8MiB,12MiB,24MiB iar  fișierul
              de  intrare este de 80Mio, se vor obține 11 blocuri de: 5, 10, 8, 10, 2, 10, 10, 4,
              10, 10 și 1Mio.

              În modul cu mai multe fire de execuție, dimensiunile  blocurilor  sunt  stocate  în
              antetele blocurilor.  Acest lucru nu se face în modul cu un singur fir de execuție,
              astfel încât ieșirea codificată nu va fi identică cu cea a  modului  cu  mai  multe
              fire de execuție.

       --flush-timeout=timp_limită
              La  comprimare,  dacă  au  trecut  mai  mult  de timp_limită milisecunde (un întreg
              pozitiv) de la curățarea anterioară și citirea mai multor intrări s-ar bloca, toate
              datele de intrare în așteptare sunt eliminate din codificator și puse la dispoziție
              în fluxul de ieșire.  Acest lucru poate să fie util dacă xz este utilizat pentru  a
              comprima  datele  care  sunt  transmise  în  flux printr-o rețea.  Valorile mici de
              timp_limită fac datele disponibile la capătul de recepție cu o mică întârziere, dar
              valorile mari de timp_limită oferă un raport de comprimare mai bun.

              Această caracteristică este dezactivată în mod implicit.  Dacă această opțiune este
              specificată de mai multe ori, ultima este cea care se ia în considerare.   Valoarea
              specială  a  lui  timp_limită  de  0,  poate fi utilizată pentru a dezactiva în mod
              explicit această caracteristică.

              Această caracteristică nu este disponibilă în sistemele non-POSIX.

              Această caracteristică este încă experimentală.  În  prezent,  xz  este  nepotrivit
              pentru  decomprimarea  fluxului în timp real datorită modului în care xz utilizează
              memoria tampon.

       --memlimit-compress=limita
              Stabilește o limită de  utilizare  a  memoriei  pentru  comprimare.   Dacă  această
              opțiune este specificată de mai multe ori, ultima va avea efect.

              Dacă parametrii de comprimare depășesc limita, xz va încerca să ajusteze parametrii
              scăzând valorile acestora, astfel încât limita să nu mai fie depășită și va afișa o
              notificare  că  ajustarea  automată a fost efectuată.  Ajustările se fac în această
              ordine: reducerea numărului de fire, trecerea la modul un singur  fir  de  execuție
              dacă chiar și un singur fir în modul cu mai multe fire de execuție depășește limita
              și, în final, reducerea dimensiunii dicționarului LZMA2.

              Când comprimă cu  opțiunea  --format=raw  sau  dacă  a  fost  specificată  opțiunea
              --no-adjust,  numai  numărul  de fire poate fi redus, deoarece se poate face fără a
              afecta rezultatul comprimării.

              Dacă limita nu poate fi îndeplinită chiar și cu ajustările descrise mai  sus,  este
              afișată o eroare și xz va ieși cu starea de ieșire 1.

              Limita poate fi specificata în mai multe moduri:

              •  Limita  poate  fi  o  valoare  absolută în octeți.  Utilizarea unui sufix întreg
                 precum MiB poate fi utilă.  De exemplu: --memlimit-compress=80MiBLimita poate fi specificată ca procent din memoria fizică totală  (RAM).   Acest
                 lucru poate fi util mai ales atunci când definiți variabila de mediu XZ_DEFAULTS
                 într-un  script  de  inițializare  shell  care  este  partajat  între   diferite
                 calculatoare.   În  acest  fel, limita este automat mai mare pe sistemele cu mai
                 multă memorie.  De exemplu: --memlimit-compress=70%Limita poate fi restabilită  la  valoarea  implicită  dându-i  valoarea  0.   În
                 prezent,  aceasta  este echivalentă cu stabilirea limitei la max (fără limită de
                 utilizare a memoriei).

              Pentru xz pe 32 de biți există un caz special: dacă limita  ar  fi  peste  4020MiB,
              limita  este  stabilită la 4020MiB.  Pe MIPS32 este stabilită în schimb la 2000MiB.
              (Valorile 0 și max nu sunt afectate de acest lucru.  O caracteristică  similară  nu
              există  pentru  decomprimare.)  Acest lucru poate fi util atunci când un executabil
              pe 32 de biți are acces la un spațiu de adrese de 4Gio (2Gio pe MIPS32),  se  speră
              că nu produce daune în alte situații.

              Consultați și secțiunea Utilizarea memoriei.

       --memlimit-decompress=limita
              Stabilește  o  limită  de  utilizare  a  memoriei pentru decomprimare.  Acest lucru
              afectează și modul --list.  Dacă operațiunea nu este posibilă fără a depăși limita,
              xz   va   afișa   o   eroare  și  decomprimarea  fișierului  va  eșua.   Consultați
              --memlimit-compress=limita pentru modalitățile posibile de a specifica limita.

       --memlimit-mt-decompress=limita
              Stabilește o limită de utilizare a memoriei pentru decomprimarea cu mai multe  fire
              de  execuție.   Acest  lucru  poate  afecta doar numărul de fire de execuție; acest
              lucru nu îl va face niciodată pe xz să  refuze  decomprimarea  unui  fișier.   Dacă
              limita  este prea scăzută pentru a permite orice mod cu mai multe fire de execuție,
              limita este ignorată și xz va continua în modul  cu  un  singur  fir  de  execuție.
              Rețineți  că,  dacă  se  folosește  și opțiunea --memlimit-decompress, se va aplica
              întotdeauna atât modurilor cu un singur fir de execuție, cât și  modurilor  cu  mai
              multe  fire de execuție și astfel limita efectivă pentru modul cu mai multe fire de
              execuție  nu  va  fi  niciodată  mai  mare  decât  limita  stabilită  cu   opțiunea
              --memlimit-decompress.

              Spre  deosebire  de  celelalte  opțiuni de limită de utilizare a memoriei, opțiunea
              --memlimit-mt-decompress=limita  are  o  limită  implicită  specifică   sistemului.
              Comanda xz --info-memory poate fi folosită pentru a vedea valoarea curentă.

              Această  opțiune  și  valoarea  ei  implicită  există  deoarece, fără nicio limită,
              decomprimarea cu (mai multe) fire de execuție ar putea ajunge să aloce o  cantitate
              „nebună”  de  memorie cu unele fișiere de intrare.  Dacă limita implicită este prea
              scăzută pe sistemul dumneavoastră, nu ezitați să creșteți limita, dar niciodată  să
              nu o stabiliți la o valoare mai mare decât cantitatea de memorie RAM utilizabilă și
              cu niște fișiere de intrare adecvate, xz va încerca să utilizeze acea cantitate  de
              memorie  chiar  și  cu  un  număr  redus  de  fire  de execuție.  Rularea lui xz cu
              depășirea cantității de memorie fizice(RAM) sau a celei de interschimb(swap) nu  va
              îmbunătăți performanța de decomprimare.

              Consultați  opțiunea  --memlimit-compress=limita  pentru  modalități  posibile de a
              specifica  limita.   Stabilirea  limitei  la  0  restabilește  limita  la  valoarea
              implicită specifică sistemului.

       -M limita, --memlimit=limita, --memory=limita
              Aceasta  este  echivalentă  cu  specificarea opțiunilor: --memlimit-compress=limita
              --memlimit-decompress=limita --memlimit-mt-decompress=limita.

       --no-adjust
              Afișează o eroare și  iese  dacă  limita  de  utilizare  a  memoriei  nu  poate  fi
              îndeplinită  fără ajustarea parametrilor care afectează ieșirea comprimată.  Adică,
              acest lucru împiedică xz să comute codificatorul din modul cu  mai  multe  fire  de
              execuție  în  modul  cu  un  singur  fir  de  execuție  și  să  reducă  dimensiunea
              dicționarului LZMA2.  Chiar și atunci când această opțiune este utilizată,  numărul
              de  fire  de  execuție  poate  fi  redus  pentru  a îndeplini limita de utilizare a
              memoriei, deoarece aceasta nu va afecta comprimarea.

              Ajustarea  automată  este  întotdeauna  dezactivată  la  crearea  fluxurilor  brute
              (--format=raw).

       -T număr, --threads=număr
              Specifică  numărul  de  fire  de  execuție  de  utilizat.   Stabilirea numărului la
              valoarea specială 0, face ca xz să utilizeze până la atâtea fire de  execuție  câte
              procesoare sunt în sistem.  Numărul real de fire de execuție poate fi mai mic decât
              număr dacă fișierul de intrare nu este suficient de mare pentru a trece la modul cu
              mai  multe  fire de execuție cu parametrii dați, sau dacă folosirea mai multor fire
              de execuție ar depăși limita de utilizare a memoriei.

              Operațiile de comprimare cu un singur fir de execuție și cele cu mai multe fire  de
              execuție produc ieșiri diferite.  Comprimarea cu un singur fir de execuție va oferi
              cea mai mică dimensiune a fișierului, dar numai ieșirea de la  comprimarea  cu  mai
              multe  fire  de execuție poate fi decomprimată folosind mai multe fire.  Stabilirea
              numărului la 1 va determina ca xz să folosească modul cu un singur fir de execuție.
              Stabilirea  numărului  la  orice  altă  valoare,  inclusiv 0, va determina ca xz să
              folosească comprimarea cu mai multe fire de execuție chiar  dacă  sistemul  acceptă
              doar  un  fir  hardware.  (xz 5.2.x folosește modul cu un singur fir de execuție în
              această situație.)

              Pentru a utiliza modul cu mai multe fire de execuție cu un  singur  fir,  stabiliți
              numărul  la  +1.   Prefixul  +  nu  are  efect cu alte valori decât 1.  O limită de
              utilizare a memoriei poate face în continuare xz să treacă în modul  cu  un  singur
              fir,  cu  excepția  cazului  în care este utilizată opțiunea --no-adjust.  Suportul
              pentru prefixul + a fost adăugat în xz 5.4.0.

              Dacă a fost solicitat un număr automat de fire  și  nu  a  fost  specificată  nicio
              limită  de  utilizare  a  memoriei, atunci o limită „maleabilă” implicită specifică
              sistemului va fi utilizată pentru a limita eventual numărul de  fire  de  execuție.
              Este  o  limită  „maleabilă” în sensul că este ignorată dacă numărul de fire devine
              unul, astfel o limită „maleabilă” nu va  opri  niciodată  xz  să  comprime  sau  să
              decomprime.   Această  limită  „maleabilă”  implicită nu va face xz să treacă de la
              modul cu mai multe fire de  execuție  la  modul  cu  un  singur  fir  de  execuție.
              Limitele active pot fi văzute rulând comanda xz --info-memory.

              În  prezent,  singura  metodă  de  procesare  cu  fire  de execuție este împărțirea
              intrării în blocuri și comprimarea lor independent unul de  celălalt.   Dimensiunea
              implicită  a  blocului  depinde  de  nivelul de comprimare și poate fi înlocuită cu
              opțiunea --block-size=dimensiune.

              Decomprimarea cu fire de execuție funcționează numai pe fișierele care  conțin  mai
              multe  blocuri  cu  informații  despre  dimensiune  în  antetele blocurilor.  Toate
              fișierele suficient de mari comprimate în modul  cu  mai  multe  fire  de  execuție
              îndeplinesc această condiție, dar fișierele comprimate în modul cu un singur fir de
              execuție   nu   o   îndeplinesc   chiar   dacă    a    fost    folosită    opțiunea
              --block-size=dimensiune.

   Lanțuri de filtrare personalizate pentru instrumentul de comprimare
       Un  lanț  de  filtrare  personalizat  permite  specificarea  parametrilor de comprimare în
       detaliu, în loc  să  se  bazeze  pe  cei  asociați  opțiunilor  prestabilite.   Când  este
       specificat  un  lanț  de  filtrare  personalizat,  opțiunile  prestabilite  (-0  ... -9 și
       --extreme) de mai devreme din linia de comandă sunt uitate.  Dacă o  opțiune  prestabilită
       este  specificată  după  una  sau mai multe opțiuni de lanț de filtrare personalizat, noua
       prestabilire intră în vigoare și opțiunile lanțului de filtrare personalizat,  specificate
       mai devreme sunt uitate.

       Un  lanț  de  filtrare este comparabil cu conductele din linia de comandă.  La comprimare,
       intrarea necomprimată merge la primul filtru, a cărui ieșire  merge  la  următorul  filtru
       (dacă există).  Ieșirea ultimului filtru este scrisă în fișierul comprimat.  Numărul maxim
       de filtre din lanț este de patru, dar de obicei un lanț de filtrare are doar unul sau două
       filtre.

       Multe  filtre  au  limitări  în  ceea  ce  privește locul în care se pot afla în lanțul de
       filtrare: unele filtre pot funcționa doar ca ultimul  filtru  din  lanț,  altele  doar  ca
       non-ultim  filtru  și unele funcționează în orice poziție din lanț.  În funcție de filtru,
       această limitare este fie inerentă proiectării filtrului,  fie  există  pentru  a  preveni
       problemele de securitate.

       Un  lanț  de  filtrare personalizat este specificat utilizând una sau mai multe opțiuni de
       filtrare în ordinea în care sunt cerute în lanțul de filtrare.  Adică, ordinea  opțiunilor
       de  filtrare este semnificativă!  La decodificarea fluxurilor brute (--format=raw), lanțul
       de filtrare este specificat în aceeași ordine în care a fost specificat la comprimare.

       Filtrele iau opțiuni specifice filtrului ca o  listă  separată  prin  virgule.   Virgulele
       suplimentare  din  opțiuni sunt ignorate.  Fiecare opțiune are o valoare implicită, așa că
       trebuie să specificați numai cele pe care doriți să le modificați.

       Pentru a vedea întregul lanț de filtre  și  opțiuni,  utilizați  xz  -vv  (adică  folosiți
       --verbose  de  două  ori).   Acest  lucru  funcționează  și pentru vizualizarea opțiunilor
       lanțului de filtre utilizate de valorile prestabilite.

       --lzma1[=opțiuni]
       --lzma2[=opțiuni]
              Adaugă filtrul LZMA1 sau LZMA2 la lanțul de filtre.  Aceste filtre pot fi  folosite
              doar ca ultimul filtru din lanț.

              LZMA1 este un filtru vechi, care este acceptat aproape exclusiv datorită formatului
              de fișier vechi .lzma, care acceptă numai LZMA1.  LZMA2 este o versiune actualizată
              a LZMA1 pentru a rezolva unele probleme practice ale LZMA1.  Formatul .xz folosește
              LZMA2 și nu acceptă deloc LZMA1.  Viteza de comprimare și rapoartele LZMA1 și LZMA2
              sunt practic aceleași.

              LZMA1 și LZMA2 au același set de opțiuni:

              preset=prestabilit
                     Reconfigurează  toate opțiunile LZMA1 sau LZMA2 la prestabilit.  Prestabilit
                     constă  dintr-un  număr  întreg,  care  poate  fi  urmat   de   modificatori
                     prestabiliți  cu  o  singură  literă.  Numărul întreg poate fi de la 0 la 9,
                     potrivindu-se  cu  opțiunile  liniei  de  comandă  -0  ...   -9.    Singurul
                     modificator  acceptat  în  prezent  este e, care se potrivește cu --extreme.
                     Dacă nu este specificat prestabilit, valorile implicite ale opțiunilor LZMA1
                     sau LZMA2 sunt preluate din prestabilirea 6.

              dict=dimensiunea
                     Dimensiunea dicționarului (istoricul memoriei tampon) indică câți octeți din
                     datele necomprimate recent procesate sunt păstrați în  memorie.   Algoritmul
                     încearcă să găsească secvențe de octeți care se repetă (potriviri) în datele
                     necomprimate și să le înlocuiască cu referințe la datele aflate  în  prezent
                     în dicționar.  Cu cât dicționarul este mai mare, cu atât este mai mare șansa
                     de  a  găsi  o  potrivire.   Astfel,  creșterea  dimensiunii   dicționarului
                     îmbunătățește  de  obicei  raportul de comprimare, dar un dicționar mai mare
                     decât fișierul necomprimat este risipă de memorie.

                     Dimensiuneatipică a dicționarului este de la 64Kio până la  64Mio.   Minimul
                     este de 4Kio.  Maximul pentru compresie este în prezent de 1,5Gio (1536Mio).
                     Decomprimarea acceptă deja dicționare cu până la un octet mai puțin de 4Gio,
                     care este maximul pentru formatele de flux LZMA1 și LZMA2.

                     Dimensiunea  dicționarului  și  găsitorul de potriviri (match finder) → (mf)
                     determină împreună utilizarea memoriei  de  către  codificatorul  LZMA1  sau
                     LZMA2.   Aceeași  dimensiune  a  dicționarului  (sau  mai  mare) care a fost
                     utilizată la comprimare, este necesară  pentru  decomprimare,  astfel  încât
                     utilizarea  memoriei  de către decodificator este determinată de dimensiunea
                     dicționarului utilizată la comprimare.  Antetele .xz  stochează  dimensiunea
                     dicționarului  fie ca 2^n, fie ca 2^n + 2^(n-1), deci aceste dimensiuni sunt
                     oarecum preferate pentru  comprimare.   Alte  dimensiuni  vor  fi  rotunjite
                     atunci când sunt stocate în anteturile .xz.

              lc=lc  Specifică  numărul  de  biți  de context literal.  Minimul este 0 și maximul
                     este 4; implicit este 3.  În plus, suma lc și lp nu trebuie să depășească 4.

                     Toți octeții care nu pot fi  codificați  ca  potriviri  sunt  codificați  ca
                     literali.   Adică,  literalii  sunt pur și simplu octeți de 8 biți care sunt
                     codificați unul câte unul.

                     Codificarea literală presupune că cei mai mari biți lc ai octetului anterior
                     necomprimat  se  corelează  cu octetul următor.  De exemplu, în textul tipic
                     englezesc, o literă mare este adesea urmată de o literă mică, iar  o  literă
                     mică  este  urmată  de  obicei de o altă literă mică.  În setul de caractere
                     US-ASCII, cei mai mari trei biți sunt 010 pentru literele mari și 011 pentru
                     literele mici.  Când lc este cel puțin 3, codificarea literală poate profita
                     de această proprietate în datele necomprimate.

                     Valoarea implicită (3) este  de  obicei  bună.   Dacă  doriți  o  comprimare
                     maximă,   testați   lc=4.   Uneori  ajută  puțin,  iar  uneori  înrăutățește
                     comprimarea . Dacă o agravează, încercați de-asemeni cu lc=2.

              lp=lp  Specifică numărul de biți de poziție literală.  Minimul este  0  și  maximul
                     este 4; implicit este 0.

                     Lp  afectează  ce  fel  de aliniere în datele necomprimate este presupusă la
                     codificarea literalelor.  Consultați argumentul pb de  mai  jos  pentru  mai
                     multe informații despre aliniere.

              pb=pb  Specifică  numărul  de  biți  de poziție.  Minimul este 0 și maximul este 4;
                     implicit este 2.

                     Pb afectează ce fel de aliniere în datele  necomprimate  este  presupusă  în
                     general.    Valoarea   implicită   înseamnă   alinierea   pe   patru  octeți
                     (2^pb=2^2=4), care este adesea o  alegere  bună  atunci  când  nu  există  o
                     ipoteză mai bună.

                     Când  alinierea  este cunoscută, definirea lui pb în mod corespunzător poate
                     reduce puțin dimensiunea fișierului.   De  exemplu,  cu  fișierele  text  cu
                     aliniere  pe  un  octet  (US-ASCII, ISO-8859-*, UTF-8), definirea pb=0 poate
                     îmbunătăți ușor comprimarea.  Pentru textul  UTF-16,  pb=1  este  o  alegere
                     bună.  Dacă alinierea este un număr impar, cum ar fi 3 octeți, pb=0 ar putea
                     fi cea mai bună alegere.

                     Chiar dacă alinierea presupusă poate fi ajustată cu pb și lp, LZMA1 și LZMA2
                     încă  favorizează  ușor alinierea pe 16 octeți.  Ar putea fi demn de luat în
                     considerare atunci când proiectați formate de fișiere  care  pot  fi  adesea
                     comprimate cu LZMA1 sau LZMA2.

              mf=mf  Căutarea  potrivirilor  are  un  efect major asupra vitezei codificatorului,
                     utilizării memoriei și raportului de comprimare.  De  obicei,  găsitorii  de
                     potriviri  din  lanțul sumelor de control sunt mai rapizi decât găsitorii de
                     potriviri din arborele binar.  Valoarea implicită depinde de prestabilit:  0
                     folosește hc3, 1–3 folosește hc4, iar restul folosește bt4.

                     Sunt  acceptate  următoarele  opțiuni de căutare de potriviri.  Formulele de
                     utilizare a memoriei de mai jos sunt aproximări estimative, care se  apropie
                     cel mai mult de realitate atunci când dict este o putere a lui doi.

                     hc3    Lanț de sumă de control, cu suma de control de 2 și 3 octeți
                            Valoarea minimă pentru nice: 3
                            Utilizarea memoriei:
                            dict * 7.5 (dacă dict <= 16 Mio);
                            dict * 5.5 + 64 MiB (dacă dict > 16 Mio)

                     hc4    Lanț de sumă de control, cu suma de control de 2, 3 și 4 octeți
                            Valoarea minimă pentru nice: 4
                            Utilizarea memoriei:
                            dict * 7.5 (dacă dict <= 32 Mio);
                            dict * 6.5 (dacă dict > 32 Mio)

                     bt2    Arbore binar cu suma de control de 2 octeți
                            Valoarea minimă pentru nice: 2
                            Utilizarea memoriei: dict * 9.5

                     bt3    Arbore binar cu suma de control de 2 și 3 octeți
                            Valoarea minimă pentru nice: 3
                            Utilizarea memoriei:
                            dict * 11.5 (dacă dict <= 16 Mio);
                            dict * 9.5 + 64 MiB (dacă dict > 16 Mio)

                     bt4    Arbore binar cu suma de control de 2, 3 și 4 octeți
                            Valoarea minimă pentru nice: 4
                            Utilizarea memoriei:
                            dict * 11.5 (dacă dict <= 32 Mio);
                            dict * 10.5 (dacă dict > 32 Mio)

              mode=mod
                     Comprimarea  mod  specifică metoda de analiză a datelor produse de găsitorul
                     de potriviri.  Modurile acceptate  sunt  fast(rapid)  și  normal.   Valoarea
                     implicită  este  fast  pentru prestabiliri 0–3 și normal pentru prestabiliri
                     4–9.

                     De obicei, fast este folosit cu instrumentele de căutare  de  potriviri  ale
                     lanțului  de  sume  de  control,  și  normal  cu instrumentele de căutare de
                     potriviri din arborele binar.  Aceasta este și ceea ce fac prestabiririle.

              nice=nice
                     Specifică ceea ce este  considerat  a  fi  o  lungime  bună(nice)  pentru  o
                     potrivire.   Odată  ce  este  găsită  o  potrivire de cel puțin nice octeți,
                     algoritmul nu mai caută după potriviri posibile mai bune.

                     Nice poate fi de 2–273 octeți.  Valorile mai mari tind să ofere un raport de
                     comprimare  mai  bun  în detrimentul vitezei.  Valoarea implicită depinde de
                     prestabilit.

              depth=adâncimea
                     Specifică adâncimea maximă de căutare în găsitorul de  potriviri.   Valoarea
                     implicită  este  valoarea  specială  de  0,  ceea ce face ca instrumentul de
                     comprimare să determine o adâncime rezonabilă pornind de la valorile  mf  și
                     nice.

                     Adâncimea rezonabilă pentru lanțuri de sumă de control este 4–100 și 16–1000
                     pentru arbori binari.  Folosirea unor valori  foarte  mari  pentru  adâncime
                     poate  face  codificatorul  extrem  de  lent  cu  unele fișiere.  Evitați să
                     stabiliți adâncimea la valori  peste  1000,  cu  excepția  cazului  în  care
                     sunteți  pregătit  să  întrerupeți comprimarea în cazul în care durează prea
                     mult.

              La  decodificarea  fluxurilor  brute  (--format=raw),  LZMA2  are  nevoie  doar  de
              dimensiunea dicționarului.  LZMA1 are nevoie de asemenea de lc, lp și pb.

       --x86[=opțiuni]
       --arm[=opțiuni]
       --armthumb[=opțiuni]
       --arm64[=opțiuni]
       --powerpc[=opțiuni]
       --ia64[=opțiuni]
       --sparc[=opțiuni]
              Adaugă  un  filtru  de  ramură/apel/salt  (branch/call/jump  ⟶  „BCJ”) la lanțul de
              filtre.  Aceste filtre pot fi utilizate numai ca un filtru care nu este ultimul din
              lanțul de filtrare.

              Un  filtru  BCJ  convertește  adresele relative din codul mașinii în omoloagele lor
              absolute.  Acest lucru nu modifică dimensiunea datelor, dar crește redundanța, ceea
              ce  poate  ajuta  LZMA2 să producă fișier .xz cu 0–15 % mai mic.  Filtrele BCJ sunt
              întotdeauna reversibile, deci folosind un filtru BCJ pentru tipul greșit de date nu
              provoacă nicio pierdere de date, deși poate înrăutăți puțin raportul de comprimare.
              Filtrele BCJ sunt foarte rapide și folosesc o cantitate nesemnificativă de memorie.

              Aceste filtre BCJ au probleme cunoscute legate de raportul de comprimare:

              •  Unele tipuri de fișiere care conțin cod executabil (de exemplu, fișiere  obiect,
                 biblioteci  statice  și  module  de  kernel Linux)  au adresele din instrucțiuni
                 completate cu valori de umplere.  Aceste  filtre  BCJ  vor  face  în  continuare
                 conversia adresei, ceea ce va înrăutăți comprimarea cu aceste fișiere.

              •  Dacă  pe  o  arhivă  este  aplicat  un  filtru  BCJ, este posibil ca raportul de
                 comprimare să fie mai rău decât la neutilizarea unui filtru  BCJ.   De  exemplu,
                 dacă  există executabile similare sau chiar identice, filtrarea va face probabil
                 fișierele mai  puțin  asemănătoare  și  astfel  comprimarea  este  mai  proastă.
                 Conținutul  fișierelor  neexecutabile  din aceeași arhivă poate conta și el.  În
                 practică, trebuie să încercați cu  și  fără  filtru  BCJ  pentru  a  vedea  care
                 rezultat este mai bun în fiecare situație.

              Seturi de instrucțiuni diferite au o aliniere diferită: fișierul executabil trebuie
              aliniat la un multiplu al acestei valori în datele de intrare pentru ca filtrul  să
              funcționeze.

                     Filtru      Aliniere   Note
                     x86             1      x86 pe 32 de biți
                                            sau 64 de biți
                     ARM             4
                     ARM-Thumb       2
                     ARM64           4      alinierea pe 4096-octeți
                                            este cea mai bună
                     PowerPC         4      Doar big endian
                     IA-64          16      Itanium
                     SPARC           4

              Deoarece  datele  filtrate prin BCJ sunt de obicei comprimate cu LZMA2, raportul de
              comprimare poate fi ușor îmbunătățit dacă opțiunile LZMA2 sunt definite pentru a se
              potrivi  cu  alinierea  filtrului BCJ selectat.  De exemplu, cu filtrul IA-64, este
              bine să stabiliți pb=4 sau chiar pb=4,lp=4,lc=0 cu  LZMA2  (2^4=16).   Filtrul  x86
              este  o  excepție;  de  obicei, este bine să rămână la alinierea implicită de patru
              octeți a LZMA2 atunci când se comprimă executabile x86.

              Toate filtrele BCJ acceptă același opțiuni:

              start=poziție
                     Specifică poziția de pornire care este utilizată la conversia între adresele
                     relative  și  absolute.   Poziția  trebuie  să  fie un multiplu al alinierii
                     filtrului (consultați tabelul de mai sus).  Valoarea  implicită  este  zero.
                     În  practică,  valoarea  implicită  este  bună;  specificarea  unei  poziții
                     personalizate nu este aproape niciodată utilă.

       --delta[=opțiuni]
              Adaugă filtrul Delta în lanțul de filtrare.  Filtrul Delta poate fi folosit doar ca
              un filtru care nu este ultimul în lanțul de filtrare.

              În  prezent,  este acceptat doar calculul delta simplu de octeți.  Poate fi util la
              comprimarea, de exemplu, a imaginilor  bitmap  necomprimate  sau  a  sunetului  PCM
              necomprimat.   Cu  toate  acestea,  algoritmii  cu  scop  special  pot da rezultate
              semnificativ mai bune decât Delta + LZMA2.  Acest lucru este valabil  mai  ales  în
              cazul audio, care se comprimă mai repede și mai bine, de exemplu, cu flac(1).

              Opțiuni acceptate:

              dist=distanța
                     Specifică  distanța  calculului  delta  în  octeți.  Distanța trebuie să fie
                     1–256.  Valoarea implicită este 1.

                     De exemplu, cu dist=2 și intrare de opt octeți: A1 B1 A2 B3  A3  B5  A4  B7,
                     ieșirea va fi: A1 B1 01 02 01 02 01 02.

   Alte opțiuni
       -q, --quiet
              Suprimă avertismentele și notificările.  Specificați acest lucru de două ori pentru
              a suprima și erorile.  Această opțiune nu are niciun efect asupra stării de ieșire.
              Adică, chiar dacă o avertizare a fost suprimată, starea de ieșire pentru a indica o
              avertizare este încă utilizată.

       -v, --verbose
              Oferă informații detaliate.  Dacă ieșirea de eroare standard este conectată  la  un
              terminal,  xz va afișa un indicator de progres.  Specificarea opțiunii --verbose de
              două ori, va avea ca rezultat oferirea de informații și mai detaliate.

              Indicatorul de progres afișează următoarele informații:

              •  Procentul de completare este afișat dacă se cunoaște dimensiunea  fișierului  de
                 intrare.   Adică,  procentul  nu  poate  fi afișat la procesarea fișierului prin
                 conducte(pipe).

              •  Cantitatea   de   date   comprimate   produse   (comprimare)    sau    consumate
                 (decomprimare).

              •  Cantitatea   de   date   necomprimate   consumate   (comprimare)   sau   produse
                 (decomprimare).

              •  Raportul  de  comprimare,  care  se  calculează  împărțind  cantitatea  de  date
                 comprimate procesate până acum la cantitatea de date necomprimate procesate până
                 acum.

              •  Viteza de comprimare sau decomprimare.  Aceasta este măsurată  drept  cantitatea
                 de  date  necomprimate  consumate  (comprimare)  sau  produse  (decomprimare) pe
                 secundă.  Este afișată după ce au trecut câteva secunde de  când  xz  a  început
                 procesarea fișierului.

              •  Timpul scurs în format M:SS sau H:MM:SS.

              •  Timpul  rămas  estimat  este  afișat numai atunci când dimensiunea fișierului de
                 intrare este cunoscută și au trecut deja câteva secunde de  când  xz  a  început
                 procesarea  fișierului.   Ora este afișată într-un format mai puțin precis, care
                 nu are niciodată două puncte, de exemplu, 2 min 30 s.

              Când ieșirea de eroare standard nu este  un  terminal,  --verbose  va  face  xz  să
              imprime   numele  fișierului,  dimensiunea  comprimată,  dimensiunea  necomprimată,
              raportul de comprimare și, eventual, de asemenea,  viteza  și  timpul  scurs  pe  o
              singură  linie  la  ieșirea  de  eroare standard după comprimarea sau decomprimarea
              fișierului.  Viteza și timpul scurs sunt incluse numai atunci  când  operațiunea  a
              durat  cel puțin câteva secunde.  Dacă operațiunea nu s-a încheiat, de exemplu, din
              cauza  întreruperii   din  partea  utilizatorului,  se  imprimă  și  procentul   de
              completare dacă se cunoaște dimensiunea fișierului de intrare.

       -Q, --no-warn
              Nu  comută starea de ieșire la 2 chiar dacă a fost detectată o condiție care merită
              avertizată.  Această opțiune nu afectează nivelul de  detaliere  al  informațiilor,
              astfel  încât  atât  --quiet  cât  și  --no-warn trebuie folosite pentru a nu afișa
              avertismente și pentru a nu modifica starea de ieșire.

       --robot
              Afișează mesajele într-un format care poate fi analizat de mașină.  Acest lucru are
              scopul  de  a ușura scrierea interfețelor în care se dorește să se folosească xz în
              loc de liblzma, ceea ce poate fi cazul cu diferite scripturi.  Ieșirea  cu  această
              opțiune  activată  este  menită  să fie stabilă în toate versiunile xz.  Consultați
              secțiunea MOD ROBOT pentru detalii.

       --info-memory
              Afișează, într-un format care poate fi citit de om, câtă memorie  fizică  (RAM)  și
              câte fire de execuție de procesor xz crede că are sistemul și limitele de utilizare
              a memoriei pentru comprimare și decomprimare și iese cu succes.

       -h, --help
              Afișează un mesaj de ajutor care descrie opțiunile cele mai frecvent  utilizate  și
              iese cu succes.

       -H, --long-help
              Afișează  un  mesaj  de  ajutor  care  descrie toate caracteristicile xz și iese cu
              succes

       -V, --version
              Afișează numărul versiunii xz și liblzma într-un format care poate fi citit de  om.
              Pentru  a  obține  rezultate  analizabile de mașină, specificați --robot înainte de
              --version.

MOD ROBOT

       Modul robot este activat cu opțiunea --robot.  Face ieșirea lui xz mai ușor de analizat de
       către  alte  programe.   În  prezent,  opțiunea  --robot  este acceptată numai împreună cu
       opțiunile --version, --info-memory și  --list.   Va  fi  acceptată  pentru  comprimare  și
       decomprimare în viitor.

   Versiunea
       xz --robot --version va afișa numărul versiunii xz și liblzma în următorul format:

       XZ_VERSION=XYYYZZZS
       LIBLZMA_VERSION=XYYYZZZS

       X      Versiunea majoră.

       YYY    Versiunea  minoră.   Numerele  pare  sunt prezente în versiunile stabile.  Numerele
              impare sunt prezente în versiunile alfa sau beta.

       ZZZ    Nivelul de plasture(patch) pentru versiunile stabile  sau  doar  un  contor  pentru
              versiunile de dezvoltare.

       S      Stabilitate.   0  este  alfa,  1  este  beta  și  2  este stabil.  S trebuie să fie
              întotdeauna 2 atunci când AAA este par.

       XYYYZZZS sunt aceleași pe ambele linii dacă xz și liblzma sunt  din  aceeași  versiune  XZ
       Utils.

       Exemple: 4.999.9beta este 49990091 și 5.0.0 este 50000002.

   Informații privind limita memoriei
       xz  --robot  --info-memory  tipărește  o  singură  linie  cu  trei  coloane  separate prin
       tabulatori:

       1.  Cantitatea totală de memorie fizică (RAM) în octeți.

       2.  Limita de utilizare a memoriei pentru comprimare în octeți  (--memlimit-compress).   O
           valoare  specială  de  0 indică configurarea implicită, care pentru modul cu un singur
           fir este la fel ca fără limită.

       3.  Limita de utilizare a memoriei pentru decomprimare în octeți  (--memlimit-decompress).
           O  valoare specială de 0 indică configurarea implicită, care pentru modul cu un singur
           fir este la fel ca fără limită.

       4.  Începând cu xz 5.3.4alpha: Utilizarea memoriei pentru decomprimarea cu mai multe  fire
           în  octeți  (--memlimit-mt-decompress).   Acesta  nu  este  niciodată zero, deoarece o
           valoare implicită specifică sistemului afișată în coloana 5 este utilizată dacă  nu  a
           fost specificată în mod explicit nicio limită.  De asemenea, aceasta nu este niciodată
           mai mare decât valoarea din coloana 3, chiar dacă a fost  specificată  o  valoare  mai
           mare cu --memlimit-mt-decompress.

       5.  Începând  cu  xz  5.3.4alpha:  o  limită  implicită  de utilizare a memoriei specifică
           sistemului, care este utilizată pentru a limita numărul de  fire  de  execuție  atunci
           când se comprimă cu un număr automat de fire de execuție (--threads=0) și nicio limită
           de utilizare a memoriei nu fost specificată cu (--memlimit-compress).   Aceasta  este,
           de asemenea, utilizată ca valoare implicită pentru --memlimit-mt-decompress.

       6.  Începând cu xz 5.3.4alpha: numărul de fire de execuție de procesor disponibile.

       În viitor, rezultatul xz --robot --info-memory poate avea mai multe coloane, dar niciodată
       mai mult de o singură linie.

   Modul listă
       xz --robot --list utilizează o ieșire separată de tabulatori.  Prima  coloană  a  fiecărei
       linii are un șir care indică tipul de informații găsite pe acea linie:

       name   Aceasta  este  întotdeauna prima linie când începe să se listeze un fișier.  A doua
              coloană de pe linie este numele fișierului.

       file   Această linie conține informații generale despre fișierul .xz.  Această linie  este
              întotdeauna tipărită după linia name.

       stream Acest  tip  de  linie  este  utilizat numai atunci când a fost specificată opțiunea
              --verbose.  Există tot atâtea linii stream câte fluxuri există în fișierul .xz.

       block  Acest tip de linie este utilizat numai atunci  când  a  fost  specificată  opțiunea
              --verbose.   Există  tot  atâtea  linii  block câte blocuri există în fișierul .xz.
              Liniile block sunt afișate după toate liniile stream; tipurile diferite de linii nu
              sunt intercalate.

       summary
              Acest  tip  de  linie  este  folosit  numai  atunci  când opțiunea --verbose a fost
              specificată de două ori.  Această linie este afișată după toate liniile block.   Ca
              și linia file, linia summary conține informații generale despre fișierul .xz.

       totals Această  linie  este întotdeauna ultima linie din lista afișată la ieșire.  Aceasta
              arată numărul total și dimensiunile.

       Coloanele din liniile file:
              2.  Numărul de fluxuri din fișier
              3.  Numărul total de blocuri din fluxuri
              4.  Dimensiunea comprimată a fișierului
              5.  Dimensiunea necomprimată a fișierului
              6.  Raportul de comprimare, de exemplu, 0,123.  Dacă raportul este peste 9,999,  în
                  locul raportului sunt afișate trei liniuțe (---).
              7.  Lista de nume de verificare a integrității, separate prin virgule.  Următoarele
                  șiruri sunt utilizate pentru tipurile de  verificare  cunoscute:  None,  CRC32,
                  CRC64  și  SHA-256.   Pentru  tipurile de verificări necunoscute, se utilizează
                  None-N, unde N este ID-ul de verificare ca număr zecimal (una sau două cifre).
              8.  Dimensiunea totală a umpluturii fluxului din fișier

       Coloanele din liniile stream:
              2.  Numărul fluxului (primul flux este 1)
              3.  Numărul de blocuri din flux
              4.  Poziția de pornire a comprimării
              5.  Poziția de pornire a decomprimării
              6.  Dimensiune comprimată (nu include umplutura fluxului)
              7.  Dimensiune necomprimată
              8.  Raport de comprimare
              9.  Numele verificării de integritate
              10. Dimensiunea umpluturii fluxului

       Coloanele din liniile block:
              2.  Numărul fluxului care conține acest bloc
              3.  Numărul blocului în raport cu începutul fluxului (primul bloc este 1)
              4.  Numărul blocului în raport cu începutul fișierului
              5.  Poziția de pornire a comprimării în raport cu începutul fișierului
              6.  Poziția de pornire necomprimată în raport cu începutul fișierului
              7.  Dimensiunea totală comprimată a blocului (include antetele)
              8.  Dimensiune necomprimată
              9.  Raport de comprimare
              10. Numele verificării de integritate

       Dacă opțiunea --verbose a fost specificată de două ori, coloane suplimentare sunt  incluse
       pe  liniile block.  Acestea nu sunt afișate cu o singură specificare a opțiunii --verbose,
       deoarece obținerea acestor informații necesită multe căutări și,  prin  urmare,  poate  fi
       lentă:
              11. Valoarea verificării integrității în hexazecimal
              12. Dimensiunea antetului blocului
              13. Indicatori  de  bloc:  c indică faptul că este prezentă dimensiunea comprimată,
                  iar  u  indică  faptul  că  este  prezentă  dimensiunea   necomprimată.    Dacă
                  indicatorul  nu  este  determinat,  este afișată o liniuță (-) pentru a menține
                  lungimea șirului fixă.  Pot fi adăugate noi indicatoare la  sfârșitul  șirului,
                  în viitor.
              14. Dimensiunea  datelor  comprimate  reale  din  bloc (acest lucru exclude antetul
                  blocului, umplutura blocului și câmpurile de verificare)
              15. Cantitatea de memorie (în octeți) necesară pentru a decomprima  acest  bloc  cu
                  această versiune xz
              16. Lanț  de  filtrare.   Rețineți  că  majoritatea  opțiunilor utilizate în timpul
                  comprimării nu pot  fi  cunoscute,  deoarece  doar  opțiunile  necesare  pentru
                  decomprimare sunt stocate în anteturile .xz.

       Coloanele din liniile summary:
              2.  Cantitatea  de memorie (în octeți) necesară pentru a decomprima acest fișier cu
                  această versiune xz
              3.  yes sau  no  indicând  dacă  toate  antetele  blocurilor  au  atât  dimensiunea
                  comprimată, cât și dimensiunea necomprimată stocate în ele
              Începând cu xz 5.1.2alpha:
              4.  Versiunea xz minimă necesară pentru a decomprima fișierul

       Coloanele din linia totals:
              2.  Numărul de fluxuri
              3.  Numărul de blocuri
              4.  Dimensiunea comprimată
              5.  Dimensiune necomprimată
              6.  Raportul mediu de comprimare
              7.  Lista de nume de verificare a integrității, separate prin virgule, care au fost
                  prezente în fișiere
              8.  Dimensiunea umpluturii fluxului
              9.  Numărul de fișiere.  Aceasta este  aici  pentru  a  păstra  ordinea  coloanelor
                  anterioare la fel ca pe liniile file.

       Dacă  opțiunea  --verbose  a  fost  specificată  de două ori, pe linia totals sunt incluse
       coloane suplimentare:
              10. Cantitatea maximă de memorie (în octeți) necesară pentru a decomprima fișierele
                  cu această versiune xz
              11. yes  sau  no  indicând  dacă  toate  antetele  blocurilor  au  atât dimensiunea
                  comprimată, cât și dimensiunea necomprimată stocate în ele
              Începând cu xz 5.1.2alpha:
              12. Versiunea xz minimă necesară pentru a decomprima fișierul

       Versiunile viitoare pot adăuga noi tipuri de linii și  pot  fi  adăugate  coloane  noi  la
       tipurile de linii existente, dar coloanele existente nu vor fi modificate.

STARE DE IEȘIRE

       0      Totul este bine.

       1      A apărut o eroare.

       2      A apărut ceva care merită să fie avertizat, dar nu au apărut erori reale.

       Notificările  (nu  avertismentele  sau  erorile)  afișate la ieșirea de eroare standard nu
       afectează starea de ieșire.

VARIABILE DE MEDIU

       xz analizează liste de opțiuni separate prin spații din variabilele de  mediu  XZ_DEFAULTS
       și  XZ_OPT,  în  această  ordine,  înainte  de  a  analiza opțiunile din linia de comandă.
       Rețineți că numai opțiunile sunt analizate din variabilele de mediu;  toate  non-opțiunile
       sunt  ignorate în tăcere.  Analiza se face cu funcția getopt_long(3) care este folosită și
       pentru argumentele liniei de comandă.

       XZ_DEFAULTS
              Opțiuni implicite specifice utilizatorului sau la nivelul  întregului  sistem.   De
              obicei,  acest  lucru este specificat într-un script de inițializare shell pentru a
              activa limitatorul de utilizare a memoriei lui xz implicit.  Excluzând  scripturile
              de  inițializare  shell  și  cazurile  speciale  similare,  scripturile  nu trebuie
              niciodată să modifice sau să dezactiveze XZ_DEFAULTS.

       XZ_OPT Acest lucru este pentru transmiterea  opțiunilor  către  xz  atunci  când  nu  este
              posibil  să  definiți opțiunile direct în linia de comandă a xz.  Acesta este cazul
              când xz este rulat de un script sau de un instrument, de exemplu, GNU tar(1):

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

              Scripturile pot folosi XZ_OPT, de exemplu, pentru a configura  opțiunile  implicite
              de   comprimare   specifice   scriptului.    Se  recomandă  totuși  să  se  permită
              utilizatorilor să înlocuiască XZ_OPT dacă acest lucru este rezonabil.  De  exemplu,
              în scripturile sh(1) se poate folosi ceva de genul acesta:

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

COMPATIBILITATE CU LZMA-UTILS

       Sintaxa  liniei de comandă a lui xz este practic o super-colecție de lzma, unlzma și lzcat
       așa cum se găsește în LZMA Utils 4.32.x.  În  cele  mai  multe  cazuri,  este  posibil  să
       înlocuiți  LZMA  Utils  cu XZ Utils fără a întrerupe scripturile existente.  Există totuși
       unele incompatibilități, care uneori pot cauza probleme.

   Niveluri de comprimare prestabilite
       Numerotarea nivelurilor de comprimare prestabilite nu este identică în xz și  LZMA  Utils.
       Cea  mai importantă diferență este modul în care dimensiunile dicționarului sunt atribuite
       diferitelor niveluri prestabilite.  Dimensiunea dicționarului este  aproximativ  egală  cu
       memoria utilizată la decomprimare.

              Nivel     xz      LZMA Utils
               -0     256 KiB      N/A
               -1       1 MiB     64 KiB
               -2       2 MiB      1 MiB
               -3       4 MiB    512 KiB
               -4       4 MiB      1 MiB
               -5       8 MiB      2 MiB
               -6       8 MiB      4 MiB

               -7      16 MiB      8 MiB
               -8      32 MiB     16 MiB
               -9      64 MiB     32 MiB

       Diferențele  de  dimensiune  a  dicționarului  afectează  deasemenea cantitatea de memorie
       utilizată la comprimare dar există și alte diferențe între LZMA Utils și  XZ  Utils,  care
       fac diferența și mai mare:

              Nivel     xz      LZMA Utils 4.32.x
               -0       3 MiB          N/A
               -1       9 MiB          2 MiB
               -2      17 MiB         12 MiB
               -3      32 MiB         12 MiB
               -4      48 MiB         16 MiB
               -5      94 MiB         26 MiB
               -6      94 MiB         45 MiB
               -7     186 MiB         83 MiB
               -8     370 MiB        159 MiB
               -9     674 MiB        311 MiB

       Nivelul  prestabilit  implicit în LZMA Utils este -7, în timp ce în XZ Utils este -6, deci
       ambele folosesc un dicționar de 8Mio în mod implicit.

   Fișiere .lzma transmise în flux vs. netransmise în flux
       Dimensiunea necomprimată a fișierului poate fi stocată în antetul .lzma.  LZMA Utils  face
       asta  atunci  când comprimă fișiere obișnuite.  Alternativa este să marcați că dimensiunea
       necomprimată este necunoscută și să folosiți marcajul de sfârșit  de  încărcare  pentru  a
       indica  unde  ar trebui să se oprească decomprimarea.  LZMA Utils folosește această metodă
       atunci când dimensiunea necomprimată nu este cunoscută, ceea ce este  cazul,  de  exemplu,
       când se folosesc conducte.

       xz  acceptă decomprimarea fișierelor .lzma cu sau fără marcaj de sfârșit de încărcare, dar
       toate fișierele .lzma create de xz vor folosi marcajul de sfârșit de încărcare și vor avea
       dimensiunea  necomprimată  marcată  ca  necunoscută  în antetul .lzma.  Aceasta poate fi o
       problemă în unele situații mai puțin frecvente.  De exemplu, un instrument de decomprimare
       .lzma  încorporat  într-un dispozitiv poate funcționa numai cu fișiere care au dimensiunea
       necomprimată cunoscută.  Dacă întâmpinați această  problemă,  trebuie  să  utilizați  LZMA
       Utils sau LZMA SDK pentru a crea fișiere .lzma cu dimensiunea necomprimată cunoscută.

   Fișiere .lzma neacceptate
       Formatul .lzma permite valori lc de până la 8 și valori lp de până la 4.  LZMA Utils poate
       decomprima fișiere cu orice lc și lp, dar creează întotdeauna fișiere  cu  lc=3  și  lp=0.
       Crearea de fișiere cu alte lc și lp este posibilă cu xz și cu LZMA SDK.

       Implementarea  filtrului  LZMA1  în  liblzma necesită ca suma lc și lp să nu depășească 4.
       Altfel, fișierele .lzma, care depășesc această limitare, nu pot fi decomprimate cu xz.

       LZMA Utils creează numai fișiere .lzma care au o dimensiune de dicționar de 2^n (o  putere
       de  2),  dar  acceptă  fișiere  cu  orice  dimensiune de dicționar.  liblzma acceptă numai
       fișierele .lzma care au dimensiunea de dicționar de 2^n sau 2^n +  2^(n-1).   Acest  lucru
       este pentru a reduce numărul de „fals pozitiv” atunci când se detectează fișiere .lzma.

       Aceste  limitări  nu  ar  trebui  să  fie  o  problemă în practică, deoarece practic toate
       fișierele .lzma au fost comprimate cu opțiuni pe care liblzma le va accepta.

   Resturi rămase
       Când decomprimă, LZMA Utils ignoră în tăcere totul după primul flux .lzma.  În majoritatea
       situațiilor,  aceasta  este  o  eroare.   Aceasta  înseamnă, de asemenea, că LZMA Utils nu
       acceptă decomprimarea fișierelor .lzma concatenate.

       Dacă au rămas date după primul flux .lzma,  xz  consideră  că  fișierul  este  corupt,  cu
       excepția  cazului  în  care  a fost utilizată opțiunea --single-stream.  Acest lucru poate
       rupe  scripturile  obscure(scrise  deficitar)  care  presupun  că  resturile  rămase  sunt
       ignorate.

NOTE

   Rezultatul comprimării poate varia
       Ieșirea  exactă  comprimată  produsă din același fișier de intrare necomprimat poate varia
       între versiunile XZ Utils, chiar dacă opțiunile de comprimare sunt identice.  Acest  lucru
       se  datorează  faptului  că  instrumentul codificator poate fi îmbunătățit (comprimare mai
       rapidă sau mai bună) fără a afecta formatul fișierului.   Ieșirea  poate  varia  chiar  și
       între  compilările  diferite  ale aceleiași versiuni XZ Utils, dacă sunt utilizate opțiuni
       diferite de compilare.

       Cele de mai sus înseamnă că odată ce opțiunea  --rsyncable  a  fost  utilizată,  fișierele
       rezultate nu vor fi neapărat sincronizate cu rsync decât dacă atât fișierele vechi, cât și
       cele noi au fost comprimate cu aceeași versiune xz.  Această problemă poate  fi  remediată
       dacă  o  parte  a  implementării  codificatorului  este înghețată pentru a menține stabilă
       ieșirea „rsyncabilă” între versiunile xz.

   Instrumente de decomprimare .xz încorporate
       Implementările instrumentului de decomprimare .xz încorporat, cum ar fi  XZ  Embedded,  nu
       acceptă  neapărat fișiere create cu tipuri de verificare a integrității, altele decât none
       și  crc32.   Deoarece  valoarea  implicită  este  --check=crc64,  trebuie   să   utilizați
       --check=none sau --check=crc32 atunci când creați fișiere pentru sistemele încorporate.

       În afara sistemelor încorporate, toate instrumentele de decomprimare în format .xz acceptă
       toate tipurile de verificare  sau  cel  puțin  pot  decomprima  fișierul  fără  a  efectua
       verificarea integrității dacă acel tip de verificare nu este acceptat.

       XZ Embedded acceptă filtre BCJ, dar numai cu poziție de pornire implicită.

EXEMPLE

   Bazice
       Comprimă  fișierul  foo  în foo.xz folosind nivelul de comprimare implicit (-6) și elimină
       fișierul foo dacă comprimarea are succes:

              xz foo

       Decomprimă bar.xz în bar și nu elimină bar.xz chiar dacă decomprimarea este  efectuată  cu
       succes:

              xz -dk bar.xz

       Creează  baz.tar.xz  cu  nivelul  prestabilit -4e (-4 --extreme), care este mai lent decât
       nivelul prestabilit implicit -6, dar necesită mai  puțină  memorie  pentru  comprimare  și
       decomprimare (48Mio și, respectiv, 5Mio):

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

       Un  amestec de fișiere comprimate și necomprimate poate fi decomprimat la ieșirea standard
       cu o singură comandă:

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

   Comprimarea în paralel a mai multor fișiere
       În sisteme GNU și  *BSD,  find(1)  și  xargs(1)  pot  fi  utilizate  pentru  a  paraleliza
       comprimarea mai multor fișiere:

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

       Opțiunea  -P  pentru  comanda xargs(1) stabilește numărul de procese paralele xz.  Cea mai
       bună valoare pentru opțiunea -n depinde de câte fișiere trebuie să fie  comprimate.   Dacă
       există  doar  câteva  fișiere,  valoarea  ar  trebui  probabil să fie 1; cu zeci de mii de
       fișiere, 100 sau chiar mai mult poate să fie valoarea potrivită pentru a reduce numărul de
       procese xz pe care xargs(1) le va crea în final.

       Opțiunea  -T1 pentru xz este acolo pentru a-l forța să ruleze în modul cu un singur fir de
       execuție, deoarece xargs(1) este folosit pentru a controla cantitatea de paralelizare.

   Modul robot
       Calculează câți octeți au fost salvați în total după comprimarea mai multor fișiere:

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

       Un script poate dori să afle dacă folosește o versiune xz suficient  de  nouă.   Următorul
       script  sh(1)  verifică  dacă  numărul  versiunii  instrumentului xz este cel puțin 5.0.0.
       Această metodă este compatibilă cu  versiunile  beta  vechi,  care  nu  acceptau  opțiunea
       --robot:

              if ! eval "$(xz --robot --version 2> /dev/null)" ||         [ "$XZ_VERSION" -lt 50000002 ]; then     echo "Versiunea dumneavoastră de „xz” este prea veche!" fi unset XZ_VERSION LIBLZMA_VERSION

       Stabilește  o  limită  de  utilizare  a memoriei pentru decomprimare folosind variabila de
       mediu XZ_OPT, dar dacă o limită a fost deja stabilită, nu o mărește:

              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

   Lanțuri de filtrare personalizate pentru instrumentul de comprimare
       Cea mai simplă utilizare a lanțurilor de filtrare personalizate este  personalizarea  unei
       opțiuni  prestabilite  LZMA2.   Acest lucru poate fi util, deoarece opțiunile prestabilite
       acoperă doar un subset al combinațiilor potențial utile de opțiuni de comprimare.

       Coloanele CPUComp din tabelele de descriere a opțiunilor -0 ... -9 și --extreme sunt utile
       atunci când personalizați opțiunilor prestabilite LZMA2.  Iată părțile relevante colectate
       din aceste două tabele:

              ValPrestab   CPUComp
                 -0           0
                 -1           1
                 -2           2
                 -3           3
                 -4           4
                 -5           5
                 -6           6
                 -5e          7
                 -6e          8

       Dacă știți că un fișier necesită un dicționar oarecum mare (de exemplu, 32Mio) pentru a se
       comprima  bine,  dar  doriți  să-l  comprimați  mai  repede decât ar face xz -8, o opțiune
       prestabilită cu o valoare CPUComp scăzută (de exemplu, 1) poate  fi  modificată  pentru  a
       utiliza un dicționar mai mare:

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

       Cu anumite fișiere, comanda de mai sus poate fi mai rapidă decât xz -6 în timp ce comprimă
       semnificativ mai bine.  Cu toate acestea, trebuie  subliniat  că  doar  unele  fișiere  se
       beneficiază  de un dicționar mare, păstrând în același timp valoarea CPUComp scăzută.  Cea
       mai evidentă situație, în care un dicționar mare poate ajuta foarte mult,  este  o  arhivă
       care  conține  fișiere  foarte  asemănătoare  de  cel  puțin  câțiva  megaocteți  fiecare.
       Dimensiunea dicționarului  trebuie  să  fie  semnificativ  mai  mare  decât  orice  fișier
       individual  pentru  a  permite  LZMA2  să profite din plin de asemănările dintre fișierele
       consecutive.

       Dacă utilizarea unei mari cantități de memorie pentru comprimare și decomprimare  este  în
       regulă,  iar  fișierul comprimat are cel puțin câteva sute de megaocteți, poate fi util să
       folosiți un dicționar și mai mare decât cei 64Mio pe care i-ar folosi xz -9:

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

       Utilizarea opțiunii -vv (--verbose --verbose) ca în exemplul de mai sus,  poate  fi  utilă
       pentru  a  vedea  cerințele  de  memorie  la  comprimare  și decomprimare.  Amintiți-vă că
       utilizarea unui dicționar mai mare decât dimensiunea fișierului necomprimat este risipă de
       memorie, de aceea, comanda de mai sus nu este utilă pentru fișiere mici.

       Uneori,  timpul de comprimare nu contează, dar utilizarea memoriei la decomprimare trebuie
       menținută la un nivel scăzut, de exemplu, pentru a face posibilă decomprimarea  fișierului
       pe  un  sistem  încorporat.   Următoarea  comandă  folosește -6e (-6 --extreme) ca bază și
       fixează dimensiunea dicționarului la doar 64Kio.  Fișierul rezultat poate  fi  decomprimat
       cu XZ Embedded (de aceea există --check=crc32) folosind aproximativ 100Kio de memorie.

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

       Dacă  doriți  să  stoarceți  cât  mai mulți octeți posibil, ajustarea numărului de biți de
       context literal (lc) și a numărului de biți de poziție (pb) poate ajuta uneori.  Ajustarea
       numărului  de  biți de poziție literală (lp) ar putea ajuta, de asemenea, dar de obicei lc
       și pb sunt mai importante.  De exemplu, o arhivă de cod sursă conține în mare  parte  text
       US-ASCII,  așa  că  ceva  precum  comanda următoare, ar putea oferi un fișier „mai slăbuț”
       (aproximativ cu 0,1%) mai mic decât cu xz -6e (încercați și fără lc=4):

              xz --lzma2=preset=6e,pb=0,lc=4 fișierul_sursă.tar

       Utilizarea unui alt filtru împreună cu  LZMA2  poate  îmbunătăți  comprimarea  cu  anumite
       tipuri de fișiere.  De exemplu, pentru a comprima o bibliotecă partajată x86 pe 32 de biți
       sau x86 pe 64 de biți folosind filtrul BCJ x86:

              xz --x86 --lzma2 libfoo.so

       Rețineți  că  ordinea  opțiunilor  de  filtrare  este  semnificativă.   Dacă  --x86   este
       specificată  după  --lzma2, xz va da o eroare, deoarece nu poate exista niciun filtru după
       LZMA2 și, de asemenea, pentru că filtrul x86 BCJ nu poate fi utilizat  ca  ultimul  filtru
       din lanțul de filtrare.

       Filtrul  Delta  împreună  cu LZMA2 pot da rezultate bune cu imagini bitmap.  De obicei, ar
       trebui să întreacă comprimarea PNG, care  are  câteva  filtre  mai  avansate  decât  delta
       simplă, dar utilizează Deflate pentru comprimarea reală.

       Imaginea  trebuie  să  fie salvată în format necomprimat, de exemplu, ca TIFF necomprimat.
       Parametrul de distanță al filtrului Delta este fixat  să  se  potrivească  cu  numărul  de
       octeți  per pixel din imagine.  De exemplu, bitmap-ul RGB pe 24 de biți necesită dist=3 și
       este, de asemenea, bine să pasați pb=0 la LZMA2 pentru  a  se  adapta  alinierii  pe  trei
       octeți:

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

       Dacă mai multe imagini au fost introduse într-o singură arhivă (de exemplu, .tar), filtrul
       Delta va funcționa și pe aceasta atâta timp cât toate imaginile au același număr de octeți
       per pixel.

CONSULTAȚI ȘI

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

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