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