Provided by: xz-utils_5.6.1+really5.4.5-1ubuntu0.2_amd64 bug

NUME

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

REZUMAT

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

ALIAS COMENZI

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

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

DESCRIERE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

OPȚIUNI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

              Tipuri de verificare acceptate:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

              Următorul tabel rezumă caracteristicile valorilor prestabilite:

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

              Descrieri coloane:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

              Limita poate fi specificata în mai multe moduri:

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

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

              Consultați și secțiunea Utilizarea memoriei.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

              Opțiuni acceptate:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MOD ROBOT

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

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

       XZ_VERSION=XYYYZZZS
       LIBLZMA_VERSION=XYYYZZZS

       X      Versiunea majoră.

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

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

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

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

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

   Informații privind limita memoriei
       xz --robot --info-memory 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

STARE DE IEȘIRE

       0      Totul este bine.

       1      A apărut o eroare.

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

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

VARIABILE DE MEDIU

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

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

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

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

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

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

COMPATIBILITATE CU LZMA-UTILS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

NOTE

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

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

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

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

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

EXEMPLE

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

              xz foo

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

              xz -dk bar.xz

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

              xz --x86 --lzma2 libfoo.so

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

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

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

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

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

CONSULTAȚI ȘI

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

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

Tukaani                                            17.07.2023                                              XZ(1)