Provided by: xz-utils_5.8.1-1build1_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).

              După  o  comprimare  reușită,  fișierul  sursă  este  eliminat, cu excepția cazului în care a fost
              specificată scrierea la ieșirea standard sau opțiunea --keep.

       -d, --decompress, --uncompress
              Decomprimare. După o decomprimare reușită, fișierul sursă este eliminat, cu  excepția  cazului  în
              care a fost specificată scrierea la ieșirea standard sau opțiunea --keep.

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

              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.

              Începând cu xz 5.7.1alpha, --single-stream implică --keep.

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

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

              Cerințele  de  memorie  ale modului cu mai multe fire de execuție sunt semnificativ mai mari decât
              cele ale modului cu un singur fir de execuție. Cu valoarea implicită a lui  --block-size,  fiecare
              fir  are  nevoie  de  3*3*DictSize  plus MemComp sau MemDec. De exemplu, patru fire de execuție cu
              valoarea prestabilită -6 au nevoie de 660–670 Mio de memorie.

       -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.
              În modul cu mai multe fire  de  execuție,  dimensiunile  blocurilor  sunt  stocate  în  anteturile
              blocurilor.  Aceste informații privind dimensiunea sunt necesare pentru decomprimarea cu mai multe
              fire.

              Î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 privind dimensiunea înseamnă, de asemenea, că xz nu va putea decomprima fișierele în
              modul cu mai multe fire. de execuție.

       --block-list=elemente
              Când comprimă în formatul .xz, începe un nou bloc cu un lanț de filtre personalizat opțional  după
              intervalele specificate de date necomprimate.

              elementele sunt o listă separată prin virgule. Fiecare element este format dintr-un număr opțional
              de  lanț  de  filtrare  între 0 și 9, urmat de două puncte (:) și de o dimensiune cerută a datelor
              necomprimate. Omiterea unui element (două sau mai multe virgule consecutive)  este  o  prescurtare
              pentru a utiliza dimensiunea și filtrele din elementul anterior.

              În  cazul în care fișierul de intrare este mai mare decât suma dimensiunilor din elemente, ultimul
              element se repetă până la sfârșitul fișierului. O valoare specială de  0  poate  fi  utilizată  ca
              ultimă  dimensiune  pentru  a  indica  faptul  că restul fișierului trebuie să fie codificat ca un
              singur bloc.

              Un lanț de filtre alternativ pentru fiecare bloc poate fi specificat în  combinație  cu  opțiunile
              --filters1=filtre  ...  --filters9=filtre.  Aceste  opțiuni  definesc  lanțuri  de  filtre  cu  un
              identificator cuprins între 1–9. Lanțul de filtre 0 poate fi utilizat pentru a se referi la lanțul
              de  filtre  implicit,  ceea  ce  este  același  lucru  cu  a  nu  specifica  un  lanț  de  filtre.
              Identificatorul  lanțului  de filtre poate fi utilizat înaintea dimensiunii necomprimate, urmat de
              două puncte (:). De exemplu,  dacă  se  specifică  --block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB,
              atunci blocurile vor fi create folosind:

              •  Lanțul de filtre specificat de --filters1 și 2 Mio de intrare

              •  Lanțul de filtre specificat de --filters3 și 2 Mio de intrare

              •  Lanțul de filtre specificat de --filters2 și 4 Mio de intrare

              •  Lanțul de filtre specificat de --filters2 și 4 Mio de intrare

              •  Lanțul de filtre implicit și 2 MiB de intrare

              •  Lanțul de filtre implicit și 4 MiB de intrare pentru fiecare bloc până la sfârșitul intrării.

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

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

       --no-sync
              Nu  sincronizează  fișierul  țintă  și directorul acestuia cu dispozitivul de stocare înainte de a
              elimina fișierul sursă.  Acest  lucru  poate  îmbunătăți  performanța  în  cazul  comprimării  sau
              decomprimării  multor  fișiere  mici.  Cu  toate  acestea, dacă sistemul se blochează imediat după
              ștergere, este posibil ca fișierul țintă să nu fi fost  scris  pe  dispozitivul  de  stocare,  dar
              operația  de  ștergere să fi fost. În acest caz, nici fișierul sursă original, nici fișierul țintă
              nu sunt disponibile.

              Această opțiune are efect numai atunci când xz urmează să elimine fișierul sursă. În alte  cazuri,
              sincronizarea nu se face niciodată.

              Sincronizarea și --no-sync au fost adăugate în xz 5.7.1alpha.

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

              Valoarea  implicită  pentru  fire de execuție este 0. În xz 5.4.x și mai vechi, valoarea implicită
              este 1.

   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 filtre personalizat poate fi specificat în două moduri diferite. Opțiunile --filters=filtre și
       --filters1=filtre ... --filters9=filtre permit specificarea unui întreg lanț  de  filtre  într-o  singură
       opțiune,  folosind  sintaxa  șirului de filtre liblzma. Alternativ, un lanț de filtre poate fi specificat
       prin utilizarea uneia sau mai multor opțiuni de filtrare individuale în ordinea în care  sunt  dorite  în
       lanțul  de filtre. Adică, ordinea opțiunilor de filtrare individuale este semnificativă! La decodificarea
       fluxurilor brute (--format=raw), lanțul de filtre trebuie să fie specificat în aceeași ordine în  care  a
       fost  specificat  la  comprimare.  Orice  filtru  individual sau opțiuni presetate specificate înainte de
       opțiunea de lanț complet (--filters=filtre) vor fi uitate. Filtrele individuale specificate după opțiunea
       „lanț complet” vor reinițializa lanțul de filtre.

       Atât opțiunile de filtrare completă, cât și  cele  de  filtrare  individuală  acceptă  opțiuni  specifice
       filtrului  sub  forma  unei  liste  separate  prin virgule. Se ignoră virgulele suplimentare din opțiuni.
       Fiecare opțiune are o valoare implicită, deci specificați-le pe 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.

       --filters=filtre
              Specificați  întregul  lanț de filtre sau o presetare într-o singură opțiune. Fiecare filtru poate
              fi separat prin spații sau două liniuțe (--). Este posibil să fie necesar ca filtrele să fie  puse
              între  ghilimele  în  linia  de  comandă  a shell-ului pentru a fi analizate ca o singură opțiune.
              Pentru a indica opțiuni, utilizați : sau =. O presetare poate fi prefixată cu un -  și  urmată  de
              zero  sau  mai  multe  indicatoare.  Singurul  indicator  suportat este e pentru a aplica aceleași
              opțiuni ca și --extreme.

       --filters1=filtre ... --filters9=filtre
              Specifică până la nouă lanțuri de filtre suplimentare care pot fi utilizate cu --block-list.

              De exemplu, atunci când se comprimă o arhivă cu fișiere executabile urmate de fișiere text, partea
              executabilă ar putea utiliza un lanț de filtre cu un filtru BCJ, iar partea de text  doar  filtrul
              LZMA2.

       --filters-help
              Afișează  un  mesaj  de ajutor care descrie modul de specificare a presetărilor și a lanțurilor de
              filtre personalizate în opțiunile --filters și --filters1=filtre ... --filters9=filtre și iese.

       --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]
       --riscv[=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
                     RISC-V          2

              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. Exemple:

              •  Filtrul IA-64 are o aliniere de 16 octeți, astfel încât pb=4,lp=4,lc=0 este alegere adecvată cu
                 LZMA2 (2^4=16).

              •  Codul RISC-V are o aliniere pe 2  sau  4  octeți,  depinzând  de  faptul  că  fișierul  conține
                 instrucțiuni  comprimate pe 16 biți (extensia C) sau nu. Atunci când se utilizează instrucțiuni
                 pe 16 biți, pb=2,lp=1,lc=3 sau pb=1,lp=1,lc=3 este o alegere bună. Atunci când nu sunt prezente
                 instrucțiuni pe 16 biți, pb=2,lp=2,lc=2  este  cea  mai  bună  alegere.  readelf  -h  poate  fi
                 utilizată pentru a verifica dacă „RVC” apare în linia „Indicatori".

              •  ARM64  este  întotdeauna  aliniat  pe  4  octeți, astfel încât pb=2,lp=2,lc=2 este cea mai bună
                 alegere.

              •  Filtrul x86 este o excepție. De obicei, este bine să rămâneți la valorile implicite  ale  LZMA2
                 (pb=2,lp=0,lc=3) atunci când comprimați 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  --list,
       --filters-help, --info-memory, și --version. Va fi acceptată pentru comprimare și decomprimare în viitor.

   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ă Unknown-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.

   Ajutor pentru filtrare
       xz --robot --filters-help afișează filtrele acceptate în următorul format:

       filtru:opțiune=<valoare>,opțiune=<valoare>...

       filtru Numele filtrului

       opțiune
              Numele unei opțiuni specifice unui filtru

       valoare
              Intervalele  numerice  valoare  apar  ca <min-max>. Alegerile valoare de tip șir de caractere sunt
              afișate în cadrul < > și separate de un caracter |.

       Fiecare filtru este afișat pe propria linie.

   Informații privind limita memoriei
       xz --robot --info-memory afișează o singură linie cu multiple coloane separate prin tabulatoare:

       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.

   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.

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

       Avertisment:  Prin  definirea  acestor  variabile de mediu, se modifică efectiv programele și scripturile
       care rulează xz.  De cele mai multe ori este sigur să se definească limitele  de  utilizare  a  memoriei,
       numărul  de  fire  și  opțiunile de comprimare prin intermediul variabilelor de mediu.  Cu toate acestea,
       unele opțiuni pot întrerupe scripturile. Un exemplu evident este --help care face ca xz să afișeze textul
       de ajutor în loc să comprime sau să decomprime un fișier. Exemple mai subtile sunt --quiet și  --verbose.
       În  multe  cazuri  funcționează  bine activarea indicatorului de progres folosind --verbose, dar în unele
       situații mesajele suplimentare  creează  probleme.  Nivelul  de  detaliere  al  mesajelor  afectează,  de
       asemenea, comportamentul lui --list.

       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 sau pentru a stabili numărul implicit de fire. 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: <https://7-zip.org/sdk.html>

Tukaani                                           8 martie 2025                                            XZ(1)