jpayne@68
|
1 '\" t
|
jpayne@68
|
2 .\" SPDX-License-Identifier: 0BSD
|
jpayne@68
|
3 .\"
|
jpayne@68
|
4 .\" Authors: Lasse Collin
|
jpayne@68
|
5 .\" Jia Tan
|
jpayne@68
|
6 .\"
|
jpayne@68
|
7 .\" Romanian translation for xz-man.
|
jpayne@68
|
8 .\" Mesajele în limba română pentru manualul pachetului XZ Utils.
|
jpayne@68
|
9 .\" Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2024.
|
jpayne@68
|
10 .\" Cronologia traducerii fișierului „xz-man”:
|
jpayne@68
|
11 .\" Traducerea inițială, făcută de R-GC, pentru versiunea xz-man 5.4.0-pre1.
|
jpayne@68
|
12 .\" Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022.
|
jpayne@68
|
13 .\" Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023.
|
jpayne@68
|
14 .\" Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023.
|
jpayne@68
|
15 .\" Actualizare a traducerii pentru versiunea 5.6.0-pre1, făcută de R-GC, feb-2024.
|
jpayne@68
|
16 .\" Actualizare a traducerii pentru versiunea 5.6.0-pre2, făcută de R-GC, feb-2024.
|
jpayne@68
|
17 .\" Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul).
|
jpayne@68
|
18 .\"
|
jpayne@68
|
19 .\"*******************************************************************
|
jpayne@68
|
20 .\"
|
jpayne@68
|
21 .\" This file was generated with po4a. Translate the source file.
|
jpayne@68
|
22 .\"
|
jpayne@68
|
23 .\"*******************************************************************
|
jpayne@68
|
24 .TH XZ 1 2024\-12\-30 Tukaani "Utilități XZ"
|
jpayne@68
|
25 .
|
jpayne@68
|
26 .SH NUME
|
jpayne@68
|
27 xz, unxz, xzcat, lzma, unlzma, lzcat \- Comprimă sau decomprimă fișiere .xz
|
jpayne@68
|
28 și .lzma
|
jpayne@68
|
29 .
|
jpayne@68
|
30 .SH REZUMAT
|
jpayne@68
|
31 \fBxz\fP [\fIopțiune...\fP] [\fIfișier...\fP]
|
jpayne@68
|
32 .
|
jpayne@68
|
33 .SH "ALIAS COMENZI"
|
jpayne@68
|
34 \fBunxz\fP este echivalent cu \fBxz \-\-decompress\fP.
|
jpayne@68
|
35 .br
|
jpayne@68
|
36 \fBxzcat\fP este echivalent cu \fBxz \-\-decompress \-\-stdout\fP.
|
jpayne@68
|
37 .br
|
jpayne@68
|
38 \fBlzma\fP este echivalent cu \fBxz \-\-format=lzma\fP.
|
jpayne@68
|
39 .br
|
jpayne@68
|
40 \fBunlzma\fP este echivalent cu \fBxz \-\-format=lzma \-\-decompress\fP.
|
jpayne@68
|
41 .br
|
jpayne@68
|
42 \fBlzcat\fP este echivalent cu \fBxz \-\-format=lzma \-\-decompress \-\-stdout\fP.
|
jpayne@68
|
43 .PP
|
jpayne@68
|
44 Când scrieți scripturi care trebuie să decomprime fișiere, este recomandat
|
jpayne@68
|
45 să folosiți întotdeauna comanda \fBxz\fP cu argumentele adecvate (\fBxz \-d\fP sau
|
jpayne@68
|
46 \fBxz \-dc\fP) în loc de comenzile \fBunxz\fP și \fBxzcat\fP.
|
jpayne@68
|
47 .
|
jpayne@68
|
48 .SH DESCRIERE
|
jpayne@68
|
49 \fBxz\fP este un instrument de comprimare a datelor de uz general cu sintaxă de
|
jpayne@68
|
50 linie de comandă similară cu \fBgzip\fP(1) și \fBbzip2\fP(1). Formatul de fișier
|
jpayne@68
|
51 nativ este formatul \fB.xz\fP, dar formatul vechi \fB.lzma\fP folosit de LZMA
|
jpayne@68
|
52 Utils și fluxurile comprimate brute fără anteturi de format container sunt
|
jpayne@68
|
53 de asemenea acceptate. În plus, este acceptată decomprimarea formatului
|
jpayne@68
|
54 \&\fB.lz\fP folosit de \fBlzip\fP.
|
jpayne@68
|
55 .PP
|
jpayne@68
|
56 \fBxz\fP comprimă sau decomprimă fiecare \fIfișier\fP în funcție de modul de
|
jpayne@68
|
57 operare selectat. Dacă nu sunt date \fIfișiere\fP sau \fIfișier\fP este \fB\-\fP,
|
jpayne@68
|
58 \fBxz\fP citește de la intrarea standard și scrie datele procesate la ieșirea
|
jpayne@68
|
59 standard. \fBxz\fP va refuza (afișează o eroare și omite \fIfișier\fP) să scrie
|
jpayne@68
|
60 date comprimate la ieșirea standard dacă este un terminal. În mod similar,
|
jpayne@68
|
61 \fBxz\fP va refuza să citească datele comprimate de la intrarea standard dacă
|
jpayne@68
|
62 este un terminal.
|
jpayne@68
|
63 .PP
|
jpayne@68
|
64 Cu excepția cazului în care este specificată opțiunea \fB\-\-stdout\fP,
|
jpayne@68
|
65 \fIfișierele\fP altele decât \fB\-\fP sunt scrise într\-un fișier nou al cărui nume
|
jpayne@68
|
66 este derivat din numele \fIfișierului\fP sursă:
|
jpayne@68
|
67 .IP \(bu 3
|
jpayne@68
|
68 La comprimare, sufixul formatului de fișier țintă (\fB.xz\fP sau \fB.lzma\fP) este
|
jpayne@68
|
69 atașat la numele fișierului sursă pentru a se obține numele fișierului
|
jpayne@68
|
70 țintă.
|
jpayne@68
|
71 .IP \(bu 3
|
jpayne@68
|
72 La decomprimare, sufixul \fB.xz\fP, \fB.lzma\fP sau \fB.lz\fP este eliminat din
|
jpayne@68
|
73 numele fișierului pentru a se obține numele fișierului țintă. \fBxz\fP
|
jpayne@68
|
74 recunoaște și sufixele \fB.txz\fP și \fB.tlz\fP și le înlocuiește cu sufixul
|
jpayne@68
|
75 \&\fB.tar\fP.
|
jpayne@68
|
76 .PP
|
jpayne@68
|
77 Dacă fișierul țintă există deja, este afișată o eroare și \fIfișier\fP este
|
jpayne@68
|
78 omis.
|
jpayne@68
|
79 .PP
|
jpayne@68
|
80 Cu excepția cazului în care scrie la ieșirea standard, \fBxz\fP va afișa un
|
jpayne@68
|
81 avertisment și va omite \fIfișier\fPul dacă se aplică oricare dintre
|
jpayne@68
|
82 următoarele:
|
jpayne@68
|
83 .IP \(bu 3
|
jpayne@68
|
84 \fIFișierul\fP nu este un fișier obișnuit. Legăturile simbolice nu sunt urmate
|
jpayne@68
|
85 și, prin urmare, nu sunt considerate fișiere obișnuite.
|
jpayne@68
|
86 .IP \(bu 3
|
jpayne@68
|
87 \fIFișierul\fP are mai mult de o legătură dură.
|
jpayne@68
|
88 .IP \(bu 3
|
jpayne@68
|
89 \fIFișierul\fP are activat bitul «setuid», «setgid» sau cel lipicios(sticky).
|
jpayne@68
|
90 .IP \(bu 3
|
jpayne@68
|
91 Modul de operare este stabilit la comprimare și \fIfișier\fP are deja un sufix
|
jpayne@68
|
92 al formatului de fișier țintă (\fB.xz\fP sau \fB.txz\fP când se comprimă în
|
jpayne@68
|
93 formatul \fB.xz\fP și \fB.lzma\fP sau \fB.tlz\fP când se comprimă în formatul
|
jpayne@68
|
94 \&\fB.lzma\fP).
|
jpayne@68
|
95 .IP \(bu 3
|
jpayne@68
|
96 Modul de operare este stabilit la decomprimare și \fIfișierul\fP nu are un
|
jpayne@68
|
97 sufix al niciunui format de fișier acceptat (\fB.xz\fP, \fB.txz\fP, \fB.lzma\fP,
|
jpayne@68
|
98 \&\fB.tlz\fP, sau \fB.lz\fP).
|
jpayne@68
|
99 .PP
|
jpayne@68
|
100 După comprimarea sau decomprimarea cu succes a \fIfișierului\fP, \fBxz\fP copiază
|
jpayne@68
|
101 proprietarul, grupul, permisiunile, timpul de acces și timpul de modificare
|
jpayne@68
|
102 din \fIfișierul\fP sursă în fișierul țintă. Dacă copierea grupului eșuează,
|
jpayne@68
|
103 permisiunile sunt modificate astfel încât fișierul țintă să nu devină
|
jpayne@68
|
104 accesibil utilizatorilor care nu aveau permisiunea de a accesa \fIfișierul\fP
|
jpayne@68
|
105 sursă. \fBxz\fP nu acceptă încă copierea altor metadate, cum ar fi listele de
|
jpayne@68
|
106 control al accesului sau atributele extinse.
|
jpayne@68
|
107 .PP
|
jpayne@68
|
108 Odată ce fișierul țintă a fost închis cu succes, \fIfișierul\fP sursă este
|
jpayne@68
|
109 eliminat dacă nu a fost specificată opțiunea \fB\-\-keep\fP. \fIFișierul\fP sursă nu
|
jpayne@68
|
110 este niciodată eliminat dacă rezultatul este scris la ieșirea standard sau
|
jpayne@68
|
111 dacă apare o eroare.
|
jpayne@68
|
112 .PP
|
jpayne@68
|
113 Trimiterea unui semnal \fBSIGINFO\fP sau \fBSIGUSR1\fP către procesul \fBxz\fP face
|
jpayne@68
|
114 ca acesta să imprime informații despre progres la ieșirea de eroare
|
jpayne@68
|
115 standard. Acest lucru are o utilizare limitată, deoarece atunci când ieșirea
|
jpayne@68
|
116 de eroare standard este un terminal, folosind opțiunea \fB\-\-verbose\fP va afișa
|
jpayne@68
|
117 un indicator de progres de actualizare automată.
|
jpayne@68
|
118 .
|
jpayne@68
|
119 .SS "Utilizarea memoriei"
|
jpayne@68
|
120 Cantitatea de memorie utilizată de \fBxz\fP variază de la câteva sute de
|
jpayne@68
|
121 kiloocteți la câțiva gigaocteți, în funcție de opțiunile de
|
jpayne@68
|
122 comprimare. Opțiunile utilizate la comprimarea unui fișier determină
|
jpayne@68
|
123 cerințele de memorie ale instrumentului de decomprimare. De obicei,
|
jpayne@68
|
124 instrumentul de decomprimare are nevoie de 5% până la 20% din cantitatea de
|
jpayne@68
|
125 memorie de care a avut nevoie instrumentul de comprimare la crearea
|
jpayne@68
|
126 fișierului. De exemplu, decomprimarea unui fișier creat cu \fBxz \-9\fP necesită
|
jpayne@68
|
127 în prezent 65Mio de memorie. Totuși, este posibil să aveți fișiere \fB.xz\fP
|
jpayne@68
|
128 care necesită câțiva gigaocteți de memorie pentru decomprimare.
|
jpayne@68
|
129 .PP
|
jpayne@68
|
130 În special utilizatorii de sisteme mai vechi pot considera deranjantă
|
jpayne@68
|
131 posibilitatea unei utilizări foarte mari a memoriei. Pentru a preveni
|
jpayne@68
|
132 surprizele neplăcute, \fBxz\fP are încorporat un limitator de utilizare a
|
jpayne@68
|
133 memoriei, care este dezactivat implicit. În timp ce unele sisteme de operare
|
jpayne@68
|
134 oferă modalități de a limita utilizarea memoriei proceselor, bazarea pe
|
jpayne@68
|
135 aceasta nu a fost considerată a fi suficient de flexibilă (de exemplu,
|
jpayne@68
|
136 utilizarea \fBulimit\fP(1) pentru a limita memoria virtuală tinde să paralizeze
|
jpayne@68
|
137 \fBmmap\fP(2)).
|
jpayne@68
|
138 .PP
|
jpayne@68
|
139 Limitatorul de utilizare a memoriei poate fi activat cu opțiunea din linia
|
jpayne@68
|
140 de comandă \fB\-\-memlimit=\fP\fIlimita\fP. Adesea este mai convenabil să activați
|
jpayne@68
|
141 limitatorul în mod implicit prin definirea variabilei de mediu
|
jpayne@68
|
142 \fBXZ_DEFAULTS\fP, de exemplu, \fBXZ_DEFAULTS=\-\-memlimit=150MiB\fP. Este posibil
|
jpayne@68
|
143 să stabiliți limitele separat pentru comprimare și decomprimare folosind
|
jpayne@68
|
144 \fB\-\-memlimit\-compress=\fP\fIlimita\fP și
|
jpayne@68
|
145 \fB\-\-memlimit\-decompress=\fP\fIlimita\fP. Utilizarea acestor două opțiuni în afara
|
jpayne@68
|
146 \fBXZ_DEFAULTS\fP este foarte rar utilă, deoarece o singură rulare a \fBxz\fP nu
|
jpayne@68
|
147 poate face atât comprimarea, cât și decomprimarea și \fB\-\-memlimit=\fP\fIlimita\fP
|
jpayne@68
|
148 (sau \fB\-M\fP \fIlimita\fP ) este mai scurt de tastat pe linia de comandă.
|
jpayne@68
|
149 .PP
|
jpayne@68
|
150 Dacă limita de utilizare a memoriei specificată este depășită la
|
jpayne@68
|
151 decomprimare, \fBxz\fP va afișa o eroare și decomprimarea fișierului va
|
jpayne@68
|
152 eșua. Dacă limita este depășită la comprimare, \fBxz\fP va încerca să reducă
|
jpayne@68
|
153 valorile stabilite astfel încât limita să nu mai fie depășită (cu excepția
|
jpayne@68
|
154 cazului în care se utilizează opțiunea \fB\-\-format=raw\fP sau
|
jpayne@68
|
155 \fB\-\-no\-adjust\fP). În acest fel, operațiunea nu va eșua decât dacă limita
|
jpayne@68
|
156 stabilită este foarte mică. Scalarea valorilor stabilite se face în pași
|
jpayne@68
|
157 care nu se potrivesc cu valorile prestabilite ale nivelului de comprimare,
|
jpayne@68
|
158 de exemplu, dacă limita este doar puțin mai mică decât cantitatea necesară
|
jpayne@68
|
159 pentru \fBxz \-9\fP, valorile stabilite vor fi reduse doar puțin , nu până la
|
jpayne@68
|
160 valoarea prestabilită a lui \fBxz \-8\fP.
|
jpayne@68
|
161 .
|
jpayne@68
|
162 .SS "Concatenare și completare (prin umplere cu octeți nuli) cu fișiere .xz"
|
jpayne@68
|
163 Este posibil să concatenați fișierele \fB.xz\fP așa cum sunt. \fBxz\fP va
|
jpayne@68
|
164 decomprima astfel de fișiere ca și cum ar fi un singur fișier \fB.xz\fP.
|
jpayne@68
|
165 .PP
|
jpayne@68
|
166 Este posibil să se introducă umplutură între părțile concatenate sau după
|
jpayne@68
|
167 ultima parte. Umplutura trebuie să fie compusă din octeți nuli, iar
|
jpayne@68
|
168 dimensiunea umpluturii trebuie să fie un multiplu de patru octeți. Acest
|
jpayne@68
|
169 lucru poate fi util, de exemplu, dacă fișierul \fB.xz\fP este stocat pe un
|
jpayne@68
|
170 mediu care măsoară dimensiunile fișierelor în blocuri de 512 de octeți.
|
jpayne@68
|
171 .PP
|
jpayne@68
|
172 Concatenarea și completarea nu sunt permise cu fișierele \fB.lzma\fP sau
|
jpayne@68
|
173 fluxurile brute.
|
jpayne@68
|
174 .
|
jpayne@68
|
175 .SH OPȚIUNI
|
jpayne@68
|
176 .
|
jpayne@68
|
177 .SS "Sufixe de numere întregi și valori speciale"
|
jpayne@68
|
178 În majoritatea locurilor în care este de așteptat un număr întreg ca
|
jpayne@68
|
179 argument, un sufix opțional este acceptat pentru a indica cu ușurință
|
jpayne@68
|
180 numerele întregi mari. Nu trebuie să existe spațiu între numărul întreg și
|
jpayne@68
|
181 sufix.
|
jpayne@68
|
182 .TP
|
jpayne@68
|
183 \fBKiB\fP
|
jpayne@68
|
184 Înmulțește numărul întreg cu 1.024 (2^10). \fBKi\fP, \fBk\fP, \fBkB\fP, \fBK\fP și
|
jpayne@68
|
185 \fBKB\fP sunt acceptate ca sinonime pentru \fBKiB\fP.
|
jpayne@68
|
186 .TP
|
jpayne@68
|
187 \fBMiB\fP
|
jpayne@68
|
188 Înmulțește numărul întreg cu 1,048,576 (2^20). \fBMi\fP, \fBm\fP, \fBM\fP, și \fBMB\fP
|
jpayne@68
|
189 sunt acceptate ca sinonime pentru \fBMiB\fP.
|
jpayne@68
|
190 .TP
|
jpayne@68
|
191 \fBGiB\fP
|
jpayne@68
|
192 Înmulțește numărul întreg cu 1,073,741,824 (2^30). \fBGi\fP, \fBg\fP, \fBG\fP, și
|
jpayne@68
|
193 \fBGB\fP sunt acceptate ca sinonime pentru \fBGiB\fP.
|
jpayne@68
|
194 .PP
|
jpayne@68
|
195 Valoarea specială \fBmax\fP poate fi utilizată pentru a indica valoarea maximă
|
jpayne@68
|
196 întreagă suportată de opțiune.
|
jpayne@68
|
197 .
|
jpayne@68
|
198 .SS "Mod de operare"
|
jpayne@68
|
199 Dacă sunt date mai multe opțiuni de mod de funcționare, ultima dintre ele,
|
jpayne@68
|
200 este cea care va avea efect.
|
jpayne@68
|
201 .TP
|
jpayne@68
|
202 \fB\-z\fP, \fB\-\-compress\fP
|
jpayne@68
|
203 Comprimare. Acesta este modul de operare implicit atunci când nu este
|
jpayne@68
|
204 specificată nicio opțiune de mod de funcționare și nici un alt mod de
|
jpayne@68
|
205 operare nu este implicat din numele comenzii (de exemplu, \fBunxz\fP implică
|
jpayne@68
|
206 \fB\-\-decompress\fP).
|
jpayne@68
|
207 .IP ""
|
jpayne@68
|
208 .\" The DESCRIPTION section already says this but it's good to repeat it
|
jpayne@68
|
209 .\" here because the default behavior is a bit dangerous and new users
|
jpayne@68
|
210 .\" in a hurry may skip reading the DESCRIPTION section.
|
jpayne@68
|
211 After successful compression, the source file is removed unless writing to
|
jpayne@68
|
212 standard output or \fB\-\-keep\fP was specified.
|
jpayne@68
|
213 .TP
|
jpayne@68
|
214 \fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP
|
jpayne@68
|
215 .\" The DESCRIPTION section already says this but it's good to repeat it
|
jpayne@68
|
216 .\" here because the default behavior is a bit dangerous and new users
|
jpayne@68
|
217 .\" in a hurry may skip reading the DESCRIPTION section.
|
jpayne@68
|
218 Decompress. After successful decompression, the source file is removed
|
jpayne@68
|
219 unless writing to standard output or \fB\-\-keep\fP was specified.
|
jpayne@68
|
220 .TP
|
jpayne@68
|
221 \fB\-t\fP, \fB\-\-test\fP
|
jpayne@68
|
222 Testează integritatea \fIfișierelor\fP comprimate. Această opțiune este
|
jpayne@68
|
223 echivalentă cu \fB\-\-decompress \-\-stdout\fP cu excepția faptului că datele
|
jpayne@68
|
224 decomprimate sunt înlăturate în loc să fie scrise la ieșirea standard. Nu
|
jpayne@68
|
225 sunt create sau eliminate fișiere.
|
jpayne@68
|
226 .TP
|
jpayne@68
|
227 \fB\-l\fP, \fB\-\-list\fP
|
jpayne@68
|
228 Afișează informații despre \fIfișiere\fP comprimate. Nu are loc nicio
|
jpayne@68
|
229 decomprimare la ieșire și nu sunt create sau eliminate fișiere. În modul
|
jpayne@68
|
230 listă, programul nu poate citi datele comprimate din intrarea standard sau
|
jpayne@68
|
231 din alte surse care nu pot fi căutate.
|
jpayne@68
|
232 .IP ""
|
jpayne@68
|
233 Listarea implicită arată informații de bază despre \fIfișiere\fP, câte un
|
jpayne@68
|
234 fișier pe linie. Pentru a obține informații mai detaliate, utilizați și
|
jpayne@68
|
235 opțiunea \fB\-\-verbose\fP. Pentru și mai multe informații, utilizați opțiunea
|
jpayne@68
|
236 \fB\-\-verbose\fP de două ori, dar rețineți că acest lucru poate fi lent,
|
jpayne@68
|
237 deoarece obținerea tuturor informațiilor suplimentare necesită multe
|
jpayne@68
|
238 căutări. Lățimea ieșirii detaliate depășește 80 de caractere, deci
|
jpayne@68
|
239 canalizarea ieșirii către, de exemplu, \fBless\ \-S\fP poate fi convenabilă dacă
|
jpayne@68
|
240 terminalul nu este suficient de lat.
|
jpayne@68
|
241 .IP ""
|
jpayne@68
|
242 Ieșirea exactă poate varia între versiunile \fBxz\fP și diferitele
|
jpayne@68
|
243 localizări(configurările regionale). Pentru ieșiri care pot fi citite de
|
jpayne@68
|
244 mașină, ar trebui utilizată opțiunea \fB\-\-robot \-\-list\fP.
|
jpayne@68
|
245 .
|
jpayne@68
|
246 .SS "Modificatori de operare"
|
jpayne@68
|
247 .TP
|
jpayne@68
|
248 \fB\-k\fP, \fB\-\-keep\fP
|
jpayne@68
|
249 Nu șterge fișierele de intrare.
|
jpayne@68
|
250 .IP ""
|
jpayne@68
|
251 Începând cu \fBxz\fP 5.2.6, această opțiune face ca \fBxz\fP să comprime sau să
|
jpayne@68
|
252 decomprime, chiar dacă intrarea este o legătură simbolică către un fișier
|
jpayne@68
|
253 obișnuit, are mai mult de\-o legătură dură sau are marcați biții setuid,
|
jpayne@68
|
254 setgid sau bitul lipicios. Biții setuid, setgid și bitul lipicios nu sunt
|
jpayne@68
|
255 copiați în fișierul țintă. În versiunile anterioare acest lucru se făcea
|
jpayne@68
|
256 numai cu ajutorul opțiunii \fB\-\-force\fP.
|
jpayne@68
|
257 .TP
|
jpayne@68
|
258 \fB\-f\fP, \fB\-\-force\fP
|
jpayne@68
|
259 Această opțiune are mai multe efecte:
|
jpayne@68
|
260 .RS
|
jpayne@68
|
261 .IP \(bu 3
|
jpayne@68
|
262 Dacă fișierul țintă există deja, îl șterge înainte de comprimare sau
|
jpayne@68
|
263 decomprimare.
|
jpayne@68
|
264 .IP \(bu 3
|
jpayne@68
|
265 Comprimă sau decomprimă chiar dacă intrarea este o legătură simbolică către
|
jpayne@68
|
266 un fișier obișnuit, are mai mult de\-o legătură dură sau are marcați biții
|
jpayne@68
|
267 setuid, setgid sau bitul lipicios. Biții setuid, setgid și bitul lipicios nu
|
jpayne@68
|
268 sunt copiați în fișierul țintă.
|
jpayne@68
|
269 .IP \(bu 3
|
jpayne@68
|
270 Când este utilizată cu opțiunile \fB\-\-decompress\fP și \fB\-\-stdout\fP, comanda
|
jpayne@68
|
271 \fBxz\fP nu poate recunoaște tipul fișierului sursă, și copiază fișierul sursă
|
jpayne@68
|
272 așa cum este la ieșirea standard. Acest lucru permite comenzii \fBxzcat\fP
|
jpayne@68
|
273 \fB\-\-force\fP să fie folosită drept comanda \fBcat\fP(1) pentru fișierele care nu
|
jpayne@68
|
274 au fost comprimate cu \fBxz\fP. Rețineți că, în viitor, \fBxz\fP ar putea să
|
jpayne@68
|
275 accepte noi formate de fișiere comprimate, ceea ce poate face ca \fBxz\fP să
|
jpayne@68
|
276 decomprime mai multe tipuri de fișiere în loc să le copieze așa cum sunt la
|
jpayne@68
|
277 ieșirea standard. Opțiunea \fB\-\-format=\fP\fIformat\fP poate fi folosită pentru a
|
jpayne@68
|
278 restricționa \fBxz\fP să decomprime doar un singur format de fișier.
|
jpayne@68
|
279 .RE
|
jpayne@68
|
280 .TP
|
jpayne@68
|
281 \fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP
|
jpayne@68
|
282 Scrie datele comprimate sau decomprimate la ieșirea standard în loc de
|
jpayne@68
|
283 într\-un fișier. Aceasta implică \fB\-\-keep\fP.
|
jpayne@68
|
284 .TP
|
jpayne@68
|
285 \fB\-\-single\-stream\fP
|
jpayne@68
|
286 Decomprimă numai primul flux \fB.xz\fP și ignoră în tăcere posibilele date de
|
jpayne@68
|
287 intrare rămase în urma fluxului. În mod normal, astfel de resturi rămase
|
jpayne@68
|
288 face ca \fBxz\fP să afișeze o eroare.
|
jpayne@68
|
289 .IP ""
|
jpayne@68
|
290 \fBxz\fP nu decomprimă niciodată mai mult de un flux din fișierele \fB.lzma\fP sau
|
jpayne@68
|
291 din fluxurile brute, dar această opțiune face ca \fBxz\fP să ignore posibilele
|
jpayne@68
|
292 resturi de date rămase după fișierul \fB.lzma\fP sau fluxul brut.
|
jpayne@68
|
293 .IP ""
|
jpayne@68
|
294 Această opțiune nu are efect dacă modul de funcționare nu este
|
jpayne@68
|
295 \fB\-\-decompress\fP sau \fB\-\-test\fP.
|
jpayne@68
|
296 .TP
|
jpayne@68
|
297 \fB\-\-no\-sparse\fP
|
jpayne@68
|
298 Dezactivează crearea de fișiere dispersate. În mod implicit, dacă decomprimă
|
jpayne@68
|
299 într\-un fișier obișnuit, \fBxz\fP încearcă să facă fișierul dispersat dacă
|
jpayne@68
|
300 datele decomprimate conțin secvențe lungi de zerouri binare. De asemenea,
|
jpayne@68
|
301 funcționează atunci când scrie la ieșirea standard, atâta timp cât ieșirea
|
jpayne@68
|
302 standard este conectată la un fișier obișnuit și sunt îndeplinite anumite
|
jpayne@68
|
303 condiții suplimentare pentru a o face în siguranță. Crearea de fișiere
|
jpayne@68
|
304 dispersate poate economisi spațiu pe disc și poate accelera decomprimarea
|
jpayne@68
|
305 prin reducerea cantității de date de In/Ieș pe disc.
|
jpayne@68
|
306 .TP
|
jpayne@68
|
307 \fB\-S\fP \fI.suf\fP, \fB\-\-suffix=\fP\fI.suf\fP
|
jpayne@68
|
308 Când comprimă, utilizează \fI.suf\fP ca sufix pentru fișierul țintă în loc de
|
jpayne@68
|
309 \&\fB.xz\fP sau \fB.lzma\fP. Dacă nu scrie la ieșirea standard și fișierul sursă are
|
jpayne@68
|
310 deja sufixul \fI.suf\fP, este afișat un avertisment și fișierul este omis.
|
jpayne@68
|
311 .IP ""
|
jpayne@68
|
312 Când decomprimă, recunoaște fișierele cu sufixul \fI.suf\fP în plus față de
|
jpayne@68
|
313 fișierele cu sufixul \fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP sau \fB.lz\fP. Dacă
|
jpayne@68
|
314 fișierul sursă are sufixul \fI.suf\fP, sufixul este eliminat pentru a obține
|
jpayne@68
|
315 numele fișierului țintă.
|
jpayne@68
|
316 .IP ""
|
jpayne@68
|
317 La comprimarea sau decomprimarea fluxurilor brute (\fB\-\-format=raw\fP), sufixul
|
jpayne@68
|
318 trebuie să fie întotdeauna specificat, cu excepția cazului în care se scrie
|
jpayne@68
|
319 la ieșirea standard, deoarece nu există un sufix implicit pentru fluxurile
|
jpayne@68
|
320 brute.
|
jpayne@68
|
321 .TP
|
jpayne@68
|
322 \fB\-\-files\fP[\fB=\fP\fIfișier\fP]
|
jpayne@68
|
323 Citește numele fișierelor de procesat din \fIfișier\fP; dacă \fIfișierul\fP este
|
jpayne@68
|
324 omis, numele fișierelor sunt citite de la intrarea standard. Numele de
|
jpayne@68
|
325 fișiere trebuie să fie terminate cu caracterul de linie nouă. O liniuță
|
jpayne@68
|
326 (\fB\-\fP) este luată ca nume de fișier obișnuit; nu înseamnă intrarea
|
jpayne@68
|
327 standard. Dacă numele de fișiere sunt date și ca argumente în linia de
|
jpayne@68
|
328 comandă, ele sunt procesate înainte ca numele fișierelor să fie citite din
|
jpayne@68
|
329 \fIfișier\fP.
|
jpayne@68
|
330 .TP
|
jpayne@68
|
331 \fB\-\-files0\fP[\fB=\fP\fIfișier\fP]
|
jpayne@68
|
332 Această opțiune este identică cu \fB\-\-files\fP[\fB=\fP\fIfișier\fP], cu excepția
|
jpayne@68
|
333 faptului că fiecare nume de fișier trebuie să fie terminat cu caracterul
|
jpayne@68
|
334 nul.
|
jpayne@68
|
335 .
|
jpayne@68
|
336 .SS "Formatul de bază al fișierului și opțiunile de comprimare"
|
jpayne@68
|
337 .TP
|
jpayne@68
|
338 \fB\-F\fP \fIformat\fP, \fB\-\-format=\fP\fIformat\fP
|
jpayne@68
|
339 Specifică \fIformatul\fP fișierului pentru comprimare sau decomprimare:
|
jpayne@68
|
340 .RS
|
jpayne@68
|
341 .TP
|
jpayne@68
|
342 \fBauto\fP
|
jpayne@68
|
343 Aceasta este valoarea implicită. La comprimare, \fBauto\fP este echivalent cu
|
jpayne@68
|
344 \fBxz\fP. La decomprimare, formatul fișierului de intrare este detectat
|
jpayne@68
|
345 automat. Rețineți că fluxurile brute (create cu \fB\-\-format=raw\fP) nu pot fi
|
jpayne@68
|
346 detectate automat.
|
jpayne@68
|
347 .TP
|
jpayne@68
|
348 \fBxz\fP
|
jpayne@68
|
349 Comprimă în formatul de fișier \fB.xz\fP sau acceptă numai fișierele \fB.xz\fP
|
jpayne@68
|
350 când decomprimă.
|
jpayne@68
|
351 .TP
|
jpayne@68
|
352 \fBlzma\fP, \fBalone\fP
|
jpayne@68
|
353 Comprimă în formatul de fișier \fB.lzma\fP vechi sau acceptă numai fișierele
|
jpayne@68
|
354 \&\fB.lzma\fP când decomprimă. Numele alternativ \fBalone\fP este furnizat pentru
|
jpayne@68
|
355 compatibilitatea cu versiunile mai vechi de LZMA Utils.
|
jpayne@68
|
356 .TP
|
jpayne@68
|
357 \fBlzip\fP
|
jpayne@68
|
358 Acceptă numai fișierele \fB.lz\fP când decomprimă. Comprimarea nu este
|
jpayne@68
|
359 acceptată.
|
jpayne@68
|
360 .IP ""
|
jpayne@68
|
361 Formatul \fB.lz\fP versiunea 0 și versiunea neextinsă 1 sunt
|
jpayne@68
|
362 acceptate. Fișierele versiunea 0 au fost produse de \fBlzip\fP cu versiunea 1.3
|
jpayne@68
|
363 sau mai veche. Astfel de fișiere nu sunt obișnuite, dar pot fi găsite în
|
jpayne@68
|
364 arhivele de fișiere, deoarece câteva pachete sursă au fost lansate în acest
|
jpayne@68
|
365 format. Oamenii ar putea avea și fișiere personale vechi în acest
|
jpayne@68
|
366 format. Suportul de decomprimare pentru versiunea de format 0 a fost
|
jpayne@68
|
367 eliminat în \fBlzip\fP 1.18.
|
jpayne@68
|
368 .IP ""
|
jpayne@68
|
369 \fBlzip\fP 1.4 și versiunile ulterioare creează fișiere în formatul versiunea
|
jpayne@68
|
370 1. Extensia „sync flush marker” pentru versiunea 1 de format a fost adăugată
|
jpayne@68
|
371 în \fBlzip\fP 1.6. Această extensie este folosită rar și nu este acceptată de
|
jpayne@68
|
372 \fBxz\fP (diagnosticată ca intrare coruptă).
|
jpayne@68
|
373 .TP
|
jpayne@68
|
374 \fBraw\fP
|
jpayne@68
|
375 Comprimă sau decomprimă un flux brut (fără anteturi). Acest lucru este
|
jpayne@68
|
376 destinat doar utilizatorilor avansați. Pentru a decodifica fluxurile brute,
|
jpayne@68
|
377 trebuie să utilizați opțiunea \fB\-\-format=raw\fP și să specificați în mod
|
jpayne@68
|
378 explicit lanțul de filtre, care în mod normal ar fi fost stocat în
|
jpayne@68
|
379 anteturile containerului.
|
jpayne@68
|
380 .RE
|
jpayne@68
|
381 .TP
|
jpayne@68
|
382 \fB\-C\fP \fIverificarea\fP, \fB\-\-check=\fP\fIverificarea\fP
|
jpayne@68
|
383 Specifică tipul verificării integrității. Verificarea este calculată din
|
jpayne@68
|
384 datele necomprimate și stocată în fișierul \fB.xz\fP. Această opțiune are efect
|
jpayne@68
|
385 numai la comprimarea în format \fB.xz\fP; formatul \fB.lzma\fP nu acceptă
|
jpayne@68
|
386 verificări de integritate. Verificarea integrității (dacă există) este
|
jpayne@68
|
387 efectuată atunci când fișierul \fB.xz\fP este decomprimat.
|
jpayne@68
|
388 .IP ""
|
jpayne@68
|
389 Tipuri de \fIverificare\fP acceptate:
|
jpayne@68
|
390 .RS
|
jpayne@68
|
391 .TP
|
jpayne@68
|
392 \fBnone\fP
|
jpayne@68
|
393 Nu calculează deloc o verificare a integrității. Aceasta este de obicei o
|
jpayne@68
|
394 idee proastă. Acest lucru poate fi util atunci când integritatea datelor
|
jpayne@68
|
395 este oricum verificată prin alte mijloace.
|
jpayne@68
|
396 .TP
|
jpayne@68
|
397 \fBcrc32\fP
|
jpayne@68
|
398 Calculează CRC32 folosind polinomul din IEEE\-802.3 (Ethernet).
|
jpayne@68
|
399 .TP
|
jpayne@68
|
400 \fBcrc64\fP
|
jpayne@68
|
401 Calculează CRC64 folosind polinomul din ECMA\-182. Aceasta este valoarea
|
jpayne@68
|
402 implicită, deoarece este ceva mai bună decât CRC32 la detectarea fișierelor
|
jpayne@68
|
403 deteriorate, iar diferența de viteză este neglijabilă.
|
jpayne@68
|
404 .TP
|
jpayne@68
|
405 \fBsha256\fP
|
jpayne@68
|
406 Calculează SHA\-256. Acest lucru este oarecum mai lent decât CRC32 și CRC64.
|
jpayne@68
|
407 .RE
|
jpayne@68
|
408 .IP ""
|
jpayne@68
|
409 Integritatea antetelor \fB.xz\fP este întotdeauna verificată cu CRC32. Nu este
|
jpayne@68
|
410 posibilă modificarea sau dezactivarea acesteia.
|
jpayne@68
|
411 .TP
|
jpayne@68
|
412 \fB\-\-ignore\-check\fP
|
jpayne@68
|
413 Nu efectuează verificarea integrității datelor comprimate la
|
jpayne@68
|
414 decomprimare. Valorile CRC32 din antetele \fB.xz\fP vor fi însă verificate
|
jpayne@68
|
415 normal.
|
jpayne@68
|
416 .IP ""
|
jpayne@68
|
417 \fBNu utilizați această opțiune decât dacă știți ce faceți\fP. Motive posibile
|
jpayne@68
|
418 pentru a utiliza această opțiune:
|
jpayne@68
|
419 .RS
|
jpayne@68
|
420 .IP \(bu 3
|
jpayne@68
|
421 Încercarea de a recupera datele dintr\-un fișier .xz corupt.
|
jpayne@68
|
422 .IP \(bu 3
|
jpayne@68
|
423 Accelerarea decomprimării. Acest lucru contează mai ales cu SHA\-256 sau cu
|
jpayne@68
|
424 fișierele care s\-au comprimat extrem de bine. Este recomandat să nu
|
jpayne@68
|
425 utilizați această opțiune în acest scop decât dacă integritatea fișierului
|
jpayne@68
|
426 este verificată extern într\-un alt mod.
|
jpayne@68
|
427 .RE
|
jpayne@68
|
428 .TP
|
jpayne@68
|
429 \fB\-0\fP ... \fB\-9\fP
|
jpayne@68
|
430 Selectează un nivel prestabilit de comprimare. Valoarea implicită este
|
jpayne@68
|
431 \fB\-6\fP. Dacă sunt specificate mai multe niveluri prestabilite, ultimul are
|
jpayne@68
|
432 efect. Dacă a fost deja specificat un lanț de filtre personalizat,
|
jpayne@68
|
433 specificarea unui nivel prestabilit de comprimare șterge lanțul de filtre
|
jpayne@68
|
434 personalizat.
|
jpayne@68
|
435 .IP ""
|
jpayne@68
|
436 Diferențele dintre valorile prestabilite sunt mai semnificative decât cu
|
jpayne@68
|
437 \fBgzip\fP(1) și \fBbzip2\fP(1). Valorile de comprimare selectate determină
|
jpayne@68
|
438 cerințele de memorie ale instrumentului de decomprimare, astfel încât
|
jpayne@68
|
439 utilizarea unui nivel prea mare prestabilit ar putea face „dureroasă”
|
jpayne@68
|
440 decomprimarea fișierului pe un sistem vechi cu puțină memorie RAM. Mai
|
jpayne@68
|
441 exact, \fBnu este o idee bună să folosiți orbește \-9 pentru tot\fP așa cum se
|
jpayne@68
|
442 întâmplă adesea cu \fBgzip\fP(1) și \fBbzip2\fP(1).
|
jpayne@68
|
443 .RS
|
jpayne@68
|
444 .TP
|
jpayne@68
|
445 \fB\-0\fP ... \fB\-3\fP
|
jpayne@68
|
446 Acestea sunt valorile prestabilite oarecum rapide. \fB\-0\fP este uneori mai
|
jpayne@68
|
447 rapid decât \fBgzip \-9\fP în timp ce comprimă mult mai bine. Cele mai ridicate
|
jpayne@68
|
448 au adesea viteza comparabilă cu \fBbzip2\fP(1) cu un raport de comprimare
|
jpayne@68
|
449 comparabil sau mai bun, deși rezultatele depind foarte mult de tipul de date
|
jpayne@68
|
450 care sunt comprimate.
|
jpayne@68
|
451 .TP
|
jpayne@68
|
452 \fB\-4\fP ... \fB\-6\fP
|
jpayne@68
|
453 Comprimare bună spre foarte bună, păstrând în același timp utilizarea
|
jpayne@68
|
454 memoriei de către instrumentul de decomprimare la un nivel rezonabil chiar
|
jpayne@68
|
455 și pentru sistemele vechi. \fB\-6\fP este valoarea implicită, care este de
|
jpayne@68
|
456 obicei o alegere bună pentru distribuirea fișierelor care trebuie să poată
|
jpayne@68
|
457 fi decomprimate chiar și pe sisteme cu doar 16Mio de memorie RAM. Opțiunile
|
jpayne@68
|
458 (\fB\-5e\fP sau \fB\-6e\fP ar putea fi demne de luat în considerare. A se vedea
|
jpayne@68
|
459 opțiunea \fB\-\-extreme\fP.)
|
jpayne@68
|
460 .TP
|
jpayne@68
|
461 \fB\-7 ... \-9\fP
|
jpayne@68
|
462 Acestea sunt precum \fB\-6\fP, dar cu cerințe mai mari de memorie pentru
|
jpayne@68
|
463 comprimare și decomprimare. Acestea sunt utile numai atunci când comprimați
|
jpayne@68
|
464 fișiere mai mari de 8Mio, 16Mio și, respectiv, 32Mio.
|
jpayne@68
|
465 .RE
|
jpayne@68
|
466 .IP ""
|
jpayne@68
|
467 Pe același hardware, viteza de decomprimare este aproximativ un număr
|
jpayne@68
|
468 constant de octeți de date comprimate pe secundă. Cu alte cuvinte, cu cât
|
jpayne@68
|
469 comprimarea este mai bună, cu atât decomprimarea va fi de obicei mai
|
jpayne@68
|
470 rapidă. Aceasta înseamnă, de asemenea, că valoarea de la ieșire a cantității
|
jpayne@68
|
471 de date necomprimate produsă pe secundă poate varia foarte mult.
|
jpayne@68
|
472 .IP ""
|
jpayne@68
|
473 Următorul tabel rezumă caracteristicile valorilor prestabilite:
|
jpayne@68
|
474 .RS
|
jpayne@68
|
475 .RS
|
jpayne@68
|
476 .PP
|
jpayne@68
|
477 .TS
|
jpayne@68
|
478 tab(;);
|
jpayne@68
|
479 c c c c c
|
jpayne@68
|
480 n n n n n.
|
jpayne@68
|
481 ValPrestab;DimDict;CPUComp;MemComp;MemDec
|
jpayne@68
|
482 \-0;256 KiB;0;3 MiB;1 MiB
|
jpayne@68
|
483 \-1;1 MiB;1;9 MiB;2 MiB
|
jpayne@68
|
484 \-2;2 MiB;2;17 MiB;3 MiB
|
jpayne@68
|
485 \-3;4 MiB;3;32 MiB;5 MiB
|
jpayne@68
|
486 \-4;4 MiB;4;48 MiB;5 MiB
|
jpayne@68
|
487 \-5;8 MiB;5;94 MiB;9 MiB
|
jpayne@68
|
488 \-6;8 MiB;6;94 MiB;9 MiB
|
jpayne@68
|
489 \-7;16 MiB;6;186 MiB;17 MiB
|
jpayne@68
|
490 \-8;32 MiB;6;370 MiB;33 MiB
|
jpayne@68
|
491 \-9;64 MiB;6;674 MiB;65 MiB
|
jpayne@68
|
492 .TE
|
jpayne@68
|
493 .RE
|
jpayne@68
|
494 .RE
|
jpayne@68
|
495 .IP ""
|
jpayne@68
|
496 Descrieri coloane:
|
jpayne@68
|
497 .RS
|
jpayne@68
|
498 .IP \(bu 3
|
jpayne@68
|
499 DimDict este dimensiunea dicționarului LZMA2. Este o risipă de memorie să
|
jpayne@68
|
500 folosești un dicționar mai mare decât dimensiunea fișierului necomprimat. De
|
jpayne@68
|
501 aceea este bine să evitați utilizarea valorilor prestabilite \fB\-7\fP ... \fB\-9\fP
|
jpayne@68
|
502 atunci când nu este nevoie cu adevărat de ele. Pentru valoarea prestabilită
|
jpayne@68
|
503 \fB\-6\fP sau alta mai mică, cantitatea de memorie irosită este de obicei
|
jpayne@68
|
504 suficient de mică pentru a nu conta.
|
jpayne@68
|
505 .IP \(bu 3
|
jpayne@68
|
506 CPUComp este o reprezentare simplificată a configurărilor LZMA2 care
|
jpayne@68
|
507 afectează viteza de comprimare. Dimensiunea dicționarului afectează și
|
jpayne@68
|
508 viteza, așa că, în timp ce CPUComp este aceeași pentru nivelurile \fB\-6\fP
|
jpayne@68
|
509 \&... \fB\-9\fP, nivelurile mai mari tind să fie puțin mai lente. Pentru a obține
|
jpayne@68
|
510 o comprimare și mai lentă și, astfel, posibil mai bună, consultați opțiunea
|
jpayne@68
|
511 \fB\-\-extreme\fP.
|
jpayne@68
|
512 .IP \(bu 3
|
jpayne@68
|
513 MemComp conține cerințele de memorie ale comprimării în modul cu un singur
|
jpayne@68
|
514 fir de execuție. Poate varia ușor între versiunile \fBxz\fP.
|
jpayne@68
|
515 .IP \(bu 3
|
jpayne@68
|
516 MemDec conține cerințele de memorie pentru decomprimare. Adică,
|
jpayne@68
|
517 configurările de comprimare determină cerințele de memorie ale
|
jpayne@68
|
518 decomprimării. Cantitatea exactă a memoriei utilizate la decomprimare este
|
jpayne@68
|
519 puțin mai mare decât dimensiunea dicționarului LZMA2, dar valorile din tabel
|
jpayne@68
|
520 au fost rotunjite la următorul Mio.
|
jpayne@68
|
521 .RE
|
jpayne@68
|
522 .IP ""
|
jpayne@68
|
523 Cerințele de memorie ale modului cu mai multe fire de execuție sunt
|
jpayne@68
|
524 semnificativ mai mari decât cele ale modului cu un singur fir de
|
jpayne@68
|
525 execuție. Cu valoarea implicită a lui \fB\-\-block\-size\fP, fiecare fir are
|
jpayne@68
|
526 nevoie de 3*3*DictSize plus MemComp sau MemDec. De exemplu, patru fire de
|
jpayne@68
|
527 execuție cu valoarea prestabilită \fB\-6\fP au nevoie de 660\(en670\ Mio de
|
jpayne@68
|
528 memorie.
|
jpayne@68
|
529 .TP
|
jpayne@68
|
530 \fB\-e\fP, \fB\-\-extreme\fP
|
jpayne@68
|
531 Utilizează o variantă mai lentă a nivelului prestabilit de comprimare
|
jpayne@68
|
532 selectat (\fB\-0\fP ... \fB\-9\fP) pentru a obține un raport de comprimare puțin mai
|
jpayne@68
|
533 bun, dar din nefericire, acest lucru îl poate înrăutăți. Utilizarea memoriei
|
jpayne@68
|
534 pentru decomprimare nu este afectată, dar utilizarea memoriei la comprimare
|
jpayne@68
|
535 crește puțin la nivelurile prestabilite \fB\-0\fP ... \fB\-3\fP.
|
jpayne@68
|
536 .IP ""
|
jpayne@68
|
537 Deoarece există două valori prestabilite cu dimensiuni ale dicționarului de
|
jpayne@68
|
538 4Mio și 8Mio, valorile prestabilite \fB\-3e\fP și \fB\-5e\fP folosesc configurări
|
jpayne@68
|
539 puțin mai rapide (CPUComp mai mic) decât \fB\-4e\fP și \fB\-6e\fP, respectiv. În
|
jpayne@68
|
540 acest fel, nu există două nivele prestabilite identice.
|
jpayne@68
|
541 .RS
|
jpayne@68
|
542 .RS
|
jpayne@68
|
543 .PP
|
jpayne@68
|
544 .TS
|
jpayne@68
|
545 tab(;);
|
jpayne@68
|
546 c c c c c
|
jpayne@68
|
547 n n n n n.
|
jpayne@68
|
548 ValPrestab;DimDict;CPUComp;MemComp;MemDec
|
jpayne@68
|
549 \-0e;256 KiB;8;4 MiB;1 MiB
|
jpayne@68
|
550 \-1e;1 MiB;8;13 MiB;2 MiB
|
jpayne@68
|
551 \-2e;2 MiB;8;25 MiB;3 MiB
|
jpayne@68
|
552 \-3e;4 MiB;7;48 MiB;5 MiB
|
jpayne@68
|
553 \-4e;4 MiB;8;48 MiB;5 MiB
|
jpayne@68
|
554 \-5e;8 MiB;7;94 MiB;9 MiB
|
jpayne@68
|
555 \-6e;8 MiB;8;94 MiB;9 MiB
|
jpayne@68
|
556 \-7e;16 MiB;8;186 MiB;17 MiB
|
jpayne@68
|
557 \-8e;32 MiB;8;370 MiB;33 MiB
|
jpayne@68
|
558 \-9e;64 MiB;8;674 MiB;65 MiB
|
jpayne@68
|
559 .TE
|
jpayne@68
|
560 .RE
|
jpayne@68
|
561 .RE
|
jpayne@68
|
562 .IP ""
|
jpayne@68
|
563 De exemplu, există un total de patru nivele prestabilite care folosesc
|
jpayne@68
|
564 dicționarul 8Mio, a căror ordine de la cel mai rapid la cel mai lent este
|
jpayne@68
|
565 \fB\-5\fP, \fB\-6\fP, \fB\-5e\fP și \fB\-6e\fP .
|
jpayne@68
|
566 .TP
|
jpayne@68
|
567 \fB\-\-fast\fP
|
jpayne@68
|
568 .PD 0
|
jpayne@68
|
569 .TP
|
jpayne@68
|
570 \fB\-\-best\fP
|
jpayne@68
|
571 .PD
|
jpayne@68
|
572 Acestea sunt alias de opțiuni, oarecum înșelătoare pentru \fB\-0\fP și,
|
jpayne@68
|
573 respectiv, \fB\-9\fP. Acestea sunt furnizate numai pentru compatibilitatea cu
|
jpayne@68
|
574 LZMA Utils. Evitați utilizarea acestor opțiuni.
|
jpayne@68
|
575 .TP
|
jpayne@68
|
576 \fB\-\-block\-size=\fP\fIdimensiunea\fP
|
jpayne@68
|
577 Când comprimă în formatul \fB.xz\fP, împarte datele de intrare în blocuri de
|
jpayne@68
|
578 \fIdimensiunea\fP octeți. Blocurile sunt comprimate independent unul de
|
jpayne@68
|
579 celălalt, ceea ce ajută în modul cu mai multe fire de execuție și face
|
jpayne@68
|
580 posibilă decomprimarea cu acces aleatoriu limitat. Această opțiune este de
|
jpayne@68
|
581 obicei folosită pentru a suprascrie dimensiunea implicită a blocului în
|
jpayne@68
|
582 modul cu mai multe fire de execuție, dar această opțiune poate fi folosită
|
jpayne@68
|
583 și în modul cu un singur fir de execuție.
|
jpayne@68
|
584 .IP ""
|
jpayne@68
|
585 În modul cu mai multe fire de execuție, aproximativ de trei ori
|
jpayne@68
|
586 \fIdimensiunea\fP de octeți vor fi alocați în fiecare fir pentru stocarea
|
jpayne@68
|
587 intrării și ieșirii. \fIDimensiunea\fP implicită este de trei ori dimensiunea
|
jpayne@68
|
588 dicționarului LZMA2 sau 1Mio, oricare dintre acestea este mai mare. În mod
|
jpayne@68
|
589 obișnuit, o valoare bună este de două la patru ori dimensiunea dicționarului
|
jpayne@68
|
590 LZMA2 sau de cel puțin 1Mio. Utilizarea unei \fIdimensiuni\fP mai mici decât
|
jpayne@68
|
591 dimensiunea dicționarului LZMA2 este o risipă de memorie RAM, deoarece
|
jpayne@68
|
592 atunci memoria tampon a dicționarului LZMA2 nu va fi niciodată utilizată pe
|
jpayne@68
|
593 deplin. În modul cu mai multe fire de execuție, dimensiunile blocurilor sunt
|
jpayne@68
|
594 stocate în anteturile blocurilor. Aceste informații privind dimensiunea sunt
|
jpayne@68
|
595 necesare pentru decomprimarea cu mai multe fire.
|
jpayne@68
|
596 .IP ""
|
jpayne@68
|
597 În modul cu un singur fir de execuție, nicio divizare a blocurilor nu se
|
jpayne@68
|
598 face în mod implicit. Folosirea acestei opțiuni nu afectează utilizarea
|
jpayne@68
|
599 memoriei. Nu sunt stocate informații despre dimensiune în antetele
|
jpayne@68
|
600 blocurilor, astfel încât fișierele create în modul cu un singur fir de
|
jpayne@68
|
601 execuție nu vor fi identice cu fișierele create în modul cu mai multe fire
|
jpayne@68
|
602 de execuție. Lipsa informațiilor privind dimensiunea înseamnă, de asemenea,
|
jpayne@68
|
603 că \fBxz\fP nu va putea decomprima fișierele în modul cu mai multe fire. de
|
jpayne@68
|
604 execuție.
|
jpayne@68
|
605 .TP
|
jpayne@68
|
606 \fB\-\-block\-list=\fP\fIelemente\fP
|
jpayne@68
|
607 Când comprimă în formatul \fB.xz\fP, începe un nou bloc cu un lanț de filtre
|
jpayne@68
|
608 personalizat opțional după intervalele specificate de date necomprimate.
|
jpayne@68
|
609 .IP ""
|
jpayne@68
|
610 \fIelementele\fP sunt o listă separată prin virgule. Fiecare element este
|
jpayne@68
|
611 format dintr\-un număr opțional de lanț de filtrare între 0 și 9, urmat de
|
jpayne@68
|
612 două puncte (\fB:\fP) și de o dimensiune cerută a datelor
|
jpayne@68
|
613 necomprimate. Omiterea unui element (două sau mai multe virgule consecutive)
|
jpayne@68
|
614 este o prescurtare pentru a utiliza dimensiunea și filtrele din elementul
|
jpayne@68
|
615 anterior.
|
jpayne@68
|
616 .IP ""
|
jpayne@68
|
617 În cazul în care fișierul de intrare este mai mare decât suma dimensiunilor
|
jpayne@68
|
618 din \fIelemente\fP, ultimul element se repetă până la sfârșitul fișierului. O
|
jpayne@68
|
619 valoare specială de \fB0\fP poate fi utilizată ca ultimă dimensiune pentru a
|
jpayne@68
|
620 indica faptul că restul fișierului trebuie să fie codificat ca un singur
|
jpayne@68
|
621 bloc.
|
jpayne@68
|
622 .IP ""
|
jpayne@68
|
623 Un lanț de filtre alternativ pentru fiecare bloc poate fi specificat în
|
jpayne@68
|
624 combinație cu opțiunile \fB\-\-filters1=\fP\fIfiltre\fP \&...\&
|
jpayne@68
|
625 \fB\-\-filters9=\fP\fIfiltre\fP. Aceste opțiuni definesc lanțuri de filtre cu un
|
jpayne@68
|
626 identificator cuprins între 1\(en9. Lanțul de filtre 0 poate fi utilizat
|
jpayne@68
|
627 pentru a se referi la lanțul de filtre implicit, ceea ce este același lucru
|
jpayne@68
|
628 cu a nu specifica un lanț de filtre. Identificatorul lanțului de filtre
|
jpayne@68
|
629 poate fi utilizat înaintea dimensiunii necomprimate, urmat de două puncte
|
jpayne@68
|
630 (\fB:\fP). De exemplu, dacă se specifică
|
jpayne@68
|
631 \fB\-\-block\-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB\fP, atunci blocurile vor fi
|
jpayne@68
|
632 create folosind:
|
jpayne@68
|
633 .RS
|
jpayne@68
|
634 .IP \(bu 3
|
jpayne@68
|
635 Lanțul de filtre specificat de \fB\-\-filters1\fP și 2 Mio de intrare
|
jpayne@68
|
636 .IP \(bu 3
|
jpayne@68
|
637 Lanțul de filtre specificat de \fB\-\-filters3\fP și 2 Mio de intrare
|
jpayne@68
|
638 .IP \(bu 3
|
jpayne@68
|
639 Lanțul de filtre specificat de \fB\-\-filters2\fP și 4 Mio de intrare
|
jpayne@68
|
640 .IP \(bu 3
|
jpayne@68
|
641 Lanțul de filtre specificat de \fB\-\-filters2\fP și 4 Mio de intrare
|
jpayne@68
|
642 .IP \(bu 3
|
jpayne@68
|
643 Lanțul de filtre implicit și 2 MiB de intrare
|
jpayne@68
|
644 .IP \(bu 3
|
jpayne@68
|
645 Lanțul de filtre implicit și 4 MiB de intrare pentru fiecare bloc până la
|
jpayne@68
|
646 sfârșitul intrării.
|
jpayne@68
|
647 .RE
|
jpayne@68
|
648 .IP ""
|
jpayne@68
|
649 Dacă se specifică o dimensiune care depășește dimensiunea blocului
|
jpayne@68
|
650 codificatorului (fie valoarea implicită în modul cu fire de execuție, fie
|
jpayne@68
|
651 valoarea specificată cu \fB\-\-block\-size=\fP\fIdimensiune\fP), codificatorul va
|
jpayne@68
|
652 crea blocuri suplimentare, păstrând limitele specificate în \fIelemente\fP. De
|
jpayne@68
|
653 exemplu, dacă se specifică \fB\-\-block\-size=10MiB\fP
|
jpayne@68
|
654 \fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP și fișierul de intrare este de
|
jpayne@68
|
655 80 MiB, se vor obține 11 blocuri: 5, 10, 8, 10, 10, 2, 10, 10, 10, 4, 10,
|
jpayne@68
|
656 10, 10 și 1 Mio.
|
jpayne@68
|
657 .IP ""
|
jpayne@68
|
658 În modul cu mai multe fire de execuție, dimensiunile blocurilor sunt stocate
|
jpayne@68
|
659 în antetele blocurilor. Acest lucru nu se face în modul cu un singur fir de
|
jpayne@68
|
660 execuție, astfel încât ieșirea codificată nu va fi identică cu cea a modului
|
jpayne@68
|
661 cu mai multe fire de execuție.
|
jpayne@68
|
662 .TP
|
jpayne@68
|
663 \fB\-\-flush\-timeout=\fP\fItimp_limită\fP
|
jpayne@68
|
664 La comprimare, dacă au trecut mai mult de \fItimp_limită\fP milisecunde (un
|
jpayne@68
|
665 întreg pozitiv) de la curățarea anterioară și citirea mai multor intrări
|
jpayne@68
|
666 s\-ar bloca, toate datele de intrare în așteptare sunt eliminate din
|
jpayne@68
|
667 codificator și puse la dispoziție în fluxul de ieșire. Acest lucru poate să
|
jpayne@68
|
668 fie util dacă \fBxz\fP este utilizat pentru a comprima datele care sunt
|
jpayne@68
|
669 transmise în flux printr\-o rețea. Valorile mici de \fItimp_limită\fP fac datele
|
jpayne@68
|
670 disponibile la capătul de recepție cu o mică întârziere, dar valorile mari
|
jpayne@68
|
671 de \fItimp_limită\fP oferă un raport de comprimare mai bun.
|
jpayne@68
|
672 .IP ""
|
jpayne@68
|
673 Această caracteristică este dezactivată în mod implicit. Dacă această
|
jpayne@68
|
674 opțiune este specificată de mai multe ori, ultima este cea care se ia în
|
jpayne@68
|
675 considerare. Valoarea specială a lui \fItimp_limită\fP de \fB0\fP, poate fi
|
jpayne@68
|
676 utilizată pentru a dezactiva în mod explicit această caracteristică.
|
jpayne@68
|
677 .IP ""
|
jpayne@68
|
678 Această caracteristică nu este disponibilă în sistemele non\-POSIX.
|
jpayne@68
|
679 .IP ""
|
jpayne@68
|
680 .\" FIXME
|
jpayne@68
|
681 \fBAceastă caracteristică este încă experimentală\fP. În prezent, \fBxz\fP este
|
jpayne@68
|
682 nepotrivit pentru decomprimarea fluxului în timp real datorită modului în
|
jpayne@68
|
683 care \fBxz\fP utilizează memoria tampon.
|
jpayne@68
|
684 .TP
|
jpayne@68
|
685 \fB\-\-memlimit\-compress=\fP\fIlimita\fP
|
jpayne@68
|
686 Stabilește o limită de utilizare a memoriei pentru comprimare. Dacă această
|
jpayne@68
|
687 opțiune este specificată de mai multe ori, ultima va avea efect.
|
jpayne@68
|
688 .IP ""
|
jpayne@68
|
689 Dacă parametrii de comprimare depășesc \fIlimita\fP, \fBxz\fP va încerca să
|
jpayne@68
|
690 ajusteze parametrii scăzând valorile acestora, astfel încât limita să nu mai
|
jpayne@68
|
691 fie depășită și va afișa o notificare că ajustarea automată a fost
|
jpayne@68
|
692 efectuată. Ajustările se fac în această ordine: reducerea numărului de fire,
|
jpayne@68
|
693 trecerea la modul un singur fir de execuție dacă chiar și un singur fir în
|
jpayne@68
|
694 modul cu mai multe fire de execuție depășește \fIlimita\fP și, în final,
|
jpayne@68
|
695 reducerea dimensiunii dicționarului LZMA2.
|
jpayne@68
|
696 .IP ""
|
jpayne@68
|
697 Când comprimă cu opțiunea \fB\-\-format=raw\fP sau dacă a fost specificată
|
jpayne@68
|
698 opțiunea \fB\-\-no\-adjust\fP, numai numărul de fire poate fi redus, deoarece se
|
jpayne@68
|
699 poate face fără a afecta rezultatul comprimării.
|
jpayne@68
|
700 .IP ""
|
jpayne@68
|
701 Dacă \fIlimita\fP nu poate fi îndeplinită chiar și cu ajustările descrise mai
|
jpayne@68
|
702 sus, este afișată o eroare și \fBxz\fP va ieși cu starea de ieșire 1.
|
jpayne@68
|
703 .IP ""
|
jpayne@68
|
704 \fILimita\fP poate fi specificata în mai multe moduri:
|
jpayne@68
|
705 .RS
|
jpayne@68
|
706 .IP \(bu 3
|
jpayne@68
|
707 \fILimita\fP poate fi o valoare absolută în octeți. Utilizarea unui sufix
|
jpayne@68
|
708 întreg precum \fBMiB\fP poate fi utilă. De exemplu:
|
jpayne@68
|
709 \fB\-\-memlimit\-compress=80MiB\fP
|
jpayne@68
|
710 .IP \(bu 3
|
jpayne@68
|
711 \fILimita\fP poate fi specificată ca procent din memoria fizică totală
|
jpayne@68
|
712 (RAM). Acest lucru poate fi util mai ales atunci când definiți variabila de
|
jpayne@68
|
713 mediu \fBXZ_DEFAULTS\fP într\-un script de inițializare shell care este partajat
|
jpayne@68
|
714 între diferite calculatoare. În acest fel, limita este automat mai mare pe
|
jpayne@68
|
715 sistemele cu mai multă memorie. De exemplu: \fB\-\-memlimit\-compress=70%\fP
|
jpayne@68
|
716 .IP \(bu 3
|
jpayne@68
|
717 \fILimita\fP poate fi restabilită la valoarea implicită dându\-i valoarea
|
jpayne@68
|
718 \fB0\fP. În prezent, aceasta este echivalentă cu stabilirea \fIlimitei\fP la
|
jpayne@68
|
719 \fBmax\fP (fără limită de utilizare a memoriei).
|
jpayne@68
|
720 .RE
|
jpayne@68
|
721 .IP ""
|
jpayne@68
|
722 Pentru \fBxz\fP pe 32 de biți există un caz special: dacă \fIlimita\fP ar fi peste
|
jpayne@68
|
723 \fB4020MiB\fP, \fIlimita\fP este stabilită la \fB4020MiB\fP. Pe MIPS32 este
|
jpayne@68
|
724 stabilită în schimb la \fB2000MiB\fP; (valorile \fB0\fP și \fBmax\fP nu sunt afectate
|
jpayne@68
|
725 de acest lucru \-\- o caracteristică similară nu există pentru
|
jpayne@68
|
726 decomprimare). Acest lucru poate fi util atunci când un executabil pe 32 de
|
jpayne@68
|
727 biți are acces la un spațiu de adrese de 4Gio (2Gio pe MIPS32), se speră că
|
jpayne@68
|
728 nu produce daune în alte situații.
|
jpayne@68
|
729 .IP ""
|
jpayne@68
|
730 Consultați și secțiunea \fBUtilizarea memoriei\fP.
|
jpayne@68
|
731 .TP
|
jpayne@68
|
732 \fB\-\-memlimit\-decompress=\fP\fIlimita\fP
|
jpayne@68
|
733 Stabilește o limită de utilizare a memoriei pentru decomprimare. Acest lucru
|
jpayne@68
|
734 afectează și modul \fB\-\-list\fP. Dacă operațiunea nu este posibilă fără a
|
jpayne@68
|
735 depăși \fIlimita\fP, \fBxz\fP va afișa o eroare și decomprimarea fișierului va
|
jpayne@68
|
736 eșua. Consultați \fB\-\-memlimit\-compress=\fP\fIlimita\fP pentru modalitățile
|
jpayne@68
|
737 posibile de a specifica \fIlimita\fP.
|
jpayne@68
|
738 .TP
|
jpayne@68
|
739 \fB\-\-memlimit\-mt\-decompress=\fP\fIlimita\fP
|
jpayne@68
|
740 Stabilește o limită de utilizare a memoriei pentru decomprimarea cu mai
|
jpayne@68
|
741 multe fire de execuție. Acest lucru poate afecta doar numărul de fire de
|
jpayne@68
|
742 execuție; acest lucru nu îl va face niciodată pe \fBxz\fP să refuze
|
jpayne@68
|
743 decomprimarea unui fișier. Dacă \fIlimita\fP este prea scăzută pentru a permite
|
jpayne@68
|
744 orice mod cu mai multe fire de execuție, \fIlimita\fP este ignorată și \fBxz\fP va
|
jpayne@68
|
745 continua în modul cu un singur fir de execuție. Rețineți că, dacă se
|
jpayne@68
|
746 folosește și opțiunea \fB\-\-memlimit\-decompress\fP, se va aplica întotdeauna
|
jpayne@68
|
747 atât modurilor cu un singur fir de execuție, cât și modurilor cu mai multe
|
jpayne@68
|
748 fire de execuție și astfel \fIlimita\fP efectivă pentru modul cu mai multe fire
|
jpayne@68
|
749 de execuție nu va fi niciodată mai mare decât limita stabilită cu opțiunea
|
jpayne@68
|
750 \fB\-\-memlimit\-decompress\fP.
|
jpayne@68
|
751 .IP ""
|
jpayne@68
|
752 Spre deosebire de celelalte opțiuni de limită de utilizare a memoriei,
|
jpayne@68
|
753 opțiunea \fB\-\-memlimit\-mt\-decompress=\fP\fIlimita\fP are o \fIlimită\fP implicită
|
jpayne@68
|
754 specifică sistemului. Comanda \fBxz \-\-info\-memory\fP poate fi folosită pentru a
|
jpayne@68
|
755 vedea valoarea curentă.
|
jpayne@68
|
756 .IP ""
|
jpayne@68
|
757 Această opțiune și valoarea ei implicită există deoarece, fără nicio limită,
|
jpayne@68
|
758 decomprimarea cu (mai multe) fire de execuție ar putea ajunge să aloce o
|
jpayne@68
|
759 cantitate „nebună” de memorie cu unele fișiere de intrare. Dacă \fIlimita\fP
|
jpayne@68
|
760 implicită este prea scăzută pe sistemul dumneavoastră, nu ezitați să
|
jpayne@68
|
761 creșteți \fIlimita\fP, dar niciodată să nu o stabiliți la o valoare mai mare
|
jpayne@68
|
762 decât cantitatea de memorie RAM utilizabilă și cu niște fișiere de intrare
|
jpayne@68
|
763 adecvate, \fBxz\fP va încerca să utilizeze acea cantitate de memorie chiar și
|
jpayne@68
|
764 cu un număr redus de fire de execuție. Rularea lui \fBxz\fP cu depășirea
|
jpayne@68
|
765 cantității de memorie fizice(RAM) sau a celei de interschimb(swap) nu va
|
jpayne@68
|
766 îmbunătăți performanța de decomprimare.
|
jpayne@68
|
767 .IP ""
|
jpayne@68
|
768 Consultați opțiunea \fB\-\-memlimit\-compress=\fP\fIlimita\fP pentru modalități
|
jpayne@68
|
769 posibile de a specifica \fIlimita\fP. Stabilirea \fIlimitei\fP la \fB0\fP
|
jpayne@68
|
770 restabilește \fIlimita\fP la valoarea implicită specifică sistemului.
|
jpayne@68
|
771 .TP
|
jpayne@68
|
772 \fB\-M\fP \fIlimita\fP, \fB\-\-memlimit=\fP\fIlimita\fP, \fB\-\-memory=\fP\fIlimita\fP
|
jpayne@68
|
773 Aceasta este echivalentă cu specificarea opțiunilor:
|
jpayne@68
|
774 \fB\-\-memlimit\-compress=\fP\fIlimita\fP \fB\-\-memlimit\-decompress=\fP\fIlimita\fP
|
jpayne@68
|
775 \fB\-\-memlimit\-mt\-decompress=\fP\fIlimita\fP.
|
jpayne@68
|
776 .TP
|
jpayne@68
|
777 \fB\-\-no\-adjust\fP
|
jpayne@68
|
778 Afișează o eroare și iese dacă limita de utilizare a memoriei nu poate fi
|
jpayne@68
|
779 îndeplinită fără ajustarea parametrilor care afectează ieșirea
|
jpayne@68
|
780 comprimată. Adică, acest lucru împiedică \fBxz\fP să comute codificatorul din
|
jpayne@68
|
781 modul cu mai multe fire de execuție în modul cu un singur fir de execuție și
|
jpayne@68
|
782 să reducă dimensiunea dicționarului LZMA2. Chiar și atunci când această
|
jpayne@68
|
783 opțiune este utilizată, numărul de fire de execuție poate fi redus pentru a
|
jpayne@68
|
784 îndeplini limita de utilizare a memoriei, deoarece aceasta nu va afecta
|
jpayne@68
|
785 comprimarea.
|
jpayne@68
|
786 .IP ""
|
jpayne@68
|
787 Ajustarea automată este întotdeauna dezactivată la crearea fluxurilor brute
|
jpayne@68
|
788 (\fB\-\-format=raw\fP).
|
jpayne@68
|
789 .TP
|
jpayne@68
|
790 \fB\-T\fP \fInumăr\fP, \fB\-\-threads=\fP\fInumăr\fP
|
jpayne@68
|
791 Specifică numărul de fire de execuție de utilizat. Stabilirea \fInumărului\fP
|
jpayne@68
|
792 la valoarea specială \fB0\fP, face ca \fBxz\fP să utilizeze până la atâtea fire de
|
jpayne@68
|
793 execuție câte procesoare sunt în sistem. Numărul real de fire de execuție
|
jpayne@68
|
794 poate fi mai mic decât \fInumăr\fP dacă fișierul de intrare nu este suficient
|
jpayne@68
|
795 de mare pentru a trece la modul cu mai multe fire de execuție cu parametrii
|
jpayne@68
|
796 dați, sau dacă folosirea mai multor fire de execuție ar depăși limita de
|
jpayne@68
|
797 utilizare a memoriei.
|
jpayne@68
|
798 .IP ""
|
jpayne@68
|
799 Operațiile de comprimare cu un singur fir de execuție și cele cu mai multe
|
jpayne@68
|
800 fire de execuție produc ieșiri diferite. Comprimarea cu un singur fir de
|
jpayne@68
|
801 execuție va oferi cea mai mică dimensiune a fișierului, dar numai ieșirea de
|
jpayne@68
|
802 la comprimarea cu mai multe fire de execuție poate fi decomprimată folosind
|
jpayne@68
|
803 mai multe fire. Stabilirea \fInumărului\fP la \fB1\fP va determina ca \fBxz\fP să
|
jpayne@68
|
804 folosească modul cu un singur fir de execuție. Stabilirea \fInumărului\fP la
|
jpayne@68
|
805 orice altă valoare, inclusiv \fB0\fP, va determina ca \fBxz\fP să folosească
|
jpayne@68
|
806 comprimarea cu mai multe fire de execuție chiar dacă sistemul acceptă doar
|
jpayne@68
|
807 un fir hardware; (\fBxz\fP 5.2.x folosește modul cu un singur fir de execuție
|
jpayne@68
|
808 în această situație).
|
jpayne@68
|
809 .IP ""
|
jpayne@68
|
810 Pentru a utiliza modul cu mai multe fire de execuție cu un singur fir,
|
jpayne@68
|
811 stabiliți \fInumărul\fP la \fB+1\fP. Prefixul \fB+\fP nu are efect cu alte valori
|
jpayne@68
|
812 decât \fB1\fP. O limită de utilizare a memoriei poate face în continuare \fBxz\fP
|
jpayne@68
|
813 să treacă în modul cu un singur fir, cu excepția cazului în care este
|
jpayne@68
|
814 utilizată opțiunea \fB\-\-no\-adjust\fP. Suportul pentru prefixul \fB+\fP a fost
|
jpayne@68
|
815 adăugat în \fBxz\fP 5.4.0.
|
jpayne@68
|
816 .IP ""
|
jpayne@68
|
817 Dacă a fost solicitat un număr automat de fire și nu a fost specificată
|
jpayne@68
|
818 nicio limită de utilizare a memoriei, atunci o limită „maleabilă” implicită
|
jpayne@68
|
819 specifică sistemului va fi utilizată pentru a limita eventual numărul de
|
jpayne@68
|
820 fire de execuție. Este o limită „maleabilă” în sensul că este ignorată dacă
|
jpayne@68
|
821 numărul de fire devine unul, astfel o limită „maleabilă” nu va opri
|
jpayne@68
|
822 niciodată \fBxz\fP să comprime sau să decomprime. Această limită „maleabilă”
|
jpayne@68
|
823 implicită nu va face \fBxz\fP să treacă de la modul cu mai multe fire de
|
jpayne@68
|
824 execuție la modul cu un singur fir de execuție. Limitele active pot fi
|
jpayne@68
|
825 văzute rulând comanda \fBxz \-\-info\-memory\fP.
|
jpayne@68
|
826 .IP ""
|
jpayne@68
|
827 În prezent, singura metodă de procesare cu fire de execuție este împărțirea
|
jpayne@68
|
828 intrării în blocuri și comprimarea lor independent unul de
|
jpayne@68
|
829 celălalt. Dimensiunea implicită a blocului depinde de nivelul de comprimare
|
jpayne@68
|
830 și poate fi înlocuită cu opțiunea \fB\-\-block\-size=\fP\fIdimensiune\fP.
|
jpayne@68
|
831 .IP ""
|
jpayne@68
|
832 Decomprimarea cu fire de execuție funcționează numai pe fișierele care
|
jpayne@68
|
833 conțin mai multe blocuri cu informații despre dimensiune în antetele
|
jpayne@68
|
834 blocurilor. Toate fișierele suficient de mari comprimate în modul cu mai
|
jpayne@68
|
835 multe fire de execuție îndeplinesc această condiție, dar fișierele
|
jpayne@68
|
836 comprimate în modul cu un singur fir de execuție nu o îndeplinesc chiar dacă
|
jpayne@68
|
837 a fost folosită opțiunea \fB\-\-block\-size=\fP\fIdimensiune\fP.
|
jpayne@68
|
838 .IP ""
|
jpayne@68
|
839 Valoarea implicită pentru \fIfire de execuție\fP este \fB0\fP. În \fBxz\fP 5.4.x și
|
jpayne@68
|
840 mai vechi, valoarea implicită este \fB1\fP.
|
jpayne@68
|
841 .
|
jpayne@68
|
842 .SS "Lanțuri de filtrare personalizate pentru instrumentul de comprimare"
|
jpayne@68
|
843 Un lanț de filtrare personalizat permite specificarea parametrilor de
|
jpayne@68
|
844 comprimare în detaliu, în loc să se bazeze pe cei asociați opțiunilor
|
jpayne@68
|
845 prestabilite. Când este specificat un lanț de filtrare personalizat,
|
jpayne@68
|
846 opțiunile prestabilite (\fB\-0\fP \&...\& \fB\-9\fP și \fB\-\-extreme\fP) de mai devreme
|
jpayne@68
|
847 din linia de comandă sunt uitate. Dacă o opțiune prestabilită este
|
jpayne@68
|
848 specificată după una sau mai multe opțiuni de lanț de filtrare personalizat,
|
jpayne@68
|
849 noua prestabilire intră în vigoare și opțiunile lanțului de filtrare
|
jpayne@68
|
850 personalizat, specificate mai devreme sunt uitate.
|
jpayne@68
|
851 .PP
|
jpayne@68
|
852 Un lanț de filtrare este comparabil cu conductele din linia de comandă. La
|
jpayne@68
|
853 comprimare, intrarea necomprimată merge la primul filtru, a cărui ieșire
|
jpayne@68
|
854 merge la următorul filtru (dacă există). Ieșirea ultimului filtru este
|
jpayne@68
|
855 scrisă în fișierul comprimat. Numărul maxim de filtre din lanț este de
|
jpayne@68
|
856 patru, dar de obicei un lanț de filtrare are doar unul sau două filtre.
|
jpayne@68
|
857 .PP
|
jpayne@68
|
858 Multe filtre au limitări în ceea ce privește locul în care se pot afla în
|
jpayne@68
|
859 lanțul de filtrare: unele filtre pot funcționa doar ca ultimul filtru din
|
jpayne@68
|
860 lanț, altele doar ca non\-ultim filtru și unele funcționează în orice poziție
|
jpayne@68
|
861 din lanț. În funcție de filtru, această limitare este fie inerentă
|
jpayne@68
|
862 proiectării filtrului, fie există pentru a preveni problemele de securitate.
|
jpayne@68
|
863 .PP
|
jpayne@68
|
864 Un lanț de filtre personalizat poate fi specificat în două moduri
|
jpayne@68
|
865 diferite. Opțiunile \fB\-\-filters=\fP\fIfiltre\fP și \fB\-\-filters1=\fP\fIfiltre\fP
|
jpayne@68
|
866 \&...\& \fB\-\-filters9=\fP\fIfiltre\fP permit specificarea unui întreg lanț de
|
jpayne@68
|
867 filtre într\-o singură opțiune, folosind sintaxa șirului de filtre
|
jpayne@68
|
868 liblzma. Alternativ, un lanț de filtre poate fi specificat prin utilizarea
|
jpayne@68
|
869 uneia sau mai multor opțiuni de filtrare individuale în ordinea în care sunt
|
jpayne@68
|
870 dorite în lanțul de filtre. Adică, ordinea opțiunilor de filtrare
|
jpayne@68
|
871 individuale este semnificativă! La decodificarea fluxurilor brute
|
jpayne@68
|
872 (\fB\-\-format=raw\fP), lanțul de filtre trebuie să fie specificat în aceeași
|
jpayne@68
|
873 ordine în care a fost specificat la comprimare. Orice filtru individual sau
|
jpayne@68
|
874 opțiuni presetate specificate înainte de opțiunea de lanț complet
|
jpayne@68
|
875 (\fB\-\-filters=\fP\fIfiltre\fP) vor fi uitate. Filtrele individuale specificate
|
jpayne@68
|
876 după opțiunea „lanț complet” vor reinițializa lanțul de filtre.
|
jpayne@68
|
877 .PP
|
jpayne@68
|
878 Atât opțiunile de filtrare completă, cât și cele de filtrare individuală
|
jpayne@68
|
879 acceptă \fIopțiuni\fP specifice filtrului sub forma unei liste separate prin
|
jpayne@68
|
880 virgule. Se ignoră virgulele suplimentare din \fIopțiuni\fP. Fiecare opțiune
|
jpayne@68
|
881 are o valoare implicită, deci specificați\-le pe cele pe care doriți să le
|
jpayne@68
|
882 modificați.
|
jpayne@68
|
883 .PP
|
jpayne@68
|
884 Pentru a vedea întregul lanț de filtre și \fIopțiuni\fP, utilizați \fBxz \-vv\fP
|
jpayne@68
|
885 (adică folosiți \fB\-\-verbose\fP de două ori). Acest lucru funcționează și
|
jpayne@68
|
886 pentru vizualizarea opțiunilor lanțului de filtre utilizate de valorile
|
jpayne@68
|
887 prestabilite.
|
jpayne@68
|
888 .TP
|
jpayne@68
|
889 \fB\-\-filters=\fP\fIfiltre\fP
|
jpayne@68
|
890 Specificați întregul lanț de filtre sau o presetare într\-o singură
|
jpayne@68
|
891 opțiune. Fiecare filtru poate fi separat prin spații sau două liniuțe
|
jpayne@68
|
892 (\fB\-\-\fP). Este posibil să fie necesar ca \fIfiltrele\fP să fie puse între
|
jpayne@68
|
893 ghilimele în linia de comandă a shell\-ului pentru a fi analizate ca o
|
jpayne@68
|
894 singură opțiune. Pentru a indica \fIopțiuni\fP, utilizați \fB:\fP sau \fB=\fP. O
|
jpayne@68
|
895 presetare poate fi prefixată cu un \fB\-\fP și urmată de zero sau mai multe
|
jpayne@68
|
896 indicatoare. Singurul indicator suportat este \fBe\fP pentru a aplica aceleași
|
jpayne@68
|
897 opțiuni ca și \fB\-\-extreme\fP.
|
jpayne@68
|
898 .TP
|
jpayne@68
|
899 \fB\-\-filters1\fP=\fIfiltre\fP ... \fB\-\-filters9\fP=\fIfiltre\fP
|
jpayne@68
|
900 Specifică până la nouă lanțuri de filtre suplimentare care pot fi utilizate
|
jpayne@68
|
901 cu \fB\-\-block\-list\fP.
|
jpayne@68
|
902 .IP ""
|
jpayne@68
|
903 De exemplu, atunci când se comprimă o arhivă cu fișiere executabile urmate
|
jpayne@68
|
904 de fișiere text, partea executabilă ar putea utiliza un lanț de filtre cu un
|
jpayne@68
|
905 filtru BCJ, iar partea de text doar filtrul LZMA2.
|
jpayne@68
|
906 .TP
|
jpayne@68
|
907 \fB\-\-filters\-help\fP
|
jpayne@68
|
908 Afișează un mesaj de ajutor care descrie modul de specificare a presetărilor
|
jpayne@68
|
909 și a lanțurilor de filtre personalizate în opțiunile \fB\-\-filters\fP și
|
jpayne@68
|
910 \fB\-\-filters1=\fP\fIfiltre\fP \&...\& \fB\-\-filters9=\fP\fIfiltre\fP și iese.
|
jpayne@68
|
911 .TP
|
jpayne@68
|
912 \fB\-\-lzma1\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
913 .PD 0
|
jpayne@68
|
914 .TP
|
jpayne@68
|
915 \fB\-\-lzma2\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
916 .PD
|
jpayne@68
|
917 Adaugă filtrul LZMA1 sau LZMA2 la lanțul de filtre. Aceste filtre pot fi
|
jpayne@68
|
918 folosite doar ca ultimul filtru din lanț.
|
jpayne@68
|
919 .IP ""
|
jpayne@68
|
920 LZMA1 este un filtru vechi, care este acceptat aproape exclusiv datorită
|
jpayne@68
|
921 formatului de fișier vechi \fB.lzma\fP, care acceptă numai LZMA1. LZMA2 este o
|
jpayne@68
|
922 versiune actualizată a LZMA1 pentru a rezolva unele probleme practice ale
|
jpayne@68
|
923 LZMA1. Formatul \fB.xz\fP folosește LZMA2 și nu acceptă deloc LZMA1. Viteza de
|
jpayne@68
|
924 comprimare și rapoartele LZMA1 și LZMA2 sunt practic aceleași.
|
jpayne@68
|
925 .IP ""
|
jpayne@68
|
926 LZMA1 și LZMA2 au același set de \fIopțiuni\fP:
|
jpayne@68
|
927 .RS
|
jpayne@68
|
928 .TP
|
jpayne@68
|
929 \fBpreset=\fP\fIprestabilit\fP
|
jpayne@68
|
930 Reconfigurează toate \fIopțiunile\fP LZMA1 sau LZMA2 la
|
jpayne@68
|
931 \fIprestabilit\fP. \fIprestabilit\fP constă dintr\-un număr întreg, care poate fi
|
jpayne@68
|
932 urmat de modificatori prestabiliți cu o singură literă. Numărul întreg
|
jpayne@68
|
933 poate fi de la \fB0\fP la \fB9\fP, potrivindu\-se cu opțiunile liniei de comandă
|
jpayne@68
|
934 \fB\-0\fP \&...\& \fB\-9\fP. Singurul modificator acceptat în prezent este \fBe\fP,
|
jpayne@68
|
935 care se potrivește cu \fB\-\-extreme\fP. Dacă nu este specificat \fBprestabilit\fP,
|
jpayne@68
|
936 valorile implicite ale \fIopțiunilor\fP LZMA1 sau LZMA2 sunt preluate din
|
jpayne@68
|
937 prestabilirea \fB6\fP.
|
jpayne@68
|
938 .TP
|
jpayne@68
|
939 \fBdict=\fP\fIdimensiunea\fP
|
jpayne@68
|
940 \fIDimensiunea\fP dicționarului (istoricul memoriei tampon) indică câți octeți
|
jpayne@68
|
941 din datele necomprimate recent procesate sunt păstrați în
|
jpayne@68
|
942 memorie. Algoritmul încearcă să găsească secvențe de octeți care se repetă
|
jpayne@68
|
943 (potriviri) în datele necomprimate și să le înlocuiască cu referințe la
|
jpayne@68
|
944 datele aflate în prezent în dicționar. Cu cât dicționarul este mai mare, cu
|
jpayne@68
|
945 atât este mai mare șansa de a găsi o potrivire. Astfel, creșterea
|
jpayne@68
|
946 \fIdimensiunii\fP dicționarului îmbunătățește de obicei raportul de comprimare,
|
jpayne@68
|
947 dar un dicționar mai mare decât fișierul necomprimat este risipă de memorie.
|
jpayne@68
|
948 .IP ""
|
jpayne@68
|
949 \fIDimensiunea\fPtipică a dicționarului este de la 64Kio până la 64Mio. Minimul
|
jpayne@68
|
950 este de 4Kio. Maximul pentru compresie este în prezent de 1,5Gio
|
jpayne@68
|
951 (1536Mio). Decomprimarea acceptă deja dicționare cu până la un octet mai
|
jpayne@68
|
952 puțin de 4Gio, care este maximul pentru formatele de flux LZMA1 și LZMA2.
|
jpayne@68
|
953 .IP ""
|
jpayne@68
|
954 \fIDimensiunea\fP dicționarului și găsitorul de potriviri (match finder) →
|
jpayne@68
|
955 (\fImf\fP) determină împreună utilizarea memoriei de către codificatorul LZMA1
|
jpayne@68
|
956 sau LZMA2. Aceeași \fIdimensiune\fP a dicționarului (sau mai mare) care a fost
|
jpayne@68
|
957 utilizată la comprimare, este necesară pentru decomprimare, astfel încât
|
jpayne@68
|
958 utilizarea memoriei de către decodificator este determinată de dimensiunea
|
jpayne@68
|
959 dicționarului utilizată la comprimare. Antetele \fB.xz\fP stochează
|
jpayne@68
|
960 \fIdimensiunea\fP dicționarului fie ca 2^\fIn\fP, fie ca 2^\fIn\fP + 2^(\fIn\fP\-1), deci
|
jpayne@68
|
961 aceste \fIdimensiuni\fP sunt oarecum preferate pentru comprimare. Alte
|
jpayne@68
|
962 \fIdimensiuni\fP vor fi rotunjite atunci când sunt stocate în anteturile
|
jpayne@68
|
963 \&\fB.xz\fP.
|
jpayne@68
|
964 .TP
|
jpayne@68
|
965 \fBlc=\fP\fIlc\fP
|
jpayne@68
|
966 Specifică numărul de biți de context literal. Minimul este 0 și maximul este
|
jpayne@68
|
967 4; implicit este 3. În plus, suma \fIlc\fP și \fIlp\fP nu trebuie să depășească
|
jpayne@68
|
968 4.
|
jpayne@68
|
969 .IP ""
|
jpayne@68
|
970 Toți octeții care nu pot fi codificați ca potriviri sunt codificați ca
|
jpayne@68
|
971 literali. Adică, literalii sunt pur și simplu octeți de 8 biți care sunt
|
jpayne@68
|
972 codificați unul câte unul.
|
jpayne@68
|
973 .IP ""
|
jpayne@68
|
974 Codificarea literală presupune că cei mai mari biți \fIlc\fP ai octetului
|
jpayne@68
|
975 anterior necomprimat se corelează cu octetul următor. De exemplu, în textul
|
jpayne@68
|
976 tipic englezesc, o literă mare este adesea urmată de o literă mică, iar o
|
jpayne@68
|
977 literă mică este urmată de obicei de o altă literă mică. În setul de
|
jpayne@68
|
978 caractere US\-ASCII, cei mai mari trei biți sunt 010 pentru literele mari și
|
jpayne@68
|
979 011 pentru literele mici. Când \fIlc\fP este cel puțin 3, codificarea literală
|
jpayne@68
|
980 poate profita de această proprietate în datele necomprimate.
|
jpayne@68
|
981 .IP ""
|
jpayne@68
|
982 Valoarea implicită (3) este de obicei bună. Dacă doriți o comprimare maximă,
|
jpayne@68
|
983 testați \fBlc=4\fP. Uneori ajută puțin, iar uneori înrăutățește comprimarea
|
jpayne@68
|
984 \&. Dacă o agravează, încercați de\-asemeni cu \fBlc=2\fP.
|
jpayne@68
|
985 .TP
|
jpayne@68
|
986 \fBlp=\fP\fIlp\fP
|
jpayne@68
|
987 Specifică numărul de biți de poziție literală. Minimul este 0 și maximul
|
jpayne@68
|
988 este 4; implicit este 0.
|
jpayne@68
|
989 .IP ""
|
jpayne@68
|
990 \fILp\fP afectează ce fel de aliniere în datele necomprimate este presupusă la
|
jpayne@68
|
991 codificarea literalelor. Consultați argumentul \fIpb\fP de mai jos pentru mai
|
jpayne@68
|
992 multe informații despre aliniere.
|
jpayne@68
|
993 .TP
|
jpayne@68
|
994 \fBpb=\fP\fIpb\fP
|
jpayne@68
|
995 Specifică numărul de biți de poziție. Minimul este 0 și maximul este 4;
|
jpayne@68
|
996 implicit este 2.
|
jpayne@68
|
997 .IP ""
|
jpayne@68
|
998 \fIPb\fP afectează ce fel de aliniere în datele necomprimate este presupusă în
|
jpayne@68
|
999 general. Valoarea implicită înseamnă alinierea pe patru octeți
|
jpayne@68
|
1000 (2^\fIpb\fP=2^2=4), care este adesea o alegere bună atunci când nu există o
|
jpayne@68
|
1001 ipoteză mai bună.
|
jpayne@68
|
1002 .IP ""
|
jpayne@68
|
1003 Când alinierea este cunoscută, definirea lui \fIpb\fP în mod corespunzător
|
jpayne@68
|
1004 poate reduce puțin dimensiunea fișierului. De exemplu, cu fișierele text cu
|
jpayne@68
|
1005 aliniere pe un octet (US\-ASCII, ISO\-8859\-*, UTF\-8), definirea \fBpb=0\fP poate
|
jpayne@68
|
1006 îmbunătăți ușor comprimarea. Pentru textul UTF\-16, \fBpb=1\fP este o alegere
|
jpayne@68
|
1007 bună. Dacă alinierea este un număr impar, cum ar fi 3 octeți, \fBpb=0\fP ar
|
jpayne@68
|
1008 putea fi cea mai bună alegere.
|
jpayne@68
|
1009 .IP ""
|
jpayne@68
|
1010 Chiar dacă alinierea presupusă poate fi ajustată cu \fIpb\fP și \fIlp\fP, LZMA1 și
|
jpayne@68
|
1011 LZMA2 încă favorizează ușor alinierea pe 16 octeți. Ar putea fi demn de luat
|
jpayne@68
|
1012 în considerare atunci când proiectați formate de fișiere care pot fi adesea
|
jpayne@68
|
1013 comprimate cu LZMA1 sau LZMA2.
|
jpayne@68
|
1014 .TP
|
jpayne@68
|
1015 \fBmf=\fP\fImf\fP
|
jpayne@68
|
1016 Căutarea potrivirilor are un efect major asupra vitezei codificatorului,
|
jpayne@68
|
1017 utilizării memoriei și raportului de comprimare. De obicei, găsitorii de
|
jpayne@68
|
1018 potriviri din lanțul sumelor de control sunt mai rapizi decât găsitorii de
|
jpayne@68
|
1019 potriviri din arborele binar. Valoarea implicită depinde de \fIprestabilit\fP:
|
jpayne@68
|
1020 0 folosește \fBhc3\fP, 1\(en3 folosește \fBhc4\fP, iar restul folosește \fBbt4\fP.
|
jpayne@68
|
1021 .IP ""
|
jpayne@68
|
1022 Sunt acceptate următoarele opțiuni de căutare de potriviri. Formulele de
|
jpayne@68
|
1023 utilizare a memoriei de mai jos sunt aproximări estimative, care se apropie
|
jpayne@68
|
1024 cel mai mult de realitate atunci când \fIdict\fP este o putere a lui doi.
|
jpayne@68
|
1025 .RS
|
jpayne@68
|
1026 .TP
|
jpayne@68
|
1027 \fBhc3\fP
|
jpayne@68
|
1028 Lanț de sumă de control, cu suma de control de 2 și 3 octeți
|
jpayne@68
|
1029 .br
|
jpayne@68
|
1030 Valoarea minimă pentru \fInice\fP: 3
|
jpayne@68
|
1031 .br
|
jpayne@68
|
1032 Utilizarea memoriei:
|
jpayne@68
|
1033 .br
|
jpayne@68
|
1034 \fIdict\fP * 7.5 (dacă \fIdict\fP <= 16 Mio);
|
jpayne@68
|
1035 .br
|
jpayne@68
|
1036 \fIdict\fP * 5.5 + 64 MiB (dacă \fIdict\fP > 16 Mio)
|
jpayne@68
|
1037 .TP
|
jpayne@68
|
1038 \fBhc4\fP
|
jpayne@68
|
1039 Lanț de sumă de control, cu suma de control de 2, 3 și 4 octeți
|
jpayne@68
|
1040 .br
|
jpayne@68
|
1041 Valoarea minimă pentru \fInice\fP: 4
|
jpayne@68
|
1042 .br
|
jpayne@68
|
1043 Utilizarea memoriei:
|
jpayne@68
|
1044 .br
|
jpayne@68
|
1045 \fIdict\fP * 7.5 (dacă \fIdict\fP <= 32 Mio);
|
jpayne@68
|
1046 .br
|
jpayne@68
|
1047 \fIdict\fP * 6.5 (dacă \fIdict\fP > 32 Mio)
|
jpayne@68
|
1048 .TP
|
jpayne@68
|
1049 \fBbt2\fP
|
jpayne@68
|
1050 Arbore binar cu suma de control de 2 octeți
|
jpayne@68
|
1051 .br
|
jpayne@68
|
1052 Valoarea minimă pentru \fInice\fP: 2
|
jpayne@68
|
1053 .br
|
jpayne@68
|
1054 Utilizarea memoriei: \fIdict\fP * 9.5
|
jpayne@68
|
1055 .TP
|
jpayne@68
|
1056 \fBbt3\fP
|
jpayne@68
|
1057 Arbore binar cu suma de control de 2 și 3 octeți
|
jpayne@68
|
1058 .br
|
jpayne@68
|
1059 Valoarea minimă pentru \fInice\fP: 3
|
jpayne@68
|
1060 .br
|
jpayne@68
|
1061 Utilizarea memoriei:
|
jpayne@68
|
1062 .br
|
jpayne@68
|
1063 \fIdict\fP * 11.5 (dacă \fIdict\fP <= 16 Mio);
|
jpayne@68
|
1064 .br
|
jpayne@68
|
1065 \fIdict\fP * 9.5 + 64 MiB (dacă \fIdict\fP > 16 Mio)
|
jpayne@68
|
1066 .TP
|
jpayne@68
|
1067 \fBbt4\fP
|
jpayne@68
|
1068 Arbore binar cu suma de control de 2, 3 și 4 octeți
|
jpayne@68
|
1069 .br
|
jpayne@68
|
1070 Valoarea minimă pentru \fInice\fP: 4
|
jpayne@68
|
1071 .br
|
jpayne@68
|
1072 Utilizarea memoriei:
|
jpayne@68
|
1073 .br
|
jpayne@68
|
1074 \fIdict\fP * 11.5 (dacă \fIdict\fP <= 32 Mio);
|
jpayne@68
|
1075 .br
|
jpayne@68
|
1076 \fIdict\fP * 10.5 (dacă \fIdict\fP > 32 Mio)
|
jpayne@68
|
1077 .RE
|
jpayne@68
|
1078 .TP
|
jpayne@68
|
1079 \fBmode=\fP\fImod\fP
|
jpayne@68
|
1080 Comprimarea \fImod\fP specifică metoda de analiză a datelor produse de
|
jpayne@68
|
1081 găsitorul de potriviri. \fIModurile\fP acceptate sunt \fBfast\fP(rapid) și
|
jpayne@68
|
1082 \fBnormal\fP. Valoarea implicită este \fBfast\fP pentru \fIprestabiliri\fP 0\(en3 și
|
jpayne@68
|
1083 \fBnormal\fP pentru \fIprestabiliri\fP 4\(en9.
|
jpayne@68
|
1084 .IP ""
|
jpayne@68
|
1085 De obicei, \fBfast\fP este folosit cu instrumentele de căutare de potriviri ale
|
jpayne@68
|
1086 lanțului de sume de control, și \fBnormal\fP cu instrumentele de căutare de
|
jpayne@68
|
1087 potriviri din arborele binar. Aceasta este și ceea ce fac \fIprestabiririle\fP.
|
jpayne@68
|
1088 .TP
|
jpayne@68
|
1089 \fBnice=\fP\fInice\fP
|
jpayne@68
|
1090 Specifică ceea ce este considerat a fi o lungime bună(nice) pentru o
|
jpayne@68
|
1091 potrivire. Odată ce este găsită o potrivire de cel puțin \fInice\fP octeți,
|
jpayne@68
|
1092 algoritmul nu mai caută după potriviri posibile mai bune.
|
jpayne@68
|
1093 .IP ""
|
jpayne@68
|
1094 \fINice\fP poate fi de 2\(en273 octeți. Valorile mai mari tind să ofere un
|
jpayne@68
|
1095 raport de comprimare mai bun în detrimentul vitezei. Valoarea implicită
|
jpayne@68
|
1096 depinde de \fIprestabilit\fP.
|
jpayne@68
|
1097 .TP
|
jpayne@68
|
1098 \fBdepth=\fP\fIadâncimea\fP
|
jpayne@68
|
1099 Specifică adâncimea maximă de căutare în găsitorul de potriviri. Valoarea
|
jpayne@68
|
1100 implicită este valoarea specială de 0, ceea ce face ca instrumentul de
|
jpayne@68
|
1101 comprimare să determine o \fIadâncime\fP rezonabilă pornind de la valorile
|
jpayne@68
|
1102 \fImf\fP și \fInice\fP.
|
jpayne@68
|
1103 .IP ""
|
jpayne@68
|
1104 \fIAdâncimea\fP rezonabilă pentru lanțuri de sumă de control este 4\(en100 și
|
jpayne@68
|
1105 16\(en1000 pentru arbori binari. Folosirea unor valori foarte mari pentru
|
jpayne@68
|
1106 \fIadâncime\fP poate face codificatorul extrem de lent cu unele
|
jpayne@68
|
1107 fișiere. Evitați să stabiliți \fIadâncimea\fP la valori peste 1000, cu excepția
|
jpayne@68
|
1108 cazului în care sunteți pregătit să întrerupeți comprimarea în cazul în care
|
jpayne@68
|
1109 durează prea mult.
|
jpayne@68
|
1110 .RE
|
jpayne@68
|
1111 .IP ""
|
jpayne@68
|
1112 La decodificarea fluxurilor brute (\fB\-\-format=raw\fP), LZMA2 are nevoie doar
|
jpayne@68
|
1113 de \fIdimensiunea\fP dicționarului. LZMA1 are nevoie de asemenea de \fIlc\fP,
|
jpayne@68
|
1114 \fIlp\fP și \fIpb\fP.
|
jpayne@68
|
1115 .TP
|
jpayne@68
|
1116 \fB\-\-x86\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
1117 .PD 0
|
jpayne@68
|
1118 .TP
|
jpayne@68
|
1119 \fB\-\-arm\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
1120 .TP
|
jpayne@68
|
1121 \fB\-\-armthumb\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
1122 .TP
|
jpayne@68
|
1123 \fB\-\-arm64\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
1124 .TP
|
jpayne@68
|
1125 \fB\-\-powerpc\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
1126 .TP
|
jpayne@68
|
1127 \fB\-\-ia64\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
1128 .TP
|
jpayne@68
|
1129 \fB\-\-sparc\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
1130 .TP
|
jpayne@68
|
1131 \fB\-\-riscv\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
1132 .PD
|
jpayne@68
|
1133 Adaugă un filtru de ramură/apel/salt (branch/call/jump ⟶ „BCJ”) la lanțul de
|
jpayne@68
|
1134 filtre. Aceste filtre pot fi utilizate numai ca un filtru care nu este
|
jpayne@68
|
1135 ultimul din lanțul de filtrare.
|
jpayne@68
|
1136 .IP ""
|
jpayne@68
|
1137 Un filtru BCJ convertește adresele relative din codul mașinii în omoloagele
|
jpayne@68
|
1138 lor absolute. Acest lucru nu modifică dimensiunea datelor, dar crește
|
jpayne@68
|
1139 redundanța, ceea ce poate ajuta LZMA2 să producă fișier \fB.xz\fP cu 0\(en15\ %
|
jpayne@68
|
1140 mai mic. Filtrele BCJ sunt întotdeauna reversibile, deci folosind un filtru
|
jpayne@68
|
1141 BCJ pentru tipul greșit de date nu provoacă nicio pierdere de date, deși
|
jpayne@68
|
1142 poate înrăutăți puțin raportul de comprimare. Filtrele BCJ sunt foarte
|
jpayne@68
|
1143 rapide și folosesc o cantitate nesemnificativă de memorie.
|
jpayne@68
|
1144 .IP ""
|
jpayne@68
|
1145 Aceste filtre BCJ au probleme cunoscute legate de raportul de comprimare:
|
jpayne@68
|
1146 .RS
|
jpayne@68
|
1147 .IP \(bu 3
|
jpayne@68
|
1148 Unele tipuri de fișiere care conțin cod executabil (de exemplu, fișiere
|
jpayne@68
|
1149 obiect, biblioteci statice și module de kernel Linux) au adresele din
|
jpayne@68
|
1150 instrucțiuni completate cu valori de umplere. Aceste filtre BCJ vor face în
|
jpayne@68
|
1151 continuare conversia adresei, ceea ce va înrăutăți comprimarea cu aceste
|
jpayne@68
|
1152 fișiere.
|
jpayne@68
|
1153 .IP \(bu 3
|
jpayne@68
|
1154 Dacă pe o arhivă este aplicat un filtru BCJ, este posibil ca raportul de
|
jpayne@68
|
1155 comprimare să fie mai rău decât la neutilizarea unui filtru BCJ. De exemplu,
|
jpayne@68
|
1156 dacă există executabile similare sau chiar identice, filtrarea va face
|
jpayne@68
|
1157 probabil fișierele mai puțin asemănătoare și astfel comprimarea este mai
|
jpayne@68
|
1158 proastă. Conținutul fișierelor neexecutabile din aceeași arhivă poate conta
|
jpayne@68
|
1159 și el. În practică, trebuie să încercați cu și fără filtru BCJ pentru a
|
jpayne@68
|
1160 vedea care rezultat este mai bun în fiecare situație.
|
jpayne@68
|
1161 .RE
|
jpayne@68
|
1162 .IP ""
|
jpayne@68
|
1163 Seturi de instrucțiuni diferite au o aliniere diferită: fișierul executabil
|
jpayne@68
|
1164 trebuie aliniat la un multiplu al acestei valori în datele de intrare pentru
|
jpayne@68
|
1165 ca filtrul să funcționeze.
|
jpayne@68
|
1166 .RS
|
jpayne@68
|
1167 .RS
|
jpayne@68
|
1168 .PP
|
jpayne@68
|
1169 .TS
|
jpayne@68
|
1170 tab(;);
|
jpayne@68
|
1171 l n l
|
jpayne@68
|
1172 l n l.
|
jpayne@68
|
1173 Filtru;Aliniere;Note
|
jpayne@68
|
1174 x86;1;x86 pe 32 de biți
|
jpayne@68
|
1175 ;;sau 64 de biți
|
jpayne@68
|
1176 ARM;4;
|
jpayne@68
|
1177 ARM\-Thumb;2;
|
jpayne@68
|
1178 ARM64;4;alinierea pe 4096\-octeți
|
jpayne@68
|
1179 ;;este cea mai bună
|
jpayne@68
|
1180 PowerPC;4;Doar big endian
|
jpayne@68
|
1181 IA\-64;16;Itanium
|
jpayne@68
|
1182 SPARC;4;
|
jpayne@68
|
1183 RISC\-V;2;
|
jpayne@68
|
1184 .TE
|
jpayne@68
|
1185 .RE
|
jpayne@68
|
1186 .RE
|
jpayne@68
|
1187 .IP ""
|
jpayne@68
|
1188 Deoarece datele filtrate prin BCJ sunt de obicei comprimate cu LZMA2,
|
jpayne@68
|
1189 raportul de comprimare poate fi ușor îmbunătățit dacă opțiunile LZMA2 sunt
|
jpayne@68
|
1190 definite pentru a se potrivi cu alinierea filtrului BCJ selectat. Exemple:
|
jpayne@68
|
1191 .RS
|
jpayne@68
|
1192 .IP \(bu 3
|
jpayne@68
|
1193 Filtrul IA\-64 are o aliniere de 16 octeți, astfel încât \fBpb=4,lp=4,lc=0\fP
|
jpayne@68
|
1194 este alegere adecvată cu LZMA2 (2^4=16).
|
jpayne@68
|
1195 .IP \(bu 3
|
jpayne@68
|
1196 Codul RISC\-V are o aliniere pe 2 sau 4 octeți, depinzând de faptul că
|
jpayne@68
|
1197 fișierul conține instrucțiuni comprimate pe 16 biți (extensia C) sau
|
jpayne@68
|
1198 nu. Atunci când se utilizează instrucțiuni pe 16 biți, \fBpb=2,lp=1,lc=3\fP sau
|
jpayne@68
|
1199 \fBpb=1,lp=1,lc=3\fP este o alegere bună. Atunci când nu sunt prezente
|
jpayne@68
|
1200 instrucțiuni pe 16 biți, \fBpb=2,lp=2,lc=2\fP este cea mai bună
|
jpayne@68
|
1201 alegere. \fBreadelf \-h\fP poate fi utilizată pentru a verifica dacă „RVC” apare
|
jpayne@68
|
1202 în linia „Indicatori".
|
jpayne@68
|
1203 .IP \(bu 3
|
jpayne@68
|
1204 ARM64 este întotdeauna aliniat pe 4 octeți, astfel încât \fBpb=2,lp=2,lc=2\fP
|
jpayne@68
|
1205 este cea mai bună alegere.
|
jpayne@68
|
1206 .IP \(bu 3
|
jpayne@68
|
1207 Filtrul x86 este o excepție. De obicei, este bine să rămâneți la valorile
|
jpayne@68
|
1208 implicite ale LZMA2 (\fBpb=2,lp=0,lc=3\fP) atunci când comprimați executabile
|
jpayne@68
|
1209 x86.
|
jpayne@68
|
1210 .RE
|
jpayne@68
|
1211 .IP ""
|
jpayne@68
|
1212 Toate filtrele BCJ acceptă același \fIopțiuni\fP:
|
jpayne@68
|
1213 .RS
|
jpayne@68
|
1214 .TP
|
jpayne@68
|
1215 \fBstart=\fP\fIpoziție\fP
|
jpayne@68
|
1216 Specifică \fIpoziția\fP de pornire care este utilizată la conversia între
|
jpayne@68
|
1217 adresele relative și absolute. \fIPoziția\fP trebuie să fie un multiplu al
|
jpayne@68
|
1218 alinierii filtrului (consultați tabelul de mai sus). Valoarea implicită
|
jpayne@68
|
1219 este zero. În practică, valoarea implicită este bună; specificarea unei
|
jpayne@68
|
1220 \fIpoziții\fP personalizate nu este aproape niciodată utilă.
|
jpayne@68
|
1221 .RE
|
jpayne@68
|
1222 .TP
|
jpayne@68
|
1223 \fB\-\-delta\fP[\fB=\fP\fIopțiuni\fP]
|
jpayne@68
|
1224 Adaugă filtrul Delta în lanțul de filtrare. Filtrul Delta poate fi folosit
|
jpayne@68
|
1225 doar ca un filtru care nu este ultimul în lanțul de filtrare.
|
jpayne@68
|
1226 .IP ""
|
jpayne@68
|
1227 În prezent, este acceptat doar calculul delta simplu de octeți. Poate fi
|
jpayne@68
|
1228 util la comprimarea, de exemplu, a imaginilor bitmap necomprimate sau a
|
jpayne@68
|
1229 sunetului PCM necomprimat. Cu toate acestea, algoritmii cu scop special pot
|
jpayne@68
|
1230 da rezultate semnificativ mai bune decât Delta + LZMA2. Acest lucru este
|
jpayne@68
|
1231 valabil mai ales în cazul audio, care se comprimă mai repede și mai bine, de
|
jpayne@68
|
1232 exemplu, cu \fBflac\fP(1).
|
jpayne@68
|
1233 .IP ""
|
jpayne@68
|
1234 \fIOpțiuni\fP acceptate:
|
jpayne@68
|
1235 .RS
|
jpayne@68
|
1236 .TP
|
jpayne@68
|
1237 \fBdist=\fP\fIdistanța\fP
|
jpayne@68
|
1238 Specifică \fIdistanța\fP calculului delta în octeți. \fIDistanța\fP trebuie să fie
|
jpayne@68
|
1239 1\(en256. Valoarea implicită este 1.
|
jpayne@68
|
1240 .IP ""
|
jpayne@68
|
1241 De exemplu, cu \fBdist=2\fP și intrare de opt octeți: A1 B1 A2 B3 A3 B5 A4 B7,
|
jpayne@68
|
1242 ieșirea va fi: A1 B1 01 02 01 02 01 02.
|
jpayne@68
|
1243 .RE
|
jpayne@68
|
1244 .
|
jpayne@68
|
1245 .SS "Alte opțiuni"
|
jpayne@68
|
1246 .TP
|
jpayne@68
|
1247 \fB\-q\fP, \fB\-\-quiet\fP
|
jpayne@68
|
1248 Suprimă avertismentele și notificările. Specificați acest lucru de două ori
|
jpayne@68
|
1249 pentru a suprima și erorile. Această opțiune nu are niciun efect asupra
|
jpayne@68
|
1250 stării de ieșire. Adică, chiar dacă o avertizare a fost suprimată, starea de
|
jpayne@68
|
1251 ieșire pentru a indica o avertizare este încă utilizată.
|
jpayne@68
|
1252 .TP
|
jpayne@68
|
1253 \fB\-v\fP, \fB\-\-verbose\fP
|
jpayne@68
|
1254 Oferă informații detaliate. Dacă ieșirea de eroare standard este conectată
|
jpayne@68
|
1255 la un terminal, \fBxz\fP va afișa un indicator de progres. Specificarea
|
jpayne@68
|
1256 opțiunii \fB\-\-verbose\fP de două ori, va avea ca rezultat oferirea de
|
jpayne@68
|
1257 informații și mai detaliate.
|
jpayne@68
|
1258 .IP ""
|
jpayne@68
|
1259 Indicatorul de progres afișează următoarele informații:
|
jpayne@68
|
1260 .RS
|
jpayne@68
|
1261 .IP \(bu 3
|
jpayne@68
|
1262 Procentul de completare este afișat dacă se cunoaște dimensiunea fișierului
|
jpayne@68
|
1263 de intrare. Adică, procentul nu poate fi afișat la procesarea fișierului
|
jpayne@68
|
1264 prin conducte(pipe).
|
jpayne@68
|
1265 .IP \(bu 3
|
jpayne@68
|
1266 Cantitatea de date comprimate produse (comprimare) sau consumate
|
jpayne@68
|
1267 (decomprimare).
|
jpayne@68
|
1268 .IP \(bu 3
|
jpayne@68
|
1269 Cantitatea de date necomprimate consumate (comprimare) sau produse
|
jpayne@68
|
1270 (decomprimare).
|
jpayne@68
|
1271 .IP \(bu 3
|
jpayne@68
|
1272 Raportul de comprimare, care se calculează împărțind cantitatea de date
|
jpayne@68
|
1273 comprimate procesate până acum la cantitatea de date necomprimate procesate
|
jpayne@68
|
1274 până acum.
|
jpayne@68
|
1275 .IP \(bu 3
|
jpayne@68
|
1276 Viteza de comprimare sau decomprimare. Aceasta este măsurată drept
|
jpayne@68
|
1277 cantitatea de date necomprimate consumate (comprimare) sau produse
|
jpayne@68
|
1278 (decomprimare) pe secundă. Este afișată după ce au trecut câteva secunde de
|
jpayne@68
|
1279 când \fBxz\fP a început procesarea fișierului.
|
jpayne@68
|
1280 .IP \(bu 3
|
jpayne@68
|
1281 Timpul scurs în format M:SS sau H:MM:SS.
|
jpayne@68
|
1282 .IP \(bu 3
|
jpayne@68
|
1283 Timpul rămas estimat este afișat numai atunci când dimensiunea fișierului de
|
jpayne@68
|
1284 intrare este cunoscută și au trecut deja câteva secunde de când \fBxz\fP a
|
jpayne@68
|
1285 început procesarea fișierului. Ora este afișată într\-un format mai puțin
|
jpayne@68
|
1286 precis, care nu are niciodată două puncte, de exemplu, 2 min 30 s.
|
jpayne@68
|
1287 .RE
|
jpayne@68
|
1288 .IP ""
|
jpayne@68
|
1289 Când ieșirea de eroare standard nu este un terminal, \fB\-\-verbose\fP va face
|
jpayne@68
|
1290 \fBxz\fP să imprime numele fișierului, dimensiunea comprimată, dimensiunea
|
jpayne@68
|
1291 necomprimată, raportul de comprimare și, eventual, de asemenea, viteza și
|
jpayne@68
|
1292 timpul scurs pe o singură linie la ieșirea de eroare standard după
|
jpayne@68
|
1293 comprimarea sau decomprimarea fișierului. Viteza și timpul scurs sunt
|
jpayne@68
|
1294 incluse numai atunci când operațiunea a durat cel puțin câteva secunde. Dacă
|
jpayne@68
|
1295 operațiunea nu s\-a încheiat, de exemplu, din cauza întreruperii din partea
|
jpayne@68
|
1296 utilizatorului, se imprimă și procentul de completare dacă se cunoaște
|
jpayne@68
|
1297 dimensiunea fișierului de intrare.
|
jpayne@68
|
1298 .TP
|
jpayne@68
|
1299 \fB\-Q\fP, \fB\-\-no\-warn\fP
|
jpayne@68
|
1300 Nu comută starea de ieșire la 2 chiar dacă a fost detectată o condiție care
|
jpayne@68
|
1301 merită avertizată. Această opțiune nu afectează nivelul de detaliere al
|
jpayne@68
|
1302 informațiilor, astfel încât atât \fB\-\-quiet\fP cât și \fB\-\-no\-warn\fP trebuie
|
jpayne@68
|
1303 folosite pentru a nu afișa avertismente și pentru a nu modifica starea de
|
jpayne@68
|
1304 ieșire.
|
jpayne@68
|
1305 .TP
|
jpayne@68
|
1306 \fB\-\-robot\fP
|
jpayne@68
|
1307 Afișează mesajele într\-un format care poate fi analizat de mașină. Acest
|
jpayne@68
|
1308 lucru are scopul de a ușura scrierea interfețelor în care se dorește să se
|
jpayne@68
|
1309 folosească \fBxz\fP în loc de liblzma, ceea ce poate fi cazul cu diferite
|
jpayne@68
|
1310 scripturi. Ieșirea cu această opțiune activată este menită să fie stabilă în
|
jpayne@68
|
1311 toate versiunile \fBxz\fP. Consultați secțiunea \fBMOD ROBOT\fP pentru detalii.
|
jpayne@68
|
1312 .TP
|
jpayne@68
|
1313 \fB\-\-info\-memory\fP
|
jpayne@68
|
1314 Afișează, într\-un format care poate fi citit de om, câtă memorie fizică
|
jpayne@68
|
1315 (RAM) și câte fire de execuție de procesor \fBxz\fP crede că are sistemul și
|
jpayne@68
|
1316 limitele de utilizare a memoriei pentru comprimare și decomprimare și iese
|
jpayne@68
|
1317 cu succes.
|
jpayne@68
|
1318 .TP
|
jpayne@68
|
1319 \fB\-h\fP, \fB\-\-help\fP
|
jpayne@68
|
1320 Afișează un mesaj de ajutor care descrie opțiunile cele mai frecvent
|
jpayne@68
|
1321 utilizate și iese cu succes.
|
jpayne@68
|
1322 .TP
|
jpayne@68
|
1323 \fB\-H\fP, \fB\-\-long\-help\fP
|
jpayne@68
|
1324 Afișează un mesaj de ajutor care descrie toate caracteristicile \fBxz\fP și
|
jpayne@68
|
1325 iese cu succes
|
jpayne@68
|
1326 .TP
|
jpayne@68
|
1327 \fB\-V\fP, \fB\-\-version\fP
|
jpayne@68
|
1328 Afișează numărul versiunii \fBxz\fP și liblzma într\-un format care poate fi
|
jpayne@68
|
1329 citit de om. Pentru a obține rezultate analizabile de mașină, specificați
|
jpayne@68
|
1330 \fB\-\-robot\fP înainte de \fB\-\-version\fP.
|
jpayne@68
|
1331 .
|
jpayne@68
|
1332 .SH "MOD ROBOT"
|
jpayne@68
|
1333 Modul robot este activat cu opțiunea \fB\-\-robot\fP. Face ieșirea lui \fBxz\fP mai
|
jpayne@68
|
1334 ușor de analizat de către alte programe. În prezent, opțiunea \fB\-\-robot\fP
|
jpayne@68
|
1335 este acceptată numai împreună cu opțiunile \fB\-\-list\fP, \fB\-\-filters\-help\fP,
|
jpayne@68
|
1336 \fB\-\-info\-memory\fP, și \fB\-\-version\fP. Va fi acceptată pentru comprimare și
|
jpayne@68
|
1337 decomprimare în viitor.
|
jpayne@68
|
1338 .
|
jpayne@68
|
1339 .SS "Modul listă"
|
jpayne@68
|
1340 \fBxz \-\-robot \-\-list\fP utilizează o ieșire separată de tabulatori. Prima
|
jpayne@68
|
1341 coloană a fiecărei linii are un șir care indică tipul de informații găsite
|
jpayne@68
|
1342 pe acea linie:
|
jpayne@68
|
1343 .TP
|
jpayne@68
|
1344 \fBname\fP
|
jpayne@68
|
1345 Aceasta este întotdeauna prima linie când începe să se listeze un fișier. A
|
jpayne@68
|
1346 doua coloană de pe linie este numele fișierului.
|
jpayne@68
|
1347 .TP
|
jpayne@68
|
1348 \fBfile\fP
|
jpayne@68
|
1349 Această linie conține informații generale despre fișierul \fB.xz\fP. Această
|
jpayne@68
|
1350 linie este întotdeauna tipărită după linia \fBname\fP.
|
jpayne@68
|
1351 .TP
|
jpayne@68
|
1352 \fBstream\fP
|
jpayne@68
|
1353 Acest tip de linie este utilizat numai atunci când a fost specificată
|
jpayne@68
|
1354 opțiunea \fB\-\-verbose\fP. Există tot atâtea linii \fBstream\fP câte fluxuri există
|
jpayne@68
|
1355 în fișierul \fB.xz\fP.
|
jpayne@68
|
1356 .TP
|
jpayne@68
|
1357 \fBblock\fP
|
jpayne@68
|
1358 Acest tip de linie este utilizat numai atunci când a fost specificată
|
jpayne@68
|
1359 opțiunea \fB\-\-verbose\fP. Există tot atâtea linii \fBblock\fP câte blocuri există
|
jpayne@68
|
1360 în fișierul \fB.xz\fP. Liniile \fBblock\fP sunt afișate după toate liniile
|
jpayne@68
|
1361 \fBstream\fP; tipurile diferite de linii nu sunt intercalate.
|
jpayne@68
|
1362 .TP
|
jpayne@68
|
1363 \fBsummary\fP
|
jpayne@68
|
1364 Acest tip de linie este folosit numai atunci când opțiunea \fB\-\-verbose\fP a
|
jpayne@68
|
1365 fost specificată de două ori. Această linie este afișată după toate liniile
|
jpayne@68
|
1366 \fBblock\fP. Ca și linia \fBfile\fP, linia \fBsummary\fP conține informații generale
|
jpayne@68
|
1367 despre fișierul \fB.xz\fP.
|
jpayne@68
|
1368 .TP
|
jpayne@68
|
1369 \fBtotals\fP
|
jpayne@68
|
1370 Această linie este întotdeauna ultima linie din lista afișată la
|
jpayne@68
|
1371 ieșire. Aceasta arată numărul total și dimensiunile.
|
jpayne@68
|
1372 .PP
|
jpayne@68
|
1373 Coloanele din liniile \fBfile\fP:
|
jpayne@68
|
1374 .PD 0
|
jpayne@68
|
1375 .RS
|
jpayne@68
|
1376 .IP 2. 4
|
jpayne@68
|
1377 Numărul de fluxuri din fișier
|
jpayne@68
|
1378 .IP 3. 4
|
jpayne@68
|
1379 Numărul total de blocuri din fluxuri
|
jpayne@68
|
1380 .IP 4. 4
|
jpayne@68
|
1381 Dimensiunea comprimată a fișierului
|
jpayne@68
|
1382 .IP 5. 4
|
jpayne@68
|
1383 Dimensiunea necomprimată a fișierului
|
jpayne@68
|
1384 .IP 6. 4
|
jpayne@68
|
1385 Raportul de comprimare, de exemplu, \fB0,123\fP. Dacă raportul este peste
|
jpayne@68
|
1386 9,999, în locul raportului sunt afișate trei liniuțe (\fB\-\-\-\fP).
|
jpayne@68
|
1387 .IP 7. 4
|
jpayne@68
|
1388 Lista de nume de verificare a integrității, separate prin
|
jpayne@68
|
1389 virgule. Următoarele șiruri sunt utilizate pentru tipurile de verificare
|
jpayne@68
|
1390 cunoscute: \fBNone\fP, \fBCRC32\fP, \fBCRC64\fP și \fBSHA\-256\fP. Pentru tipurile de
|
jpayne@68
|
1391 verificări necunoscute, se utilizează \fBNone\-\fP\fIN\fP, unde \fIN\fP este ID\-ul de
|
jpayne@68
|
1392 verificare ca număr zecimal (una sau două cifre).
|
jpayne@68
|
1393 .IP 8. 4
|
jpayne@68
|
1394 Dimensiunea totală a umpluturii fluxului din fișier
|
jpayne@68
|
1395 .RE
|
jpayne@68
|
1396 .PD
|
jpayne@68
|
1397 .PP
|
jpayne@68
|
1398 Coloanele din liniile \fBstream\fP:
|
jpayne@68
|
1399 .PD 0
|
jpayne@68
|
1400 .RS
|
jpayne@68
|
1401 .IP 2. 4
|
jpayne@68
|
1402 Numărul fluxului (primul flux este 1)
|
jpayne@68
|
1403 .IP 3. 4
|
jpayne@68
|
1404 Numărul de blocuri din flux
|
jpayne@68
|
1405 .IP 4. 4
|
jpayne@68
|
1406 Poziția de pornire a comprimării
|
jpayne@68
|
1407 .IP 5. 4
|
jpayne@68
|
1408 Poziția de pornire a decomprimării
|
jpayne@68
|
1409 .IP 6. 4
|
jpayne@68
|
1410 Dimensiune comprimată (nu include umplutura fluxului)
|
jpayne@68
|
1411 .IP 7. 4
|
jpayne@68
|
1412 Dimensiune necomprimată
|
jpayne@68
|
1413 .IP 8. 4
|
jpayne@68
|
1414 Raport de comprimare
|
jpayne@68
|
1415 .IP 9. 4
|
jpayne@68
|
1416 Numele verificării de integritate
|
jpayne@68
|
1417 .IP 10. 4
|
jpayne@68
|
1418 Dimensiunea umpluturii fluxului
|
jpayne@68
|
1419 .RE
|
jpayne@68
|
1420 .PD
|
jpayne@68
|
1421 .PP
|
jpayne@68
|
1422 Coloanele din liniile \fBblock\fP:
|
jpayne@68
|
1423 .PD 0
|
jpayne@68
|
1424 .RS
|
jpayne@68
|
1425 .IP 2. 4
|
jpayne@68
|
1426 Numărul fluxului care conține acest bloc
|
jpayne@68
|
1427 .IP 3. 4
|
jpayne@68
|
1428 Numărul blocului în raport cu începutul fluxului (primul bloc este 1)
|
jpayne@68
|
1429 .IP 4. 4
|
jpayne@68
|
1430 Numărul blocului în raport cu începutul fișierului
|
jpayne@68
|
1431 .IP 5. 4
|
jpayne@68
|
1432 Poziția de pornire a comprimării în raport cu începutul fișierului
|
jpayne@68
|
1433 .IP 6. 4
|
jpayne@68
|
1434 Poziția de pornire necomprimată în raport cu începutul fișierului
|
jpayne@68
|
1435 .IP 7. 4
|
jpayne@68
|
1436 Dimensiunea totală comprimată a blocului (include antetele)
|
jpayne@68
|
1437 .IP 8. 4
|
jpayne@68
|
1438 Dimensiune necomprimată
|
jpayne@68
|
1439 .IP 9. 4
|
jpayne@68
|
1440 Raport de comprimare
|
jpayne@68
|
1441 .IP 10. 4
|
jpayne@68
|
1442 Numele verificării de integritate
|
jpayne@68
|
1443 .RE
|
jpayne@68
|
1444 .PD
|
jpayne@68
|
1445 .PP
|
jpayne@68
|
1446 Dacă opțiunea \fB\-\-verbose\fP a fost specificată de două ori, coloane
|
jpayne@68
|
1447 suplimentare sunt incluse pe liniile \fBblock\fP. Acestea nu sunt afișate cu o
|
jpayne@68
|
1448 singură specificare a opțiunii \fB\-\-verbose\fP, deoarece obținerea acestor
|
jpayne@68
|
1449 informații necesită multe căutări și, prin urmare, poate fi lentă:
|
jpayne@68
|
1450 .PD 0
|
jpayne@68
|
1451 .RS
|
jpayne@68
|
1452 .IP 11. 4
|
jpayne@68
|
1453 Valoarea verificării integrității în hexazecimal
|
jpayne@68
|
1454 .IP 12. 4
|
jpayne@68
|
1455 Dimensiunea antetului blocului
|
jpayne@68
|
1456 .IP 13. 4
|
jpayne@68
|
1457 Indicatori de bloc: \fBc\fP indică faptul că este prezentă dimensiunea
|
jpayne@68
|
1458 comprimată, iar \fBu\fP indică faptul că este prezentă dimensiunea
|
jpayne@68
|
1459 necomprimată. Dacă indicatorul nu este determinat, este afișată o liniuță
|
jpayne@68
|
1460 (\fB\-\fP) pentru a menține lungimea șirului fixă. Pot fi adăugate noi
|
jpayne@68
|
1461 indicatoare la sfârșitul șirului, în viitor.
|
jpayne@68
|
1462 .IP 14. 4
|
jpayne@68
|
1463 Dimensiunea datelor comprimate reale din bloc (acest lucru exclude antetul
|
jpayne@68
|
1464 blocului, umplutura blocului și câmpurile de verificare)
|
jpayne@68
|
1465 .IP 15. 4
|
jpayne@68
|
1466 Cantitatea de memorie (în octeți) necesară pentru a decomprima acest bloc cu
|
jpayne@68
|
1467 această versiune \fBxz\fP
|
jpayne@68
|
1468 .IP 16. 4
|
jpayne@68
|
1469 Lanț de filtrare. Rețineți că majoritatea opțiunilor utilizate în timpul
|
jpayne@68
|
1470 comprimării nu pot fi cunoscute, deoarece doar opțiunile necesare pentru
|
jpayne@68
|
1471 decomprimare sunt stocate în anteturile \fB.xz\fP.
|
jpayne@68
|
1472 .RE
|
jpayne@68
|
1473 .PD
|
jpayne@68
|
1474 .PP
|
jpayne@68
|
1475 Coloanele din liniile \fBsummary\fP:
|
jpayne@68
|
1476 .PD 0
|
jpayne@68
|
1477 .RS
|
jpayne@68
|
1478 .IP 2. 4
|
jpayne@68
|
1479 Cantitatea de memorie (în octeți) necesară pentru a decomprima acest fișier
|
jpayne@68
|
1480 cu această versiune \fBxz\fP
|
jpayne@68
|
1481 .IP 3. 4
|
jpayne@68
|
1482 \fByes\fP sau \fBno\fP indicând dacă toate antetele blocurilor au atât dimensiunea
|
jpayne@68
|
1483 comprimată, cât și dimensiunea necomprimată stocate în ele
|
jpayne@68
|
1484 .PP
|
jpayne@68
|
1485 \fIÎncepând cu\fP \fBxz\fP \fI5.1.2alpha:\fP
|
jpayne@68
|
1486 .IP 4. 4
|
jpayne@68
|
1487 Versiunea \fBxz\fP minimă necesară pentru a decomprima fișierul
|
jpayne@68
|
1488 .RE
|
jpayne@68
|
1489 .PD
|
jpayne@68
|
1490 .PP
|
jpayne@68
|
1491 Coloanele din linia \fBtotals\fP:
|
jpayne@68
|
1492 .PD 0
|
jpayne@68
|
1493 .RS
|
jpayne@68
|
1494 .IP 2. 4
|
jpayne@68
|
1495 Numărul de fluxuri
|
jpayne@68
|
1496 .IP 3. 4
|
jpayne@68
|
1497 Numărul de blocuri
|
jpayne@68
|
1498 .IP 4. 4
|
jpayne@68
|
1499 Dimensiunea comprimată
|
jpayne@68
|
1500 .IP 5. 4
|
jpayne@68
|
1501 Dimensiune necomprimată
|
jpayne@68
|
1502 .IP 6. 4
|
jpayne@68
|
1503 Raportul mediu de comprimare
|
jpayne@68
|
1504 .IP 7. 4
|
jpayne@68
|
1505 Lista de nume de verificare a integrității, separate prin virgule, care au
|
jpayne@68
|
1506 fost prezente în fișiere
|
jpayne@68
|
1507 .IP 8. 4
|
jpayne@68
|
1508 Dimensiunea umpluturii fluxului
|
jpayne@68
|
1509 .IP 9. 4
|
jpayne@68
|
1510 Numărul de fișiere. Aceasta este aici pentru a păstra ordinea coloanelor
|
jpayne@68
|
1511 anterioare la fel ca pe liniile \fBfile\fP.
|
jpayne@68
|
1512 .PD
|
jpayne@68
|
1513 .RE
|
jpayne@68
|
1514 .PP
|
jpayne@68
|
1515 Dacă opțiunea \fB\-\-verbose\fP a fost specificată de două ori, pe linia
|
jpayne@68
|
1516 \fBtotals\fP sunt incluse coloane suplimentare:
|
jpayne@68
|
1517 .PD 0
|
jpayne@68
|
1518 .RS
|
jpayne@68
|
1519 .IP 10. 4
|
jpayne@68
|
1520 Cantitatea maximă de memorie (în octeți) necesară pentru a decomprima
|
jpayne@68
|
1521 fișierele cu această versiune \fBxz\fP
|
jpayne@68
|
1522 .IP 11. 4
|
jpayne@68
|
1523 \fByes\fP sau \fBno\fP indicând dacă toate antetele blocurilor au atât dimensiunea
|
jpayne@68
|
1524 comprimată, cât și dimensiunea necomprimată stocate în ele
|
jpayne@68
|
1525 .PP
|
jpayne@68
|
1526 \fIÎncepând cu\fP \fBxz\fP \fI5.1.2alpha:\fP
|
jpayne@68
|
1527 .IP 12. 4
|
jpayne@68
|
1528 Versiunea \fBxz\fP minimă necesară pentru a decomprima fișierul
|
jpayne@68
|
1529 .RE
|
jpayne@68
|
1530 .PD
|
jpayne@68
|
1531 .PP
|
jpayne@68
|
1532 Versiunile viitoare pot adăuga noi tipuri de linii și pot fi adăugate
|
jpayne@68
|
1533 coloane noi la tipurile de linii existente, dar coloanele existente nu vor
|
jpayne@68
|
1534 fi modificate.
|
jpayne@68
|
1535 .
|
jpayne@68
|
1536 .SS "Ajutor pentru filtrare"
|
jpayne@68
|
1537 \fBxz \-\-robot \-\-filters\-help\fP afișează filtrele acceptate în următorul
|
jpayne@68
|
1538 format:
|
jpayne@68
|
1539 .PP
|
jpayne@68
|
1540 \fIfiltru\fP\fB:\fP\fIopțiune\fP\fB=<\fP\fIvaloare\fP\fB>,\fP\fIopțiune\fP\fB=<\fP\fIvaloare\fP\fB>\fP...
|
jpayne@68
|
1541 .TP
|
jpayne@68
|
1542 \fBfiltru\fP
|
jpayne@68
|
1543 Numele filtrului
|
jpayne@68
|
1544 .TP
|
jpayne@68
|
1545 \fIopțiune\fP
|
jpayne@68
|
1546 Numele unei opțiuni specifice unui filtru
|
jpayne@68
|
1547 .TP
|
jpayne@68
|
1548 \fIvaloare\fP
|
jpayne@68
|
1549 Intervalele numerice \fIvaloare\fP apar ca
|
jpayne@68
|
1550 \fB<\fP\fImin\fP\fB\-\fP\fImax\fP\fB>\fP. Alegerile \fIvaloare\fP de tip șir de
|
jpayne@68
|
1551 caractere sunt afișate în cadrul \fB< >\fP și separate de un caracter
|
jpayne@68
|
1552 \fB|\fP.
|
jpayne@68
|
1553 .PP
|
jpayne@68
|
1554 Fiecare filtru este afișat pe propria linie.
|
jpayne@68
|
1555 .
|
jpayne@68
|
1556 .SS "Informații privind limita memoriei"
|
jpayne@68
|
1557 \fBxz \-\-robot \-\-info\-memory\fP afișează o singură linie cu multiple coloane
|
jpayne@68
|
1558 separate prin tabulatoare:
|
jpayne@68
|
1559 .IP 1. 4
|
jpayne@68
|
1560 Cantitatea totală de memorie fizică (RAM) în octeți.
|
jpayne@68
|
1561 .IP 2. 4
|
jpayne@68
|
1562 Limita de utilizare a memoriei pentru comprimare în octeți
|
jpayne@68
|
1563 (\fB\-\-memlimit\-compress\fP). O valoare specială de \fB0\fP indică configurarea
|
jpayne@68
|
1564 implicită, care pentru modul cu un singur fir este la fel ca fără limită.
|
jpayne@68
|
1565 .IP 3. 4
|
jpayne@68
|
1566 Limita de utilizare a memoriei pentru decomprimare în octeți
|
jpayne@68
|
1567 (\fB\-\-memlimit\-decompress\fP). O valoare specială de \fB0\fP indică configurarea
|
jpayne@68
|
1568 implicită, care pentru modul cu un singur fir este la fel ca fără limită.
|
jpayne@68
|
1569 .IP 4. 4
|
jpayne@68
|
1570 Începând cu \fBxz\fP 5.3.4alpha: Utilizarea memoriei pentru decomprimarea cu
|
jpayne@68
|
1571 mai multe fire în octeți (\fB\-\-memlimit\-mt\-decompress\fP). Acesta nu este
|
jpayne@68
|
1572 niciodată zero, deoarece o valoare implicită specifică sistemului afișată în
|
jpayne@68
|
1573 coloana 5 este utilizată dacă nu a fost specificată în mod explicit nicio
|
jpayne@68
|
1574 limită. De asemenea, aceasta nu este niciodată mai mare decât valoarea din
|
jpayne@68
|
1575 coloana 3, chiar dacă a fost specificată o valoare mai mare cu
|
jpayne@68
|
1576 \fB\-\-memlimit\-mt\-decompress\fP.
|
jpayne@68
|
1577 .IP 5. 4
|
jpayne@68
|
1578 Începând cu \fBxz\fP 5.3.4alpha: o limită implicită de utilizare a memoriei
|
jpayne@68
|
1579 specifică sistemului, care este utilizată pentru a limita numărul de fire de
|
jpayne@68
|
1580 execuție atunci când se comprimă cu un număr automat de fire de execuție
|
jpayne@68
|
1581 (\fB\-\-threads=0\fP) și nicio limită de utilizare a memoriei nu fost specificată
|
jpayne@68
|
1582 cu (\fB\-\-memlimit\-compress\fP). Aceasta este, de asemenea, utilizată ca valoare
|
jpayne@68
|
1583 implicită pentru \fB\-\-memlimit\-mt\-decompress\fP.
|
jpayne@68
|
1584 .IP 6. 4
|
jpayne@68
|
1585 Începând cu \fBxz\fP 5.3.4alpha: numărul de fire de execuție de procesor
|
jpayne@68
|
1586 disponibile.
|
jpayne@68
|
1587 .PP
|
jpayne@68
|
1588 În viitor, rezultatul \fBxz \-\-robot \-\-info\-memory\fP poate avea mai multe
|
jpayne@68
|
1589 coloane, dar niciodată mai mult de o singură linie.
|
jpayne@68
|
1590 .
|
jpayne@68
|
1591 .SS Versiunea
|
jpayne@68
|
1592 \fBxz \-\-robot \-\-version\fP va afișa numărul versiunii \fBxz\fP și liblzma în
|
jpayne@68
|
1593 următorul format:
|
jpayne@68
|
1594 .PP
|
jpayne@68
|
1595 \fBXZ_VERSION=\fP\fIXYYYZZZS\fP
|
jpayne@68
|
1596 .br
|
jpayne@68
|
1597 \fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP
|
jpayne@68
|
1598 .TP
|
jpayne@68
|
1599 \fIX\fP
|
jpayne@68
|
1600 Versiunea majoră.
|
jpayne@68
|
1601 .TP
|
jpayne@68
|
1602 \fIYYY\fP
|
jpayne@68
|
1603 Versiunea minoră. Numerele pare sunt prezente în versiunile
|
jpayne@68
|
1604 stabile. Numerele impare sunt prezente în versiunile alfa sau beta.
|
jpayne@68
|
1605 .TP
|
jpayne@68
|
1606 \fIZZZ\fP
|
jpayne@68
|
1607 Nivelul de plasture(patch) pentru versiunile stabile sau doar un contor
|
jpayne@68
|
1608 pentru versiunile de dezvoltare.
|
jpayne@68
|
1609 .TP
|
jpayne@68
|
1610 \fIS\fP
|
jpayne@68
|
1611 Stabilitate. 0 este alfa, 1 este beta și 2 este stabil. \fIS\fP trebuie să fie
|
jpayne@68
|
1612 întotdeauna 2 atunci când \fIAAA\fP este par.
|
jpayne@68
|
1613 .PP
|
jpayne@68
|
1614 \fIXYYYZZZS\fP sunt aceleași pe ambele linii dacă \fBxz\fP și liblzma sunt din
|
jpayne@68
|
1615 aceeași versiune XZ Utils.
|
jpayne@68
|
1616 .PP
|
jpayne@68
|
1617 Exemple: 4.999.9beta este \fB49990091\fP și 5.0.0 este \fB50000002\fP.
|
jpayne@68
|
1618 .
|
jpayne@68
|
1619 .SH "STARE DE IEȘIRE"
|
jpayne@68
|
1620 .TP
|
jpayne@68
|
1621 \fB0\fP
|
jpayne@68
|
1622 Totul este bine.
|
jpayne@68
|
1623 .TP
|
jpayne@68
|
1624 \fB1\fP
|
jpayne@68
|
1625 A apărut o eroare.
|
jpayne@68
|
1626 .TP
|
jpayne@68
|
1627 \fB2\fP
|
jpayne@68
|
1628 A apărut ceva care merită să fie avertizat, dar nu au apărut erori reale.
|
jpayne@68
|
1629 .PP
|
jpayne@68
|
1630 Notificările (nu avertismentele sau erorile) afișate la ieșirea de eroare
|
jpayne@68
|
1631 standard nu afectează starea de ieșire.
|
jpayne@68
|
1632 .
|
jpayne@68
|
1633 .SH "VARIABILE DE MEDIU"
|
jpayne@68
|
1634 \fBxz\fP analizează liste de opțiuni separate prin spații din variabilele de
|
jpayne@68
|
1635 mediu \fBXZ_DEFAULTS\fP și \fBXZ_OPT\fP, în această ordine, înainte de a analiza
|
jpayne@68
|
1636 opțiunile din linia de comandă. Rețineți că numai opțiunile sunt analizate
|
jpayne@68
|
1637 din variabilele de mediu; toate non\-opțiunile sunt ignorate în
|
jpayne@68
|
1638 tăcere. Analiza se face cu funcția \fBgetopt_long\fP(3) care este folosită și
|
jpayne@68
|
1639 pentru argumentele liniei de comandă.
|
jpayne@68
|
1640 .TP
|
jpayne@68
|
1641 \fBXZ_DEFAULTS\fP
|
jpayne@68
|
1642 Opțiuni implicite specifice utilizatorului sau la nivelul întregului
|
jpayne@68
|
1643 sistem. De obicei, acest lucru este specificat într\-un script de
|
jpayne@68
|
1644 inițializare shell pentru a activa limitatorul de utilizare a memoriei lui
|
jpayne@68
|
1645 \fBxz\fP implicit. Excluzând scripturile de inițializare shell și cazurile
|
jpayne@68
|
1646 speciale similare, scripturile nu trebuie niciodată să modifice sau să
|
jpayne@68
|
1647 dezactiveze \fBXZ_DEFAULTS\fP.
|
jpayne@68
|
1648 .TP
|
jpayne@68
|
1649 \fBXZ_OPT\fP
|
jpayne@68
|
1650 Acest lucru este pentru transmiterea opțiunilor către \fBxz\fP atunci când nu
|
jpayne@68
|
1651 este posibil să definiți opțiunile direct în linia de comandă a
|
jpayne@68
|
1652 \fBxz\fP. Acesta este cazul când \fBxz\fP este rulat de un script sau de un
|
jpayne@68
|
1653 instrument, de exemplu, GNU \fBtar\fP(1):
|
jpayne@68
|
1654 .RS
|
jpayne@68
|
1655 .RS
|
jpayne@68
|
1656 .PP
|
jpayne@68
|
1657 .nf
|
jpayne@68
|
1658 \f(CRXZ_OPT=\-2v tar caf foo.tar.xz foo\fR
|
jpayne@68
|
1659 .fi
|
jpayne@68
|
1660 .RE
|
jpayne@68
|
1661 .RE
|
jpayne@68
|
1662 .IP ""
|
jpayne@68
|
1663 Scripturile pot folosi \fBXZ_OPT\fP, de exemplu, pentru a configura opțiunile
|
jpayne@68
|
1664 implicite de comprimare specifice scriptului. Se recomandă totuși să se
|
jpayne@68
|
1665 permită utilizatorilor să înlocuiască \fBXZ_OPT\fP dacă acest lucru este
|
jpayne@68
|
1666 rezonabil. De exemplu, în scripturile \fBsh\fP(1) se poate folosi ceva de genul
|
jpayne@68
|
1667 acesta:
|
jpayne@68
|
1668 .RS
|
jpayne@68
|
1669 .RS
|
jpayne@68
|
1670 .PP
|
jpayne@68
|
1671 .nf
|
jpayne@68
|
1672 \f(CRXZ_OPT=${XZ_OPT\-"\-7e"}
|
jpayne@68
|
1673 export XZ_OPT\fR
|
jpayne@68
|
1674 .fi
|
jpayne@68
|
1675 .RE
|
jpayne@68
|
1676 .RE
|
jpayne@68
|
1677 .
|
jpayne@68
|
1678 .SH "COMPATIBILITATE CU LZMA\-UTILS"
|
jpayne@68
|
1679 Sintaxa liniei de comandă a lui \fBxz\fP este practic o super\-colecție de
|
jpayne@68
|
1680 \fBlzma\fP, \fBunlzma\fP și \fBlzcat\fP așa cum se găsește în LZMA Utils 4.32.x. În
|
jpayne@68
|
1681 cele mai multe cazuri, este posibil să înlocuiți LZMA Utils cu XZ Utils fără
|
jpayne@68
|
1682 a întrerupe scripturile existente. Există totuși unele incompatibilități,
|
jpayne@68
|
1683 care uneori pot cauza probleme.
|
jpayne@68
|
1684 .
|
jpayne@68
|
1685 .SS "Niveluri de comprimare prestabilite"
|
jpayne@68
|
1686 Numerotarea nivelurilor de comprimare prestabilite nu este identică în \fBxz\fP
|
jpayne@68
|
1687 și LZMA Utils. Cea mai importantă diferență este modul în care dimensiunile
|
jpayne@68
|
1688 dicționarului sunt atribuite diferitelor niveluri prestabilite. Dimensiunea
|
jpayne@68
|
1689 dicționarului este aproximativ egală cu memoria utilizată la decomprimare.
|
jpayne@68
|
1690 .RS
|
jpayne@68
|
1691 .PP
|
jpayne@68
|
1692 .TS
|
jpayne@68
|
1693 tab(;);
|
jpayne@68
|
1694 c c c
|
jpayne@68
|
1695 c n n.
|
jpayne@68
|
1696 Nivel;xz;LZMA Utils
|
jpayne@68
|
1697 \-0;256 KiB;N/A
|
jpayne@68
|
1698 \-1;1 MiB;64 KiB
|
jpayne@68
|
1699 \-2;2 MiB;1 MiB
|
jpayne@68
|
1700 \-3;4 MiB;512 KiB
|
jpayne@68
|
1701 \-4;4 MiB;1 MiB
|
jpayne@68
|
1702 \-5;8 MiB;2 MiB
|
jpayne@68
|
1703 \-6;8 MiB;4 MiB
|
jpayne@68
|
1704 \-7;16 MiB;8 MiB
|
jpayne@68
|
1705 \-8;32 MiB;16 MiB
|
jpayne@68
|
1706 \-9;64 MiB;32 MiB
|
jpayne@68
|
1707 .TE
|
jpayne@68
|
1708 .RE
|
jpayne@68
|
1709 .PP
|
jpayne@68
|
1710 Diferențele de dimensiune a dicționarului afectează deasemenea cantitatea de
|
jpayne@68
|
1711 memorie utilizată la comprimare dar există și alte diferențe între LZMA
|
jpayne@68
|
1712 Utils și XZ Utils, care fac diferența și mai mare:
|
jpayne@68
|
1713 .RS
|
jpayne@68
|
1714 .PP
|
jpayne@68
|
1715 .TS
|
jpayne@68
|
1716 tab(;);
|
jpayne@68
|
1717 c c c
|
jpayne@68
|
1718 c n n.
|
jpayne@68
|
1719 Nivel;xz;LZMA Utils 4.32.x
|
jpayne@68
|
1720 \-0;3 MiB;N/A
|
jpayne@68
|
1721 \-1;9 MiB;2 MiB
|
jpayne@68
|
1722 \-2;17 MiB;12 MiB
|
jpayne@68
|
1723 \-3;32 MiB;12 MiB
|
jpayne@68
|
1724 \-4;48 MiB;16 MiB
|
jpayne@68
|
1725 \-5;94 MiB;26 MiB
|
jpayne@68
|
1726 \-6;94 MiB;45 MiB
|
jpayne@68
|
1727 \-7;186 MiB;83 MiB
|
jpayne@68
|
1728 \-8;370 MiB;159 MiB
|
jpayne@68
|
1729 \-9;674 MiB;311 MiB
|
jpayne@68
|
1730 .TE
|
jpayne@68
|
1731 .RE
|
jpayne@68
|
1732 .PP
|
jpayne@68
|
1733 Nivelul prestabilit implicit în LZMA Utils este \fB\-7\fP, în timp ce în XZ
|
jpayne@68
|
1734 Utils este \fB\-6\fP, deci ambele folosesc un dicționar de 8Mio în mod implicit.
|
jpayne@68
|
1735 .
|
jpayne@68
|
1736 .SS "Fișiere .lzma transmise în flux vs. netransmise în flux"
|
jpayne@68
|
1737 Dimensiunea necomprimată a fișierului poate fi stocată în antetul
|
jpayne@68
|
1738 \&\fB.lzma\fP. LZMA Utils face asta atunci când comprimă fișiere
|
jpayne@68
|
1739 obișnuite. Alternativa este să marcați că dimensiunea necomprimată este
|
jpayne@68
|
1740 necunoscută și să folosiți marcajul de sfârșit de încărcare pentru a indica
|
jpayne@68
|
1741 unde ar trebui să se oprească decomprimarea. LZMA Utils folosește această
|
jpayne@68
|
1742 metodă atunci când dimensiunea necomprimată nu este cunoscută, ceea ce este
|
jpayne@68
|
1743 cazul, de exemplu, când se folosesc conducte.
|
jpayne@68
|
1744 .PP
|
jpayne@68
|
1745 \fBxz\fP acceptă decomprimarea fișierelor \fB.lzma\fP cu sau fără marcaj de
|
jpayne@68
|
1746 sfârșit de încărcare, dar toate fișierele \fB.lzma\fP create de \fBxz\fP vor
|
jpayne@68
|
1747 folosi marcajul de sfârșit de încărcare și vor avea dimensiunea necomprimată
|
jpayne@68
|
1748 marcată ca necunoscută în antetul \fB.lzma\fP. Aceasta poate fi o problemă în
|
jpayne@68
|
1749 unele situații mai puțin frecvente. De exemplu, un instrument de
|
jpayne@68
|
1750 decomprimare \fB.lzma\fP încorporat într\-un dispozitiv poate funcționa numai cu
|
jpayne@68
|
1751 fișiere care au dimensiunea necomprimată cunoscută. Dacă întâmpinați această
|
jpayne@68
|
1752 problemă, trebuie să utilizați LZMA Utils sau LZMA SDK pentru a crea fișiere
|
jpayne@68
|
1753 \&\fB.lzma\fP cu dimensiunea necomprimată cunoscută.
|
jpayne@68
|
1754 .
|
jpayne@68
|
1755 .SS "Fișiere .lzma neacceptate"
|
jpayne@68
|
1756 Formatul \fB.lzma\fP permite valori \fIlc\fP de până la 8 și valori \fIlp\fP de până
|
jpayne@68
|
1757 la 4. LZMA Utils poate decomprima fișiere cu orice \fIlc\fP și \fIlp\fP, dar
|
jpayne@68
|
1758 creează întotdeauna fișiere cu \fBlc=3\fP și \fBlp=0\fP. Crearea de fișiere cu
|
jpayne@68
|
1759 alte \fIlc\fP și \fIlp\fP este posibilă cu \fBxz\fP și cu LZMA SDK.
|
jpayne@68
|
1760 .PP
|
jpayne@68
|
1761 Implementarea filtrului LZMA1 în liblzma necesită ca suma \fIlc\fP și \fIlp\fP să
|
jpayne@68
|
1762 nu depășească 4. Altfel, fișierele \fB.lzma\fP, care depășesc această limitare,
|
jpayne@68
|
1763 nu pot fi decomprimate cu \fBxz\fP.
|
jpayne@68
|
1764 .PP
|
jpayne@68
|
1765 LZMA Utils creează numai fișiere \fB.lzma\fP care au o dimensiune de dicționar
|
jpayne@68
|
1766 de 2^\fIn\fP (o putere de 2), dar acceptă fișiere cu orice dimensiune de
|
jpayne@68
|
1767 dicționar. liblzma acceptă numai fișierele \fB.lzma\fP care au dimensiunea de
|
jpayne@68
|
1768 dicționar de 2^\fIn\fP sau 2^\fIn\fP + 2^(\fIn\fP\-1). Acest lucru este pentru a
|
jpayne@68
|
1769 reduce numărul de „fals pozitiv” atunci când se detectează fișiere \fB.lzma\fP.
|
jpayne@68
|
1770 .PP
|
jpayne@68
|
1771 Aceste limitări nu ar trebui să fie o problemă în practică, deoarece practic
|
jpayne@68
|
1772 toate fișierele \fB.lzma\fP au fost comprimate cu opțiuni pe care liblzma le va
|
jpayne@68
|
1773 accepta.
|
jpayne@68
|
1774 .
|
jpayne@68
|
1775 .SS "Resturi rămase"
|
jpayne@68
|
1776 Când decomprimă, LZMA Utils ignoră în tăcere totul după primul flux
|
jpayne@68
|
1777 \&\fB.lzma\fP. În majoritatea situațiilor, aceasta este o eroare. Aceasta
|
jpayne@68
|
1778 înseamnă, de asemenea, că LZMA Utils nu acceptă decomprimarea fișierelor
|
jpayne@68
|
1779 \&\fB.lzma\fP concatenate.
|
jpayne@68
|
1780 .PP
|
jpayne@68
|
1781 Dacă au rămas date după primul flux \fB.lzma\fP, \fBxz\fP consideră că fișierul
|
jpayne@68
|
1782 este corupt, cu excepția cazului în care a fost utilizată opțiunea
|
jpayne@68
|
1783 \fB\-\-single\-stream\fP. Acest lucru poate rupe scripturile obscure(scrise
|
jpayne@68
|
1784 deficitar) care presupun că resturile rămase sunt ignorate.
|
jpayne@68
|
1785 .
|
jpayne@68
|
1786 .SH NOTE
|
jpayne@68
|
1787 .
|
jpayne@68
|
1788 .SS "Rezultatul comprimării poate varia"
|
jpayne@68
|
1789 Ieșirea exactă comprimată produsă din același fișier de intrare necomprimat
|
jpayne@68
|
1790 poate varia între versiunile XZ Utils, chiar dacă opțiunile de comprimare
|
jpayne@68
|
1791 sunt identice. Acest lucru se datorează faptului că instrumentul codificator
|
jpayne@68
|
1792 poate fi îmbunătățit (comprimare mai rapidă sau mai bună) fără a afecta
|
jpayne@68
|
1793 formatul fișierului. Ieșirea poate varia chiar și între compilările diferite
|
jpayne@68
|
1794 ale aceleiași versiuni XZ Utils, dacă sunt utilizate opțiuni diferite de
|
jpayne@68
|
1795 compilare.
|
jpayne@68
|
1796 .PP
|
jpayne@68
|
1797 Cele de mai sus înseamnă că odată ce opțiunea \fB\-\-rsyncable\fP a fost
|
jpayne@68
|
1798 utilizată, fișierele rezultate nu vor fi neapărat sincronizate cu rsync
|
jpayne@68
|
1799 decât dacă atât fișierele vechi, cât și cele noi au fost comprimate cu
|
jpayne@68
|
1800 aceeași versiune xz. Această problemă poate fi remediată dacă o parte a
|
jpayne@68
|
1801 implementării codificatorului este înghețată pentru a menține stabilă
|
jpayne@68
|
1802 ieșirea „rsyncabilă” între versiunile xz.
|
jpayne@68
|
1803 .
|
jpayne@68
|
1804 .SS "Instrumente de decomprimare .xz încorporate"
|
jpayne@68
|
1805 Implementările instrumentului de decomprimare \fB.xz\fP încorporat, cum ar fi
|
jpayne@68
|
1806 XZ Embedded, nu acceptă neapărat fișiere create cu tipuri de \fIverificare\fP a
|
jpayne@68
|
1807 integrității, altele decât \fBnone\fP și \fBcrc32\fP. Deoarece valoarea implicită
|
jpayne@68
|
1808 este \fB\-\-check=crc64\fP, trebuie să utilizați \fB\-\-check=none\fP sau
|
jpayne@68
|
1809 \fB\-\-check=crc32\fP atunci când creați fișiere pentru sistemele încorporate.
|
jpayne@68
|
1810 .PP
|
jpayne@68
|
1811 În afara sistemelor încorporate, toate instrumentele de decomprimare în
|
jpayne@68
|
1812 format \fB.xz\fP acceptă toate tipurile de \fIverificare\fP sau cel puțin pot
|
jpayne@68
|
1813 decomprima fișierul fără a efectua verificarea integrității dacă acel tip de
|
jpayne@68
|
1814 \fIverificare\fP nu este acceptat.
|
jpayne@68
|
1815 .PP
|
jpayne@68
|
1816 XZ Embedded acceptă filtre BCJ, dar numai cu poziție de pornire implicită.
|
jpayne@68
|
1817 .
|
jpayne@68
|
1818 .SH EXEMPLE
|
jpayne@68
|
1819 .
|
jpayne@68
|
1820 .SS Bazice
|
jpayne@68
|
1821 Comprimă fișierul \fIfoo\fP în \fIfoo.xz\fP folosind nivelul de comprimare
|
jpayne@68
|
1822 implicit (\fB\-6\fP) și elimină fișierul \fIfoo\fP dacă comprimarea are succes:
|
jpayne@68
|
1823 .RS
|
jpayne@68
|
1824 .PP
|
jpayne@68
|
1825 .nf
|
jpayne@68
|
1826 \f(CRxz foo\fR
|
jpayne@68
|
1827 .fi
|
jpayne@68
|
1828 .RE
|
jpayne@68
|
1829 .PP
|
jpayne@68
|
1830 Decomprimă \fIbar.xz\fP în \fIbar\fP și nu elimină \fIbar.xz\fP chiar dacă
|
jpayne@68
|
1831 decomprimarea este efectuată cu succes:
|
jpayne@68
|
1832 .RS
|
jpayne@68
|
1833 .PP
|
jpayne@68
|
1834 .nf
|
jpayne@68
|
1835 \f(CRxz \-dk bar.xz\fR
|
jpayne@68
|
1836 .fi
|
jpayne@68
|
1837 .RE
|
jpayne@68
|
1838 .PP
|
jpayne@68
|
1839 Creează \fIbaz.tar.xz\fP cu nivelul prestabilit \fB\-4e\fP (\fB\-4 \-\-extreme\fP), care
|
jpayne@68
|
1840 este mai lent decât nivelul prestabilit implicit \fB\-6\fP, dar necesită mai
|
jpayne@68
|
1841 puțină memorie pentru comprimare și decomprimare (48Mio și, respectiv,
|
jpayne@68
|
1842 5Mio):
|
jpayne@68
|
1843 .RS
|
jpayne@68
|
1844 .PP
|
jpayne@68
|
1845 .nf
|
jpayne@68
|
1846 \f(CRtar cf \- baz | xz \-4e > baz.tar.xz\fR
|
jpayne@68
|
1847 .fi
|
jpayne@68
|
1848 .RE
|
jpayne@68
|
1849 .PP
|
jpayne@68
|
1850 Un amestec de fișiere comprimate și necomprimate poate fi decomprimat la
|
jpayne@68
|
1851 ieșirea standard cu o singură comandă:
|
jpayne@68
|
1852 .RS
|
jpayne@68
|
1853 .PP
|
jpayne@68
|
1854 .nf
|
jpayne@68
|
1855 \f(CRxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fR
|
jpayne@68
|
1856 .fi
|
jpayne@68
|
1857 .RE
|
jpayne@68
|
1858 .
|
jpayne@68
|
1859 .SS "Comprimarea în paralel a mai multor fișiere"
|
jpayne@68
|
1860 În sisteme GNU și *BSD, \fBfind\fP(1) și \fBxargs\fP(1) pot fi utilizate pentru a
|
jpayne@68
|
1861 paraleliza comprimarea mai multor fișiere:
|
jpayne@68
|
1862 .RS
|
jpayne@68
|
1863 .PP
|
jpayne@68
|
1864 .nf
|
jpayne@68
|
1865 \f(CRfind . \-type f \e! \-name '*.xz' \-print0 \e
|
jpayne@68
|
1866 | xargs \-0r \-P4 \-n16 xz \-T1\fR
|
jpayne@68
|
1867 .fi
|
jpayne@68
|
1868 .RE
|
jpayne@68
|
1869 .PP
|
jpayne@68
|
1870 Opțiunea \fB\-P\fP pentru comanda \fBxargs\fP(1) stabilește numărul de procese
|
jpayne@68
|
1871 paralele \fBxz\fP. Cea mai bună valoare pentru opțiunea \fB\-n\fP depinde de câte
|
jpayne@68
|
1872 fișiere trebuie să fie comprimate. Dacă există doar câteva fișiere, valoarea
|
jpayne@68
|
1873 ar trebui probabil să fie 1; cu zeci de mii de fișiere, 100 sau chiar mai
|
jpayne@68
|
1874 mult poate să fie valoarea potrivită pentru a reduce numărul de procese
|
jpayne@68
|
1875 \fBxz\fP pe care \fBxargs\fP(1) le va crea în final.
|
jpayne@68
|
1876 .PP
|
jpayne@68
|
1877 Opțiunea \fB\-T1\fP pentru \fBxz\fP este acolo pentru a\-l forța să ruleze în modul
|
jpayne@68
|
1878 cu un singur fir de execuție, deoarece \fBxargs\fP(1) este folosit pentru a
|
jpayne@68
|
1879 controla cantitatea de paralelizare.
|
jpayne@68
|
1880 .
|
jpayne@68
|
1881 .SS "Modul robot"
|
jpayne@68
|
1882 Calculează câți octeți au fost salvați în total după comprimarea mai multor
|
jpayne@68
|
1883 fișiere:
|
jpayne@68
|
1884 .RS
|
jpayne@68
|
1885 .PP
|
jpayne@68
|
1886 .nf
|
jpayne@68
|
1887 \f(CRxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fR
|
jpayne@68
|
1888 .fi
|
jpayne@68
|
1889 .RE
|
jpayne@68
|
1890 .PP
|
jpayne@68
|
1891 Un script poate dori să afle dacă folosește o versiune \fBxz\fP suficient de
|
jpayne@68
|
1892 nouă. Următorul script \fBsh\fP(1) verifică dacă numărul versiunii
|
jpayne@68
|
1893 instrumentului \fBxz\fP este cel puțin 5.0.0. Această metodă este compatibilă
|
jpayne@68
|
1894 cu versiunile beta vechi, care nu acceptau opțiunea \fB\-\-robot\fP:
|
jpayne@68
|
1895 .RS
|
jpayne@68
|
1896 .PP
|
jpayne@68
|
1897 .nf
|
jpayne@68
|
1898 \f(CRif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" ||
|
jpayne@68
|
1899 [ "$XZ_VERSION" \-lt 50000002 ]; then
|
jpayne@68
|
1900 echo "Your xz is too old."
|
jpayne@68
|
1901 fi
|
jpayne@68
|
1902 unset XZ_VERSION LIBLZMA_VERSION\fR
|
jpayne@68
|
1903 .fi
|
jpayne@68
|
1904 .RE
|
jpayne@68
|
1905 .PP
|
jpayne@68
|
1906 Stabilește o limită de utilizare a memoriei pentru decomprimare folosind
|
jpayne@68
|
1907 variabila de mediu \fBXZ_OPT\fP, dar dacă o limită a fost deja stabilită, nu o
|
jpayne@68
|
1908 mărește:
|
jpayne@68
|
1909 .RS
|
jpayne@68
|
1910 .PP
|
jpayne@68
|
1911 .nf
|
jpayne@68
|
1912 \f(CRNEWLIM=$((123 << 20))\ \ # 123 MiB
|
jpayne@68
|
1913 OLDLIM=$(xz \-\-robot \-\-info\-memory | cut \-f3)
|
jpayne@68
|
1914 if [ $OLDLIM \-eq 0 \-o $OLDLIM \-gt $NEWLIM ]; then
|
jpayne@68
|
1915 XZ_OPT="$XZ_OPT \-\-memlimit\-decompress=$NEWLIM"
|
jpayne@68
|
1916 export XZ_OPT
|
jpayne@68
|
1917 fi\fR
|
jpayne@68
|
1918 .fi
|
jpayne@68
|
1919 .RE
|
jpayne@68
|
1920 .
|
jpayne@68
|
1921 .SS "Lanțuri de filtrare personalizate pentru instrumentul de comprimare"
|
jpayne@68
|
1922 Cea mai simplă utilizare a lanțurilor de filtrare personalizate este
|
jpayne@68
|
1923 personalizarea unei opțiuni prestabilite LZMA2. Acest lucru poate fi util,
|
jpayne@68
|
1924 deoarece opțiunile prestabilite acoperă doar un subset al combinațiilor
|
jpayne@68
|
1925 potențial utile de opțiuni de comprimare.
|
jpayne@68
|
1926 .PP
|
jpayne@68
|
1927 Coloanele CPUComp din tabelele de descriere a opțiunilor \fB\-0\fP ... \fB\-9\fP și
|
jpayne@68
|
1928 \fB\-\-extreme\fP sunt utile atunci când personalizați opțiunilor prestabilite
|
jpayne@68
|
1929 LZMA2. Iată părțile relevante colectate din aceste două tabele:
|
jpayne@68
|
1930 .RS
|
jpayne@68
|
1931 .PP
|
jpayne@68
|
1932 .TS
|
jpayne@68
|
1933 tab(;);
|
jpayne@68
|
1934 c c
|
jpayne@68
|
1935 n n.
|
jpayne@68
|
1936 ValPrestab;CPUComp
|
jpayne@68
|
1937 \-0;0
|
jpayne@68
|
1938 \-1;1
|
jpayne@68
|
1939 \-2;2
|
jpayne@68
|
1940 \-3;3
|
jpayne@68
|
1941 \-4;4
|
jpayne@68
|
1942 \-5;5
|
jpayne@68
|
1943 \-6;6
|
jpayne@68
|
1944 \-5e;7
|
jpayne@68
|
1945 \-6e;8
|
jpayne@68
|
1946 .TE
|
jpayne@68
|
1947 .RE
|
jpayne@68
|
1948 .PP
|
jpayne@68
|
1949 Dacă știți că un fișier necesită un dicționar oarecum mare (de exemplu,
|
jpayne@68
|
1950 32Mio) pentru a se comprima bine, dar doriți să\-l comprimați mai repede
|
jpayne@68
|
1951 decât ar face \fBxz \-8\fP, o opțiune prestabilită cu o valoare CPUComp scăzută
|
jpayne@68
|
1952 (de exemplu, 1) poate fi modificată pentru a utiliza un dicționar mai mare:
|
jpayne@68
|
1953 .RS
|
jpayne@68
|
1954 .PP
|
jpayne@68
|
1955 .nf
|
jpayne@68
|
1956 \f(CRxz \-\-lzma2=preset=1,dict=32MiB foo.tar\fR
|
jpayne@68
|
1957 .fi
|
jpayne@68
|
1958 .RE
|
jpayne@68
|
1959 .PP
|
jpayne@68
|
1960 Cu anumite fișiere, comanda de mai sus poate fi mai rapidă decât \fBxz \-6\fP în
|
jpayne@68
|
1961 timp ce comprimă semnificativ mai bine. Cu toate acestea, trebuie subliniat
|
jpayne@68
|
1962 că doar unele fișiere se beneficiază de un dicționar mare, păstrând în
|
jpayne@68
|
1963 același timp valoarea CPUComp scăzută. Cea mai evidentă situație, în care un
|
jpayne@68
|
1964 dicționar mare poate ajuta foarte mult, este o arhivă care conține fișiere
|
jpayne@68
|
1965 foarte asemănătoare de cel puțin câțiva megaocteți fiecare. Dimensiunea
|
jpayne@68
|
1966 dicționarului trebuie să fie semnificativ mai mare decât orice fișier
|
jpayne@68
|
1967 individual pentru a permite LZMA2 să profite din plin de asemănările dintre
|
jpayne@68
|
1968 fișierele consecutive.
|
jpayne@68
|
1969 .PP
|
jpayne@68
|
1970 Dacă utilizarea unei mari cantități de memorie pentru comprimare și
|
jpayne@68
|
1971 decomprimare este în regulă, iar fișierul comprimat are cel puțin câteva
|
jpayne@68
|
1972 sute de megaocteți, poate fi util să folosiți un dicționar și mai mare decât
|
jpayne@68
|
1973 cei 64Mio pe care i\-ar folosi \fBxz \-9\fP:
|
jpayne@68
|
1974 .RS
|
jpayne@68
|
1975 .PP
|
jpayne@68
|
1976 .nf
|
jpayne@68
|
1977 \f(CRxz \-vv \-\-lzma2=dict=192MiB big_foo.tar\fR
|
jpayne@68
|
1978 .fi
|
jpayne@68
|
1979 .RE
|
jpayne@68
|
1980 .PP
|
jpayne@68
|
1981 Utilizarea opțiunii \fB\-vv\fP (\fB\-\-verbose \-\-verbose\fP) ca în exemplul de mai
|
jpayne@68
|
1982 sus, poate fi utilă pentru a vedea cerințele de memorie la comprimare și
|
jpayne@68
|
1983 decomprimare. Amintiți\-vă că utilizarea unui dicționar mai mare decât
|
jpayne@68
|
1984 dimensiunea fișierului necomprimat este risipă de memorie, de aceea, comanda
|
jpayne@68
|
1985 de mai sus nu este utilă pentru fișiere mici.
|
jpayne@68
|
1986 .PP
|
jpayne@68
|
1987 Uneori, timpul de comprimare nu contează, dar utilizarea memoriei la
|
jpayne@68
|
1988 decomprimare trebuie menținută la un nivel scăzut, de exemplu, pentru a face
|
jpayne@68
|
1989 posibilă decomprimarea fișierului pe un sistem încorporat. Următoarea
|
jpayne@68
|
1990 comandă folosește \fB\-6e\fP (\fB\-6 \-\-extreme\fP) ca bază și fixează dimensiunea
|
jpayne@68
|
1991 dicționarului la doar 64Kio. Fișierul rezultat poate fi decomprimat cu XZ
|
jpayne@68
|
1992 Embedded (de aceea există \fB\-\-check=crc32\fP) folosind aproximativ 100Kio de
|
jpayne@68
|
1993 memorie.
|
jpayne@68
|
1994 .RS
|
jpayne@68
|
1995 .PP
|
jpayne@68
|
1996 .nf
|
jpayne@68
|
1997 \f(CRxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo\fR
|
jpayne@68
|
1998 .fi
|
jpayne@68
|
1999 .RE
|
jpayne@68
|
2000 .PP
|
jpayne@68
|
2001 Dacă doriți să stoarceți cât mai mulți octeți posibil, ajustarea numărului
|
jpayne@68
|
2002 de biți de context literal (\fIlc\fP) și a numărului de biți de poziție (\fIpb\fP)
|
jpayne@68
|
2003 poate ajuta uneori. Ajustarea numărului de biți de poziție literală (\fIlp\fP)
|
jpayne@68
|
2004 ar putea ajuta, de asemenea, dar de obicei \fIlc\fP și \fIpb\fP sunt mai
|
jpayne@68
|
2005 importante. De exemplu, o arhivă de cod sursă conține în mare parte text
|
jpayne@68
|
2006 US\-ASCII, așa că ceva precum comanda următoare, ar putea oferi un fișier
|
jpayne@68
|
2007 „mai slăbuț” (aproximativ cu 0,1%) mai mic decât cu \fBxz \-6e\fP (încercați și
|
jpayne@68
|
2008 fără \fBlc=4\fP):
|
jpayne@68
|
2009 .RS
|
jpayne@68
|
2010 .PP
|
jpayne@68
|
2011 .nf
|
jpayne@68
|
2012 \f(CRxz \-\-lzma2=preset=6e,pb=0,lc=4 source_code.tar\fR
|
jpayne@68
|
2013 .fi
|
jpayne@68
|
2014 .RE
|
jpayne@68
|
2015 .PP
|
jpayne@68
|
2016 Utilizarea unui alt filtru împreună cu LZMA2 poate îmbunătăți comprimarea cu
|
jpayne@68
|
2017 anumite tipuri de fișiere. De exemplu, pentru a comprima o bibliotecă
|
jpayne@68
|
2018 partajată x86 pe 32 de biți sau x86 pe 64 de biți folosind filtrul BCJ x86:
|
jpayne@68
|
2019 .RS
|
jpayne@68
|
2020 .PP
|
jpayne@68
|
2021 .nf
|
jpayne@68
|
2022 \f(CRxz \-\-x86 \-\-lzma2 libfoo.so\fR
|
jpayne@68
|
2023 .fi
|
jpayne@68
|
2024 .RE
|
jpayne@68
|
2025 .PP
|
jpayne@68
|
2026 Rețineți că ordinea opțiunilor de filtrare este semnificativă. Dacă \fB\-\-x86\fP
|
jpayne@68
|
2027 este specificată după \fB\-\-lzma2\fP, \fBxz\fP va da o eroare, deoarece nu poate
|
jpayne@68
|
2028 exista niciun filtru după LZMA2 și, de asemenea, pentru că filtrul x86 BCJ
|
jpayne@68
|
2029 nu poate fi utilizat ca ultimul filtru din lanțul de filtrare.
|
jpayne@68
|
2030 .PP
|
jpayne@68
|
2031 Filtrul Delta împreună cu LZMA2 pot da rezultate bune cu imagini bitmap. De
|
jpayne@68
|
2032 obicei, ar trebui să întreacă comprimarea PNG, care are câteva filtre mai
|
jpayne@68
|
2033 avansate decât delta simplă, dar utilizează Deflate pentru comprimarea
|
jpayne@68
|
2034 reală.
|
jpayne@68
|
2035 .PP
|
jpayne@68
|
2036 Imaginea trebuie să fie salvată în format necomprimat, de exemplu, ca TIFF
|
jpayne@68
|
2037 necomprimat. Parametrul de distanță al filtrului Delta este fixat să se
|
jpayne@68
|
2038 potrivească cu numărul de octeți per pixel din imagine. De exemplu,
|
jpayne@68
|
2039 bitmap\-ul RGB pe 24 de biți necesită \fBdist=3\fP și este, de asemenea, bine să
|
jpayne@68
|
2040 pasați \fBpb=0\fP la LZMA2 pentru a se adapta alinierii pe trei octeți:
|
jpayne@68
|
2041 .RS
|
jpayne@68
|
2042 .PP
|
jpayne@68
|
2043 .nf
|
jpayne@68
|
2044 \f(CRxz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff\fR
|
jpayne@68
|
2045 .fi
|
jpayne@68
|
2046 .RE
|
jpayne@68
|
2047 .PP
|
jpayne@68
|
2048 Dacă mai multe imagini au fost introduse într\-o singură arhivă (de exemplu,
|
jpayne@68
|
2049 \&\fB.tar\fP), filtrul Delta va funcționa și pe aceasta atâta timp cât toate
|
jpayne@68
|
2050 imaginile au același număr de octeți per pixel.
|
jpayne@68
|
2051 .
|
jpayne@68
|
2052 .SH "CONSULTAȚI ȘI"
|
jpayne@68
|
2053 \fBxzdec\fP(1), \fBxzdiff\fP(1), \fBxzgrep\fP(1), \fBxzless\fP(1), \fBxzmore\fP(1),
|
jpayne@68
|
2054 \fBgzip\fP(1), \fBbzip2\fP(1), \fB7z\fP(1)
|
jpayne@68
|
2055 .PP
|
jpayne@68
|
2056 XZ Utils: <https://tukaani.org/xz/>
|
jpayne@68
|
2057 .br
|
jpayne@68
|
2058 XZ Embedded: <https://tukaani.org/xz/embedded.html>
|
jpayne@68
|
2059 .br
|
jpayne@68
|
2060 LZMA SDK: <https://7\-zip.org/sdk.html>
|