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

              After  successful  compression,  the  source  file is removed unless writing to standard output or
              --keep was specified.

       -d, --decompress, --uncompress
              Decompress.  After successful decompression, the source file is removed unless writing to standard
              output or --keep was specified.

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

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

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

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

       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 "Your xz is too old."
              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 source_code.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                                            2024-12-30                                              XZ(1)