master
/ miniconda3 / share / man / pt_BR / man1 / xz.1

xz.1 @a8e0244

41a0142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
   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
'\" t
.\"
.\" Author: Lasse Collin
.\"
.\" 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 2022\-12\-01 Tukaani "XZ Utils"
.
.SH NOME
xz, unxz, xzcat, lzma, unlzma, lzcat \- Compacta ou descompacta arquivos .xz
e .lzma
.
.SH SINOPSE
\fBxz\fP [\fIopção...\fP] [\fIarquivo...\fP]
.
.SH "COMANDOS APELIDOS"
\fBunxz\fP é equivalente a  \fBxz \-\-decompress\fP.
.br
\fBxzcat\fP é equivalente a  \fBxz \-\-decompress \-\-stdout\fP.
.br
\fBlzma\fP é equivalente a  \fBxz \-\-format=lzma\fP.
.br
\fBunlzma\fP é equivalente a  \fBxz \-\-format=lzma \-\-decompress\fP.
.br
\fBlzcat\fP é equivalente a  \fBxz \-\-format=lzma \-\-decompress \-\-stdout\fP.
.PP
Ao escrever scripts que precisam descompactar arquivos, é recomendável
sempre usar o nome \fBxz\fP com os argumentos apropriados (\fBxz \-d\fP ou \fBxz \-dc\fP) em vez dos nomes \fBunxz\fP e \fBxzcat\fP.
.
.SH DESCRIÇÃO
\fBxz\fP é uma ferramenta de compactação de dados de uso geral com sintaxe de
linha de comando semelhante ao \fBgzip\fP(1) e ao \fBbzip2\fP(1). O formato de
arquivo nativo é o formato \fB.xz\fP, mas o formato legado \fB.lzma\fP usado por
LZMA Utils e fluxos compactados brutos sem cabeçalhos de formato de
contêiner também são suportados. Além disso, a descompactação do formato
\&\fB.lz\fP usado por \fBlzip\fP é suportada.
.PP
\fBxz\fP compacta ou descompacta cada \fIarquivo\fP de acordo com o modo de
operação selecionado. Se nenhum \fIarquivo\fP for fornecido ou \fIarquivo\fP for
\fB\-\fP, \fBxz\fP lê da entrada padrão e grava os dados processados na saída
padrão. \fBxz\fP recusará (exibirá um erro e ignorará o \fIarquivo\fP) para gravar
dados compactados na saída padrão se for um terminal. Da mesma forma, \fBxz\fP
se recusará a ler dados compactados da entrada padrão se for um terminal.
.PP
A menos que \fB\-\-stdout\fP seja especificado, \fIarquivos\fP diferentes de \fB\-\fP
são gravados em um novo arquivo cujo nome é derivado do nome \fIarquivo\fP de
origem:
.IP \(bu 3
Ao compactar, o sufixo do formato de arquivo de destino (\fB.xz\fP ou \fB.lzma\fP)
é anexado ao nome do arquivo de origem para obter o nome do arquivo de
destino.
.IP \(bu 3
Ao descompactar, o sufixo \fB.xz\fP, \fB.lzma\fP ou \fB.lz\fP é removido do nome do
arquivo para obter o nome do arquivo de destino. \fBxz\fP também reconhece os
sufixos \fB.txz\fP e \fB.tlz\fP e os substitui pelo sufixo \fB.tar\fP.
.PP
Se o arquivo de destino já existir, um erro será exibido e \fIarquivo\fP será
ignorado.
.PP
A menos que grave na saída padrão, \fBxz\fP exibirá um aviso e pulará o
\fIarquivo\fP se qualquer um dos seguintes se aplicar:
.IP \(bu 3
\fIArquivo\fP não é um arquivo normal. Links simbólicos não são seguidos e,
portanto, não são considerados arquivos comuns.
.IP \(bu 3
\fIArquivo\fP tem mais de um link físico.
.IP \(bu 3
\fIFile\fP tem setuid, setgid ou sticky bit definido.
.IP \(bu 3
O modo de operação está definido para compactar e o \fIarquivo\fP já possui um
sufixo do formato de arquivo de destino (\fB.xz\fP ou \fB.txz\fP ao compactar para
o formato \fB.xz\fP e \fB.lzma \fP ou \fB.tlz\fP ao compactar para o formato
\&\fB.lzma\fP).
.IP \(bu 3
O modo de operação está definido para descompactar e o \fIarquivo\fP não possui
um sufixo de nenhum dos formatos de arquivo suportados (\fB.xz\fP, \fB.txz\fP,
\&\fB.lzma\fP, \fB.tlz\fP , ou \fB.lz\fP).
.PP
Depois de compactar ou descompactar com êxito o \fIarquivo\fP, o \fBxz\fP copia o
dono, grupo, permissões, horário de acesso e horário de modificação do
\fIarquivo\fP de origem para o arquivo de destino. Se a cópia do grupo falhar,
as permissões serão modificadas para que o arquivo de destino não se torne
acessível a usuários que não têm permissão para acessar o \fIarquivo\fP de
origem. \fBxz\fP ainda não oferece suporte à cópia de outros metadados, como
listas de controle de acesso ou atributos estendidos.
.PP
Depois que o arquivo de destino for fechado com êxito, o \fIarquivo\fP de
origem será removido, a menos que \fB\-\-keep\fP tenha sido especificado. O
\fIarquivo\fP de origem nunca é removido se a saída for gravada na saída padrão
ou se ocorrer um erro.
.PP
O envio de \fBSIGINFO\fP ou \fBSIGUSR1\fP para o processo do \fBxz\fP faz com que ele
imprima informações de andamento para erro padrão. Isso tem uso limitado,
pois quando o erro padrão é um terminal, usar \fB\-\-verbose\fP exibirá um
indicador de progresso de atualização automática.
.
.SS "Uso de memória"
O uso de memória de \fBxz\fP varia de algumas centenas de kilobytes a vários
gigabytes, dependendo das configurações de compactação. As configurações
usadas ao compactar um arquivo determinam os requisitos de memória do
descompactador. Normalmente, o descompactador precisa de 5\ % a 20\ % da
quantidade de memória que o compactador precisou ao criar o arquivo. Por
exemplo, descompactar um arquivo criado com \fBxz \-9\fP atualmente requer 65\ MiB de memória. Ainda assim, é possível ter arquivos \fB.xz\fP que requerem
vários gigabytes de memória para descompactar.
.PP
Especialmente os usuários de sistemas mais antigos podem achar irritante a
possibilidade de uso de memória muito grande. Para evitar surpresas
desconfortáveis, o \fBxz\fP possui um limitador de uso de memória embutido, que
está desabilitado por padrão. Embora alguns sistemas operacionais forneçam
maneiras de limitar o uso de memória dos processos, confiar nele não foi
considerado flexível o suficiente (por exemplo, usar \fBulimit\fP(1) para
limitar a memória virtual tende a prejudicar \fBmmap\fP(2)).
.PP
O limitador de uso de memória pode ser ativado com a opção de linha de
comando \fB\-\-memlimit=\fP\fIlimite\fP. Geralmente é mais conveniente habilitar o
limitador por padrão definindo a variável de ambiente \fBXZ_DEFAULTS\fP, por
exemplo, \fBXZ_DEFAULTS=\-\-memlimit=150MiB\fP. É possível definir os limites
separadamente para compactação e descompactação usando
\fB\-\-memlimit\-compress=\fP\fIlimite\fP e \fB\-\-memlimit\-decompress=\fP\fIlimite\fP. Usar
essas duas opções fora de \fBXZ_DEFAULTS\fP raramente é útil porque uma única
execução de \fBxz\fP não pode fazer compactação e descompactação e
\fB\-\-memlimit=\fP\fIlimite\fP (ou \fB\-M\fP \fIlimite\fP ) é mais curto para digitar na
linha de comando.
.PP
Se o limite de uso de memória especificado for excedido durante a
descompactação, \fBxz\fP exibirá um erro e a descompactação do arquivo
falhará. Se o limite for excedido durante a compactação, \fBxz\fP tentará
reduzir as configurações para que o limite não seja mais excedido (exceto ao
usar \fB\-\-format=raw\fP ou \fB\-\-no\-adjust\fP). Dessa forma, a operação não
falhará, a menos que o limite seja muito pequeno. A escala das configurações
é feita em etapas que não correspondem às predefinições do nível de
compactação, por exemplo, se o limite for apenas um pouco menor que o valor
necessário para \fBxz \-9\fP, as configurações serão reduzidas apenas um pouco ,
não até \fBxz \-8\fP.
.
.SS "Concatenação e preenchimento com arquivos .xz"
É possível concatenar arquivos \fB.xz\fP como estão. \fBxz\fP irá descompactar
tais arquivos como se fossem um único arquivo \fB.xz\fP.
.PP
É possível inserir preenchimento entre as partes concatenadas ou após a
última parte. O preenchimento deve consistir em bytes nulos e o tamanho do
preenchimento deve ser um múltiplo de quatro bytes. Isso pode ser útil, por
exemplo, se o arquivo \fB.xz\fP for armazenado em uma mídia que mede tamanhos
de arquivo em blocos de 512 bytes.
.PP
Concatenação e preenchimento não são permitidos com arquivos \fB.lzma\fP ou
fluxos brutos.
.
.SH OPÇÕES
.
.SS "Sufixos inteiros e valores especiais"
Na maioria dos lugares onde um argumento inteiro é esperado, um sufixo
opcional é suportado para indicar facilmente números inteiros grandes. Não
deve haver espaço entre o número inteiro e o sufixo.
.TP 
\fBKiB\fP
Multiplica o inteiro por 1.024 (2^10). \fBKi\fP, \fBk\fP, \fBkB\fP, \fBK\fP e \fBKB\fP são
aceitos como sinônimos de \fBKiB\fP.
.TP 
\fBMiB\fP
Multiplica o número inteiro por 1.048.576 (2^20). \fBMi\fP, \fBm\fP, \fBM\fP e \fBMB\fP
são aceitos como sinônimos de \fBMiB\fP.
.TP 
\fBGiB\fP
Multiplica o número inteiro por 1.073.741.824 (2^30). \fBGi\fP, \fBg\fP, \fBG\fP e
\fBGB\fP são aceitos como sinônimos de \fBGiB\fP.
.PP
O valor especial \fBmax\fP pode ser usado para indicar o valor inteiro máximo
suportado pela opção.
.
.SS "Modo de operação"
Se várias opções de modo de operação forem dadas, a última entrará em vigor.
.TP 
\fB\-z\fP, \fB\-\-compress\fP
Compacta. Este é o modo de operação padrão quando nenhuma opção de modo de
operação é especificada e nenhum outro modo de operação está implícito no
nome do comando (por exemplo, \fBunxz\fP implica em \fB\-\-decompress\fP).
.TP 
\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP
Descompacta.
.TP 
\fB\-t\fP, \fB\-\-test\fP
Testa a integridade de \fIarquivos\fP compactados. Esta opção é equivalente a
\fB\-\-decompress \-\-stdout\fP exceto que os dados descompactados são descartados
em vez de serem gravados na saída padrão. Nenhum arquivo é criado ou
removido.
.TP 
\fB\-l\fP, \fB\-\-list\fP
Imprime informações sobre \fIarquivos\fP compactados. Nenhuma saída
descompactada é produzida e nenhum arquivo é criado ou removido. No modo de
lista, o programa não pode ler os dados compactados da entrada padrão ou de
outras fontes não pesquisáveis.
.IP ""
A listagem padrão mostra informações básicas sobre \fIarquivos\fP, um arquivo
por linha. Para obter informações mais detalhadas, use também a opção
\fB\-\-verbose\fP. Para obter ainda mais informações, use \fB\-\-verbose\fP duas
vezes, mas observe que isso pode ser lento, porque obter todas as
informações extras requer muitas buscas. A largura da saída detalhada excede
80 caracteres, portanto, canalizar a saída para, por exemplo, \fBless\ \-S\fP
pode ser conveniente se o terminal não tiver largura o suficiente.
.IP ""
A saída exata pode variar entre versões \fBxz\fP e localidades diferentes. Para
saída legível por máquina, \fB\-\-robot \-\-list\fP deve ser usado.
.
.SS "Modificadores de operação"
.TP 
\fB\-k\fP, \fB\-\-keep\fP
Não exclui os arquivos de entrada.
.IP ""
Desde \fBxz\fP 5.2.6, esta opção também faz \fBxz\fP compactar ou descompactar
mesmo se a entrada for um link simbólico para um arquivo comum, tiver mais
de um link físico ou tiver o setuid, setgid ou sticky bit definir. Os bits
setuid, setgid e sticky não são copiados para o arquivo de destino. Nas
versões anteriores, isso era feito apenas com \fB\-\-force\fP.
.TP 
\fB\-f\fP, \fB\-\-force\fP
Esta opção tem vários efeitos:
.RS
.IP \(bu 3
Se o arquivo de destino já existir, o exclui antes de compactar ou
descompactar.
.IP \(bu 3
Compacta ou descompacta, mesmo que a entrada seja um link simbólico para um
arquivo normal, tenha mais de um link físico ou tenha setuid, setgid ou
sticky bit definido. Os bits setuid, setgid e sticky não são copiados para o
arquivo de destino.
.IP \(bu 3
Quando usado com \fB\-\-decompress\fP \fB\-\-stdout\fP e \fBxz\fP não consegue reconhecer
o tipo do arquivo de origem, copia o arquivo de origem como está na saída
padrão. Isso permite que \fBxzcat\fP \fB\-\-force\fP seja usado como \fBcat\fP(1) para
arquivos que não foram compactados com \fBxz\fP. Observe que, no futuro, o
\fBxz\fP pode oferecer suporte a novos formatos de arquivo compactado, o que
pode fazer com que o \fBxz\fP descompacte mais tipos de arquivos em vez de
copiá\-los como na saída padrão. \fB\-\-format=\fP\fIformato\fP pode ser usado para
restringir \fBxz\fP para descompactar apenas um único formato de arquivo.
.RE
.TP 
\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP
Grava os dados compactados ou descompactados na saída padrão em vez de em um
arquivo. Isso implica em \fB\-\-keep\fP.
.TP 
\fB\-\-single\-stream\fP
Descompacta apenas o primeiro fluxo de \fB.xz\fP e ignora silenciosamente
possíveis dados de entrada restantes após o fluxo. Normalmente, esse
restante posterior sem uso faz com que \fBxz\fP exiba um erro.
.IP ""
\fBxz\fP nunca descompacta mais de um fluxo de arquivos \fB.lzma\fP ou fluxos
brutos, mas esta opção ainda faz \fBxz\fP ignorar os possíveis dados
posteriores após o arquivo \fB.lzma\fP ou fluxo bruto.
.IP ""
Esta opção não tem efeito se o modo de operação não for \fB\-\-decompress\fP ou
\fB\-\-test\fP.
.TP 
\fB\-\-no\-sparse\fP
Desativa a criação de arquivos esparsos. Por padrão, ao descompactar em um
arquivo normal, \fBxz\fP tenta tornar o arquivo esparso se os dados
descompactados contiverem longas sequências de zeros binários. Ele também
funciona ao gravar na saída padrão, desde que a saída padrão esteja
conectada a um arquivo normal e certas condições adicionais sejam atendidas
para torná\-la segura. A criação de arquivos esparsos pode economizar espaço
em disco e acelerar a descompactação, reduzindo a quantidade de E/S do
disco.
.TP 
\fB\-S\fP \fI.suf\fP, \fB\-\-suffix=\fP\fI.suf\fP
Ao compactar, usa \fI.suf\fP como sufixo para o arquivo de destino em vez de
\&\fB.xz\fP ou \fB.lzma\fP. Se não estiver gravando na saída padrão e o arquivo de
origem já tiver o sufixo \fI.suf\fP, um aviso será exibido e o arquivo será
ignorado.
.IP ""
Ao descompactar, reconhece arquivos com o sufixo \fI.suf\fP além de arquivos
com o sufixo \fB.xz\fP, \fB.txz\fP, \fB.lzma\fP, \fB.tlz\fP ou \fB.lz\fP . Se o arquivo de
origem tiver o sufixo \fI.suf\fP, o sufixo será removido para obter o nome do
arquivo de destino.
.IP ""
Ao compactar ou descompactar fluxos brutos (\fB\-\-format=raw\fP), o sufixo
sempre deve ser especificado, a menos que seja gravado na saída padrão,
porque não há sufixo padrão para fluxos brutos.
.TP 
\fB\-\-files\fP[\fB=\fP\fIarquivo\fP]
Lê os nomes dos arquivos a serem processados em \fIarquivo\fP; se \fIarquivo\fP
for omitido, os nomes dos arquivos serão lidos da entrada padrão. Os nomes
de arquivo devem terminar com o caractere de nova linha. Um traço (\fB\-\fP) é
considerado um nome de arquivo regular; não significa entrada padrão. Se os
nomes de arquivo forem fornecidos também como argumentos de linha de
comando, eles serão processados antes da leitura dos nomes de arquivo de
\fIarquivo\fP.
.TP 
\fB\-\-files0\fP[\fB=\fP\fIarquivo\fP]
Isso é idêntico a \fB\-\-files\fP[\fB=\fP\fIarquivo\fP], exceto que cada nome de
arquivo deve ser finalizado com o caractere nulo.
.
.SS "Opções básicas de formato de arquivo e de compactação"
.TP 
\fB\-F\fP \fIformato\fP, \fB\-\-format=\fP\fIformato\fP
Especifica o \fIformato\fP de arquivo para compactar ou descompactar:
.RS
.TP 
\fBauto\fP
Este é o padrão. Ao compactar, \fBauto\fP é equivalente a \fBxz\fP. Ao
descompactar, o formato do arquivo de entrada é detectado
automaticamente. Observe que os fluxos brutos (criados com \fB\-\-format=raw\fP)
não podem ser detectados automaticamente.
.TP 
\fBxz\fP
Compacta no formato de arquivo \fB.xz\fP ou aceite apenas arquivos \fB.xz\fP ao
descompactar.
.TP 
\fBlzma\fP, \fBalone\fP
Compacta no formato de arquivo legado \fB.lzma\fP ou aceite apenas arquivos
\&\fB.lzma\fP ao descompactar. O nome alternativo \fBalone\fP é fornecido para
compatibilidade com versões anteriores do LZMA Utils.
.TP 
\fBlzip\fP
Aceita apenas arquivos \fB.lz\fP ao descompactar. Sem suporte a compactação.
.IP ""
O formato \fB.lz\fP versão 0 e a versão não estendida 1 são suportados. Os
arquivos da versão 0 foram produzidos por \fBlzip\fP 1.3 e anteriores. Esses
arquivos não são comuns, mas podem ser encontrados em arquivos compactados,
pois alguns pacotes de origem foram lançados nesse formato. As pessoas
também podem ter arquivos pessoais antigos neste formato. O suporte de
descompactação para o formato versão 0 foi removido em \fBlzip\fP 1.18.
.IP ""
\fBlzip\fP 1.4 e posteriores criam arquivos no formato versão 1. A extensão do
marcador de descarga de sincronização para o formato versão 1 foi adicionada
em \fBlzip\fP 1.6. Esta extensão raramente é usada e não é suportada por \fBxz\fP
(diagnosticada como entrada corrompida).
.TP 
\fBraw\fP
Compacta ou descompacta um fluxo bruto (sem cabeçalhos). Isso é destinado
apenas a usuários avançados. Para decodificar fluxos brutos, você precisa
usar \fB\-\-format=raw\fP e especificar explicitamente a cadeia de filtros, que
normalmente seria armazenada nos cabeçalhos do contêiner.
.RE
.TP 
\fB\-C\fP \fIverificação\fP, \fB\-\-check=\fP\fIverificação\fP
Especifica o tipo de verificação de integridade. A verificação é calculada a
partir dos dados descompactados e armazenados no arquivo \fB.xz\fP. Esta opção
tem efeito somente ao compactar no formato \fB.xz\fP; o formato \fB.lzma\fP não
oferece suporte a verificações de integridade. A verificação de integridade
(se for o caso) é verificada quando o arquivo \fB.xz\fP é descompactado.
.IP ""
Tipos de \fIverificação\fP suportados:
.RS
.TP 
\fBnone\fP
Não calcula uma verificação de integridade. Isso geralmente é uma má
ideia. Pode ser útil quando a integridade dos dados é verificada por outros
meios.
.TP 
\fBcrc32\fP
Calcula CRC32 usando o polinômio do IEEE\-802.3 (Ethernet).
.TP 
\fBcrc64\fP
Calcula CRC64 usando o polinômio de ECMA\-182. Este é o padrão, pois é um
pouco melhor que o CRC32 na detecção de arquivos danificados e a diferença
de velocidade é insignificante.
.TP 
\fBsha256\fP
Calcula SHA\-256. Isso é um pouco mais lento do que CRC32 e CRC64.
.RE
.IP ""
A integridade dos cabeçalhos de \fB.xz\fP é sempre verificada com CRC32. Não é
possível alterá\-la ou desativá\-la.
.TP 
\fB\-\-ignore\-check\fP
Não confere a verificação de integridade dos dados compactados ao
descompactar. Os valores CRC32 nos cabeçalhos \fB.xz\fP ainda serão conferidos
normalmente.
.IP ""
\fBNão use esta opção a menos que saiba o que está fazendo.\fP Possíveis razões
para usar esta opção:
.RS
.IP \(bu 3
Tentativa de recuperar dados de um arquivo .xz corrompido.
.IP \(bu 3
Acelerar a descompactação. Isso é importante principalmente com SHA\-256 ou
com arquivos extremamente bem compactados. É recomendável não usar essa
opção para essa finalidade, a menos que a integridade do arquivo seja
verificada externamente de alguma outra forma.
.RE
.TP 
\fB\-0\fP ... \fB\-9\fP
Seleciona um nível de predefinição de compactação. O padrão é \fB\-6\fP. Se
vários níveis de predefinição forem especificados, o último terá efeito. Se
uma cadeia de filtro personalizada já foi especificada, especificar um nível
de predefinição de compactação limpa a cadeia de filtro personalizada.
.IP ""
As diferenças entre as predefinições são mais significativas do que com
\fBgzip\fP(1) e \fBbzip2\fP(1). As configurações de compactação selecionadas
determinam os requisitos de memória do descompactador, portanto, usar um
nível de predefinição muito alto pode dificultar a descompactação do arquivo
em um sistema antigo com pouca RAM. Especificamente, \fBnão é uma boa ideia usar cegamente \-9 para tudo\fP como costuma acontecer com \fBgzip\fP(1) e
\fBbzip2\fP(1).
.RS
.TP 
\fB\-0\fP ... \fB\-3\fP
Estas são predefinições um tanto rápidas. \fB\-0\fP às vezes é mais rápida que
\fBgzip \-9\fP ao mesmo tempo que compacta muito melhor. As mais altas
geralmente têm velocidade comparável ao \fBbzip2\fP(1) com taxa de compactação
comparável ou melhor, embora os resultados dependam muito do tipo de dados
que estão sendo compactados.
.TP 
\fB\-4\fP ... \fB\-6\fP
Compactação boa a muito boa, mantendo o uso de memória do descompactador
razoável mesmo para sistemas antigos. \fB\-6\fP é o padrão, que geralmente é uma
boa escolha para distribuir arquivos que precisam ser descompactáveis, mesmo
em sistemas com apenas 16\ MiB de RAM. (\fB\-5e\fP ou \fB\-6e\fP também vale a pena
considerar. Veja \fB\-\-extreme\fP.)
.TP 
\fB\-7 ... \-9\fP
Eles são como \fB\-6\fP, mas com requisitos de memória de compressor e
descompressor mais altos. Eles são úteis apenas ao compactar arquivos
maiores que 8\ MiB, 16\ MiB e 32\ MiB, respectivamente.
.RE
.IP ""
No mesmo hardware, a velocidade de descompactação é aproximadamente um
número constante de bytes de dados compactados por segundo. Em outras
palavras, quanto melhor a compactação, mais rápida será a
descompactação. Isso também significa que a quantidade de saída não
compactada produzida por segundo pode variar muito.
.IP ""
A tabela a seguir resume os recursos das predefinições:
.RS
.RS
.PP
.TS
tab(;);
c c c c c
n n n n n.
Predefinição;DicTam;CompCPU;CompMem;DecMem
\-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 ""
Descrições das colunas:
.RS
.IP \(bu 3
DicTam é o tamanho do dicionário LZMA2. É desperdício de memória usar um
dicionário maior que o tamanho do arquivo descompactado. É por isso que é
bom evitar usar as predefinições \fB\-7\fP ... \fB\-9\fP quando não há real
necessidade deles. Em \fB\-6\fP e inferior, a quantidade de memória desperdiçada
geralmente é baixa o suficiente para não importar.
.IP \(bu 3
CompCPU é uma representação simplificada das configurações LZMA2 que afetam
a velocidade de compactação. O tamanho do dicionário também afeta a
velocidade, portanto, embora o CompCPU seja o mesmo para os níveis \fB\-6\fP
\&... \fB\-9\fP, níveis mais altos ainda tendem a ser um pouco mais lentos. Para
obter uma compactação ainda mais lenta e possivelmente melhor, consulte
\fB\-\-extreme\fP.
.IP \(bu 3
CompMem contém os requisitos de memória do compactador no modo de thread
única.Pode variar ligeiramente entre as versões \fBxz\fP. Os requisitos de
memória de alguns dos futuros modos de várias threads (multithread) podem
ser dramaticamente maiores do que os do modo de thread única.
.IP \(bu 3
DecMem contém os requisitos de memória do descompactador. Ou seja, as
configurações de compactação determinam os requisitos de memória do
descompactador. O uso exato da memória do descompactador é um pouco maior do
que o tamanho do dicionário LZMA2, mas os valores na tabela foram
arredondados para o próximo MiB completo.
.RE
.TP 
\fB\-e\fP, \fB\-\-extreme\fP
Usa uma variante mais lenta do nível de predefinição de compactação
selecionado (\fB\-0\fP ... \fB\-9\fP) para obter uma taxa de compactação um pouco
melhor, mas, com azar, isso também pode piorar. O uso da memória do
descompressor não é afetado, mas o uso da memória do compactador aumenta um
pouco nos níveis de predefinição \fB\-0\fP ... \fB\-3\fP.
.IP ""
Como existem duas predefinições com tamanhos de dicionário 4\ MiB e 8\ MiB,
as predefinições \fB\-3e\fP e \fB\-5e\fP usam configurações um pouco mais rápidas
(CompCPU inferior) do que \fB\-4e\fP e \fB\-6e\fP, respectivamente. Dessa forma, não
há duas predefinições idênticas.
.RS
.RS
.PP
.TS
tab(;);
c c c c c
n n n n n.
Predefinição;DicTam;CompCPU;CompMem;DecMem
\-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 ""
Por exemplo, há um total de quatro predefinições que usam o dicionário 8\ MiB, cuja ordem do mais rápido ao mais lento é \fB\-5\fP, \fB\-6\fP, \fB\-5e\fP e
\fB\-6e\fP.
.TP 
\fB\-\-fast\fP
.PD 0
.TP 
\fB\-\-best\fP
.PD
Esses são apelidos um tanto enganosos para \fB\-0\fP e \fB\-9\fP,
respectivamente. Eles são fornecidos apenas para compatibilidade com versões
anteriores do LZMA Utils. Evite usar essas opções.
.TP 
\fB\-\-block\-size=\fP\fItamanho\fP
Ao compactar para o formato \fB.xz\fP, divida os dados de entrada em blocos de
\fItamanho\fP bytes. Os blocos são compactados independentemente uns dos
outros, o que ajuda no multi\-threading e torna possível a descompactação
limitada de acesso aleatório. Essa opção normalmente é usada para substituir
o tamanho de bloco padrão no modo multi\-thread, mas também pode ser usada em
thread única.
.IP ""
No modo multi\-thread, cerca de três vezes \fItamanho\fP bytes serão alocados em
cada thread para armazenar em buffer a entrada e a saída. O \fItamanho\fP
padrão é três vezes o tamanho do dicionário LZMA2 ou 1 MiB, o que for
maior. Normalmente, um bom valor é 2\(en4 vezes o tamanho do dicionário
LZMA2 ou pelo menos 1 MiB. Usar \fItamanho\fP menor que o tamanho do dicionário
LZMA2 é um desperdício de RAM porque o buffer do dicionário LZMA2 nunca será
totalmente usado. Os tamanhos dos blocos são armazenados nos cabeçalhos dos
blocos, que uma versão futura do \fBxz\fP usará para descompactação em
multi\-thread.
.IP ""
No modo de thread única, nenhuma divisão de bloco é feita por
padrão. Definir essa opção não afeta o uso da memória. Nenhuma informação de
tamanho é armazenada nos cabeçalhos dos blocos, portanto, os arquivos
criados no modo de thread única não serão idênticos aos arquivos criados no
modo multi\-thread. A falta de informações de tamanho também significa que
uma versão futura do \fBxz\fP não poderá descompactar os arquivos no modo
multi\-thread.
.TP 
\fB\-\-block\-list=\fP\fItamanhos\fP
Ao compactar para o formato \fB.xz\fP, inicia um novo bloco após os intervalos
fornecidos de dados não compactados.
.IP ""
Os \fItamanhos\fP não compactados dos blocos são especificados como uma lista
separada por vírgulas. Omitir um tamanho (duas ou mais vírgulas
consecutivas) é uma forma abreviada de usar o tamanho do bloco anterior.
.IP ""
Se o arquivo de entrada for maior que a soma de \fItamanhos\fP, o último valor
em \fItamanhos\fP é repetido até o final do arquivo. Um valor especial de \fB0\fP
pode ser usado como o último valor para indicar que o restante do arquivo
deve ser codificado como um único bloco.
.IP ""
Se alguém especificar \fItamanhos\fP que excedam o tamanho do bloco do
codificador (seja o valor padrão no modo em threads ou o valor especificado
com \fB\-\-block\-size=\fP\fItamanho\fP), o codificador criará blocos adicionais
enquanto mantém o limites especificados em \fItamanhos\fP. Por exemplo, se
alguém especificar \fB\-\-block\-size=10MiB\fP
\fB\-\-block\-list=5MiB,10MiB,8MiB,12MiB,24MiB\fP e o arquivo de entrada for 80
MiB, obterá 11 blocos: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10 e 1 MiB.
.IP ""
No modo multi\-thread, os tamanhos dos blocos são armazenados nos cabeçalhos
dos blocos. Isso não é feito no modo de thread única, portanto, a saída
codificada não será idêntica à do modo multi\-thread.
.TP 
\fB\-\-flush\-timeout=\fP\fItempo_limite\fP
Ao compactar, se mais de \fItempo_limite\fP milissegundos (um número inteiro
positivo) se passaram desde a liberação anterior e a leitura de mais entrada
seria bloqueada, todos os dados de entrada pendentes serão liberados do
codificador e disponibilizados no fluxo de saída. Isso pode ser útil se
\fBxz\fP for usado para compactar dados transmitidos por uma rede. Valores
\fItempo_limite\fP pequenos tornam os dados disponíveis na extremidade
receptora com um pequeno atraso, mas valores \fItempo_limite\fP grandes
oferecem melhor taxa de compactação.
.IP ""
Esse recurso está desabilitado por padrão. Se esta opção for especificada
mais de uma vez, a última terá efeito. O valor especial \fItempo_limite\fP de
\fB0\fP pode ser usado para desabilitar explicitamente esse recurso.
.IP ""
Este recurso não está disponível em sistemas não\-POSIX.
.IP ""
.\" FIXME
\fBEste recurso ainda é experimental.\fP Atualmente, \fBxz\fP não é adequado para
descompactar o fluxo em tempo real devido à forma como \fBxz\fP faz o buffer.
.TP 
\fB\-\-memlimit\-compress=\fP\fIlimite\fP
Define um limite de uso de memória para compactação. Se esta opção for
especificada várias vezes, a última entrará em vigor.
.IP ""
Se as configurações de compactação excederem o \fIlimite\fP, \fBxz\fP tentará
ajustar as configurações para baixo para que o limite não seja mais excedido
e exibirá um aviso de que o ajuste automático foi feito. Os ajustes são
feitos nesta ordem: reduzindo o número de encadeamentos, alternando para o
modo sigle\-thread se até mesmo uma thread no modo multi\-thread exceder o
\fIlimite\fP e, finalmente, reduzindo o tamanho do dicionário LZMA2.
.IP ""
Ao compactar com \fB\-\-format=raw\fP ou se \fB\-\-no\-adjust\fP tiver sido
especificado, apenas o número de threads pode ser reduzido, pois isso pode
ser feito sem afetar a saída compactada.
.IP ""
Se o \fIlimite\fP não puder ser alcançado mesmo com os ajustes descritos acima,
um erro será exibido e \fBxz\fP sairá com status de saída 1.
.IP ""
O \fIlimite\fP pode ser especificado de várias maneiras:
.RS
.IP \(bu 3
O \fIlimite\fP pode ser um valor absoluto em bytes. Usar um sufixo inteiro como
\fBMiB\fP pode ser útil. Exemplo: \fB\-\-memlimit\-compress=80MiB\fP
.IP \(bu 3
O \fIlimite\fP pode ser especificado como uma porcentagem da memória física
total (RAM). Isso pode ser útil especialmente ao definir a variável de
ambiente \fBXZ_DEFAULTS\fP em um script de inicialização de shell que é
compartilhado entre diferentes computadores. Dessa forma o limite é
automaticamente maior em sistemas com mais memória. Exemplo:
\fB\-\-memlimit\-compress=70%\fP
.IP \(bu 3
O \fIlimite\fP pode ser redefinido para seu valor padrão, definindo\-o como
\fB0\fP. Atualmente, isso equivale a definir \fIlimite\fP como \fBmax\fP (sem limite
de uso de memória).
.RE
.IP ""
Para \fBxz\fP de 32 bits, há um caso especial: se o \fIlimite\fP estiver acima de
\fB4020\ MiB\fP, o \fIlimite\fP é definido como \fB4020\ MiB\fP. No MIPS32 \fB2000\ MiB\fP é usado em seu lugar. (Os valores \fB0\fP e \fBmax\fP não são afetados por
isso. Um recurso semelhante não existe para descompactação.) Isso pode ser
útil quando um executável de 32 bits tem acesso a espaço de endereço de 4\ GiB (2 GiB no MIPS32) enquanto espero não causar danos em outras situações.
.IP ""
Consulte também a seção \fBUso de memória\fP.
.TP 
\fB\-\-memlimit\-decompress=\fP\fIlimite\fP
Define um limite de uso de memória para descompactação. Isso também afeta o
modo \fB\-\-list\fP. Se a operação não for possível sem exceder o \fIlimite\fP,
\fBxz\fP exibirá um erro e a descompactação do arquivo falhará. Consulte
\fB\-\-memlimit\-compress=\fP\fIlimite\fP para possíveis maneiras de especificar o
\fIlimite\fP.
.TP 
\fB\-\-memlimit\-mt\-decompress=\fP\fIlimite\fP
Define um limite de uso de memória para descompactação multi\-thread. Isso
pode afetar apenas o número de threads; isso nunca fará com que \fBxz\fP se
recuse a descompactar um arquivo. Se \fIlimite\fP for muito baixo para permitir
qualquer multi\-thread, o \fIlimite\fP será ignorado e \fBxz\fP continuará no modo
de thread única. Observe que se \fB\-\-memlimit\-decompress\fP também for usado,
ele sempre se aplicará aos modos de thread única e multi\-thread e, portanto,
o \fIlimite\fP efetivo para multi\-threading nunca será maior que o limite
definido com \fB\-\-memlimit\-decompress\fP.
.IP ""
Em contraste com as outras opções de limite de uso de memória,
\fB\-\-memlimit\-mt\-decompress=\fP\fIlimite\fP tem um padrão \fIlimite\fP específico do
sistema. \fBxz \-\-info\-memory\fP pode ser usado para ver o valor atual.
.IP ""
Esta opção e seu valor padrão existem porque, sem qualquer limite, o
descompactador usando threads pode acabar alocando uma quantidade insana de
memória com alguns arquivos de entrada. Se o \fIlimite\fP padrão for muito
baixo em seu sistema, sinta\-se à vontade para aumentar o \fIlimite\fP, mas
nunca defina\-o para um valor maior que a quantidade de RAM utilizável, pois
com os arquivos de entrada apropriados \fBxz\fP tentará usar essa quantidade de
memória mesmo com um baixo número de threads. Ficar sem memória ou trocar
não melhorará o desempenho da descompactação.
.IP ""
Consulte \fB\-\-memlimit\-compress=\fP\fIlimite\fP para possíveis maneiras de
especificar o \fIlimite\fP. Definir \fIlimite\fP como \fB0\fP redefine \fIlimite\fP para
o valor padrão específico do sistema.
.IP ""
.TP 
\fB\-M\fP \fIlimite\fP, \fB\-\-memlimit=\fP\fIlimite\fP, \fB\-\-memory=\fP\fIlimite\fP
Isso é equivalente a especificar \fB\-\-memlimit\-compress=\fP\fIlimite\fP
\fB\-\-memlimit\-decompress=\fP\fIlimite\fP \fB\-\-memlimit\-mt\-decompress=\fP\fIlimite\fP.
.TP 
\fB\-\-no\-adjust\fP
Exibe um erro e saia se o limite de uso de memória não puder ser atendido
sem ajustar as configurações que afetam a saída compactada. Ou seja, isso
evita que \fBxz\fP alterne o codificador do modo multi\-thread para o modo
encadeado único e reduza o tamanho do dicionário LZMA2. Mesmo quando esta
opção é usada, o número de threads pode ser reduzido para atender ao limite
de uso de memória, pois isso não afetará a saída compactada.
.IP ""
O ajuste automático é sempre desativado ao criar fluxos brutos
(\fB\-\-format=raw\fP).
.TP 
\fB\-T\fP \fIthreads\fP, \fB\-\-threads=\fP\fIthreads\fP
Especifica o número de threads de trabalho a serem usados. Definir
\fIthreads\fP para um valor especial \fB0\fP faz com que \fBxz\fP use tantos threads
quanto o(s) processador(es) no suporte do sistema. O número real de
encadeamentos pode ser menor que \fIthreads\fP se o arquivo de entrada não for
grande o suficiente para subdividir em threads com as configurações
fornecidas ou se o uso de mais threads exceder o limite de uso de memória.
.IP ""
Os compactadores usando thread única e várias threads produzem saídas
diferentes. O compactador de thread única fornecerá o menor tamanho de
arquivo, mas apenas a saída do compactador de várias threads pode ser
descompactada usando várias threads. Definir \fIthreads\fP como \fB1\fP usará o
modo de thread única. Definir \fIthreads\fP para qualquer outro valor,
incluindo \fB0\fP, usará o compressor de várias threads, mesmo que o sistema
tenha suporte a apenas uma thread de hardware. (\fBxz\fP 5.2.x usou o modo de
thread única nesta situação.)
.IP ""
Para usar o modo de várias threads com apenas uma thread, defina \fIthreads\fP
como \fB+1\fP. O prefixo \fB+\fP não tem efeito com valores diferentes de \fB1\fP. Um
limite de uso de memória ainda pode fazer \fBxz\fP alternar para o modo de
thread única, a menos que \fB\-\-no\-adjust\fP seja usado. O suporte para o
prefixo \fB+\fP foi adicionado no \fBxz\fP 5.4.0.
.IP ""
Se um número automático de threads foi solicitado e nenhum limite de uso de
memória foi especificado, um limite flexível padrão específico do sistema
será usado para possivelmente limitar o número de threads. É um limite
flexível no sentido de que é ignorado se o número de threads se tornar um,
portanto, um limite flexível nunca impedirá \fBxz\fP de compactar ou
descompactar. Este limite flexível padrão não fará com que \fBxz\fP alterne do
modo de várias threads para o modo de thread única. Os limites ativos podem
ser vistos com \fBxz \-\-info\-memory\fP.
.IP ""
Atualmente, o único método de threading é dividir a entrada em blocos e
comprimi\-los independentemente um do outro. O tamanho padrão do bloco
depende do nível de compactação e pode ser substituído com a opção
\fB\-\-block\-size=\fP\fItamanho\fP.
.IP ""
A descompactação em threads funciona apenas em arquivos que contêm vários
blocos com informações de tamanho nos cabeçalhos dos blocos. Todos os
arquivos grandes o suficiente compactados no modo de várias thread atendem a
essa condição, mas os arquivos compactados no modo de thread única não
atendem, mesmo se \fB\-\-block\-size=\fP\fItamanho\fP tiver sido usado.
.
.SS "Cadeias de filtro de compressor personalizadas"
Uma cadeia de filtro personalizada permite especificar as configurações de
compactação em detalhes, em vez de confiar nas configurações associadas às
predefinições. Quando uma cadeia de filtro personalizada é especificada, as
opções predefinidas (\fB\-0\fP \&...\& \fB\-9\fP e \fB\-\-extreme\fP) anteriores na linha
de comando são esquecidas. Se uma opção predefinida for especificada após
uma ou mais opções de cadeia de filtros personalizados, a nova predefinição
entrará em vigor e as opções de cadeia de filtros personalizados
especificadas anteriormente serão esquecidas.
.PP
Uma cadeia de filtro é comparável à tubulação na linha de comando. Ao
compactar, a entrada descompactada vai para o primeiro filtro, cuja saída
vai para o próximo filtro (se houver). A saída do último filtro é gravada no
arquivo compactado. O número máximo de filtros na cadeia é quatro, mas
normalmente uma cadeia de filtros tem apenas um ou dois filtros.
.PP
Muitos filtros têm limitações sobre onde podem estar na cadeia de filtros:
alguns filtros podem funcionar apenas como o último filtro na cadeia, alguns
apenas como filtro não\-último e alguns funcionam em qualquer posição na
cadeia. Dependendo do filtro, essa limitação é inerente ao projeto do filtro
ou existe para evitar problemas de segurança.
.PP
Uma cadeia de filtro personalizada é especificada usando uma ou mais opções
de filtro na ordem desejada na cadeia de filtro. Ou seja, a ordem das opções
de filtro é significativa! Ao decodificar fluxos brutos (\fB\-\-format=raw\fP), a
cadeia de filtros é especificada na mesma ordem em que foi especificada
durante a compactação.
.PP
Os filtros usam \fIopções\fP específicas do filtro como uma lista separada por
vírgulas. As vírgulas extras em \fIopções\fP são ignoradas. Cada opção tem um
valor padrão, portanto, você precisa especificar apenas aquelas que deseja
alterar.
.PP
Para ver toda a cadeia de filtros e \fIopções\fP, use \fBxz \-vv\fP (isto é, use
\fB\-\-verbose\fP duas vezes). Isso também funciona para visualizar as opções da
cadeia de filtros usadas pelas predefinições.
.TP 
\fB\-\-lzma1\fP[\fB=\fP\fIopções\fP]
.PD 0
.TP 
\fB\-\-lzma2\fP[\fB=\fP\fIopções\fP]
.PD
Adiciona o filtro LZMA1 ou LZMA2 à cadeia de filtros. Esses filtros podem
ser usados apenas como o último filtro na cadeia.
.IP ""
LZMA1 é um filtro legado, que é suportado quase exclusivamente devido ao
formato de arquivo legado \fB.lzma\fP, que suporta apenas LZMA1. LZMA2 é uma
versão atualizada do LZMA1 para corrigir alguns problemas práticos do
LZMA1. O formato \fB.xz\fP usa LZMA2 e não suporta LZMA1. A velocidade de
compactação e as proporções de LZMA1 e LZMA2 são praticamente as mesmas.
.IP ""
LZMA1 e LZMA2 compartilham o mesmo conjunto de \fIopções\fP:
.RS
.TP 
\fBpreset=\fP\fIpredefinição\fP
Redefine todas as \fIopções\fP de LZMA1 ou LZMA2 para
\fIpredefinição\fP. \fIPredefinição\fP consiste em um número inteiro, que pode ser
seguido por modificadores de predefinição de uma única letra. O inteiro pode
ser de \fB0\fP a \fB9\fP, correspondendo às opções de linha de comando \fB\-0\fP
\&...\& \fB\-9\fP. O único modificador suportado atualmente é \fBe\fP, que
corresponde a \fB\-\-extreme\fP. Se nenhum \fBpreset\fP for especificado, os valores
padrão das \fIopções\fP LZMA1 ou LZMA2 serão obtidos da predefinição \fB6\fP.
.TP 
\fBdict=\fP\fItamanho\fP
O \fItamanho\fP do dicionário (buffer de histórico) indica quantos bytes dos
dados não compactados processados recentemente são mantidos na memória. O
algoritmo tenta encontrar sequências de bytes repetidos (correspondências)
nos dados não compactados e substituí\-los por referências aos dados
atualmente no dicionário. Quanto maior o dicionário, maior a chance de
encontrar uma correspondência. Portanto, aumentar o dicionário \fItamanho\fP
geralmente melhora a taxa de compactação, mas um dicionário maior que o
arquivo não compactado é um desperdício de memória.
.IP ""
Um \fItamanho\fP de dicionário típico é de 64\ KiB a 64\ MiB. O mínimo é 4\ KiB. O máximo para compactação é atualmente 1,5\ GiB (1536\ MiB). O
descompactador já oferece suporte a dicionários de até um byte a menos de 4\ GiB, que é o máximo para os formatos de fluxo LZMA1 e LZMA2.
.IP ""
O \fItamanho\fP de dicionário e o localizador de correspondência (\fImf\fP) juntos
determinam o uso de memória do codificador LZMA1 ou LZMA2. O mesmo (ou
maior) \fItamanho\fP de dicionário é necessário para descompactar que foi usado
durante a compactação, portanto, o uso de memória do decodificador é
determinado pelo tamanho do dicionário usado durante a compactação. Os
cabeçalhos \fB.xz\fP armazenam o \fItamanho\fP de dicionário como 2^\fIn\fP ou 2^\fIn\fP
+ 2^(\fIn\fP\-1), então esses \fItamanhos\fP são um tanto preferidos para
compactação. Outros \fItamanhos\fP serão arredondados quando armazenados nos
cabeçalhos \fB.xz\fP.
.TP 
\fBlc=\fP\fIlc\fP
Especifica o número de bits de contexto literais. O mínimo é 0 e o máximo é
4; o padrão é 3. Além disso, a soma de \fIlc\fP e \fIlp\fP não deve exceder 4.
.IP ""
Todos os bytes que não podem ser codificados como correspondências são
codificados como literais. Ou seja, literais são simplesmente bytes de 8
bits que são codificados um de cada vez.
.IP ""
A codificação literal assume que os bits \fIlc\fP mais altos do byte não
compactado anterior se correlacionam com o próximo byte. Por exemplo, em um
texto típico em inglês, uma letra maiúscula geralmente é seguida por uma
letra minúscula, e uma letra minúscula geralmente é seguida por outra letra
minúscula. No conjunto de caracteres US\-ASCII, os três bits mais altos são
010 para letras maiúsculas e 011 para letras minúsculas. Quando \fIlc\fP é pelo
menos 3, a codificação literal pode aproveitar essa propriedade nos dados
não compactados.
.IP ""
O valor padrão (3) geralmente é bom. Se você deseja compactação máxima,
experimente \fBlc=4\fP. Às vezes ajuda um pouco, às vezes piora a
compactação. Se piorar, experimente \fBlc=2\fP também.
.TP 
\fBlp=\fP\fIlp\fP
Especifica o número de bits de posição literal. O mínimo é 0 e o máximo é 4;
o padrão é 0.
.IP ""
\fILp\fP afeta que tipo de alinhamento nos dados não compactados é assumido ao
codificar literais. Consulte \fIpb\fP abaixo para obter mais informações sobre
alinhamento.
.TP 
\fBpb=\fP\fIpb\fP
Especifica o número de bits de posição. O mínimo é 0 e o máximo é 4; o
padrão é 2.
.IP ""
\fIPb\fP afeta que tipo de alinhamento nos dados não compactados é assumido em
geral. O padrão significa alinhamento de quatro bytes (2^\fIpb\fP=2^2=4), que
geralmente é uma boa escolha quando não há melhor estimativa.
.IP ""
Quando o alinhamento é conhecido, definir \fIpb\fP adequadamente pode reduzir
um pouco o tamanho do arquivo. Por exemplo, com arquivos de texto com
alinhamento de um byte (US\-ASCII, ISO\-8859\-*, UTF\-8), a configuração \fBpb=0\fP
pode melhorar um pouco a compactação. Para texto UTF\-16, \fBpb=1\fP é uma boa
escolha. Se o alinhamento for um número ímpar como 3 bytes, \fBpb=0\fP pode ser
a melhor escolha.
.IP ""
Embora o alinhamento assumido possa ser ajustado com \fIpb\fP e \fIlp\fP, LZMA1 e
LZMA2 ainda favorecem ligeiramente o alinhamento de 16 bytes. Pode valer a
pena levar em consideração ao projetar formatos de arquivo que provavelmente
serão compactados com LZMA1 ou LZMA2.
.TP 
\fBmf=\fP\fImf\fP
O localizador de correspondência tem um efeito importante na velocidade do
codificador, uso de memória e taxa de compactação. Normalmente, os
localizadores de correspondência de Hash Chain são mais rápidos do que os
localizadores de correspondência de árvore binária. O padrão depende do
\fIpredefinição\fP: 0 usa \fBhc3\fP, 1\(en3 usa \fBhc4\fP e o resto usa \fBbt4\fP.
.IP ""
Os seguintes localizadores de correspondência são suportados. As fórmulas de
uso de memória abaixo são aproximações aproximadas, que estão mais próximas
da realidade quando \fIdict\fP é uma potência de dois.
.RS
.TP 
\fBhc3\fP
Cadeia de hashs com hashing de 2 e 3 bytes
.br
Valor mínimo para \fInice\fP: 3
.br
Uso de memória:
.br
\fIdict\fP * 7.5 (if \fIdict\fP <= 16 MiB);
.br
\fIdict\fP * 5.5 + 64 MiB (if \fIdict\fP > 16 MiB)
.TP 
\fBhc4\fP
Cadeia de hashs com hashing de 2, 3 e 4 bytes
.br
Valor mínimo para \fInice\fP: 4
.br
Uso de memória:
.br
\fIdict\fP * 7.5 (if \fIdict\fP <= 32 MiB);
.br
\fIdict\fP * 6.5 (if \fIdict\fP > 32 MiB)
.TP 
\fBbt2\fP
Árvore binária com hashing de 2 bytes
.br
Valor mínimo para \fInice\fP: 2
.br
Uso de memória: \fIdict\fP * 9.5
.TP 
\fBbt3\fP
Árvore binária com hashing de 2 e 3 bytes
.br
Valor mínimo para \fInice\fP: 3
.br
Uso de memória:
.br
\fIdict\fP * 11.5 (if \fIdict\fP <= 16 MiB);
.br
\fIdict\fP * 9.5 + 64 MiB (if \fIdict\fP > 16 MiB)
.TP 
\fBbt4\fP
Árvore binária com hashing de 2, 3 e 4 bytes
.br
Valor mínimo para \fInice\fP: 4
.br
Uso de memória:
.br
\fIdict\fP * 11.5 (if \fIdict\fP <= 32 MiB);
.br
\fIdict\fP * 10.5 (if \fIdict\fP > 32 MiB)
.RE
.TP 
\fBmode=\fP\fImodo\fP
O \fImodo\fP de compactação especifica o método para analisar os dados
produzidos pelo localizador de correspondência. Os \fImodos\fP suportados são
\fBfast\fP e \fBnormal\fP. O padrão é \fBfast\fP para \fIpredefinições\fP 0\(en3 e
\fBnormal\fP para \fIpredefinições\fP 4\(en9.
.IP ""
Normalmente, \fBfast\fP é usado com localizadores de correspondência cadeia de
hashs e \fBnormal\fP com localizadores de correspondência de árvore
binária. Isso também é o que os \fIpredefinições\fP fazem.
.TP 
\fBnice=\fP\fInice\fP
Especifica o que é considerado um bom comprimento para uma
correspondência. Uma vez que uma correspondência de pelo menos \fInice\fP bytes
é encontrada, o algoritmo para de procurar correspondências possivelmente
melhores.
.IP ""
\fINice\fP pode ser 2\(en273 bytes. Valores mais altos tendem a fornecer melhor
taxa de compactação em detrimento da velocidade. O padrão depende do
\fIpredefinição\fP.
.TP 
\fBdepth=\fP\fIprofundidade\fP
Especifica a profundidade máxima de pesquisa no localizador de
correspondências. O padrão é o valor especial de 0, que faz com que o
compressor determine um \fIprofundidade\fP razoável de \fImf\fP e \fInice\fP.
.IP ""
Uma \fIprofundidade\fP razoável para cadeias de hash é 4\(en100 e 16\(en1000
para árvores binárias. Usar valores muito altos para \fIprofundidade\fP pode
tornar o codificador extremamente lento com alguns arquivos. Evite definir
\fIprofundidade\fP acima de 1000 a menos que você esteja preparado para
interromper a compactação caso ela esteja demorando muito.
.RE
.IP ""
Ao decodificar fluxos brutos (\fB\-\-format=raw\fP), o LZMA2 precisa apenas do
dicionário \fItamanho\fP. LZMA1 também precisa de \fIlc\fP, \fIlp\fP e \fIpb\fP.
.TP 
\fB\-\-x86\fP[\fB=\fP\fIopções\fP]
.PD 0
.TP 
\fB\-\-arm\fP[\fB=\fP\fIopções\fP]
.TP 
\fB\-\-armthumb\fP[\fB=\fP\fIopções\fP]
.TP 
\fB\-\-arm64\fP[\fB=\fP\fIopções\fP]
.TP 
\fB\-\-powerpc\fP[\fB=\fP\fIopções\fP]
.TP 
\fB\-\-ia64\fP[\fB=\fP\fIopções\fP]
.TP 
\fB\-\-sparc\fP[\fB=\fP\fIopções\fP]
.PD
Adiciona um filtro de ramificação/chamada/salto (BCJ) à cadeia de
filtros. Esses filtros podem ser usados apenas como um filtro não último na
cadeia de filtros.
.IP ""
Um filtro BCJ converte endereços relativos no código de máquina em suas
contrapartes absolutas. Isso não altera o tamanho dos dados, mas aumenta a
redundância, o que pode ajudar o LZMA2 a produzir um arquivo \fB.xz\fP 0\(en15\ % menor. Os filtros BCJ são sempre reversíveis, portanto, usar um filtro BCJ
para o tipo errado de dados não causa nenhuma perda de dados, embora possa
piorar um pouco a taxa de compactação.Os filtros BCJ são muito rápidos e
usam uma quantidade insignificante de memória.
.IP ""
Esses filtros BCJ têm problemas conhecidos relacionados à taxa de
compactação:
.RS
.IP \(bu 3
Alguns tipos de arquivos contendo código executável (por exemplo, arquivos
de objeto, bibliotecas estáticas e módulos do kernel do Linux) têm os
endereços nas instruções preenchidos com valores de preenchimento. Esses
filtros BCJ ainda vão fazer a conversão de endereço, o que vai piorar a
compactação desses arquivos.
.IP \(bu 3
Se um filtro BCJ for aplicado em um arquivo, é possível que isso torne a
taxa de compactação pior do que não usar um filtro BCJ. Por exemplo, se
houver executáveis semelhantes ou mesmo idênticos, a filtragem provavelmente
tornará os arquivos menos semelhantes e, portanto, a compactação será
pior. O conteúdo de arquivos não executáveis no mesmo arquivo também pode
ser importante. Na prática tem que tentar com e sem filtro BCJ para ver qual
é melhor em cada situação.
.RE
.IP ""
Conjuntos de instruções diferentes têm alinhamento diferente: o arquivo
executável deve ser alinhado a um múltiplo desse valor nos dados de entrada
para fazer o filtro funcionar.
.RS
.RS
.PP
.TS
tab(;);
l n l
l n l.
Filtro;Alinhamento;Observações
x86;1;x86 32 bits ou 64 bits
ARM;4;
ARM\-Thumb;2;
ARM64;4;Alinhamento de 4096 bytes
;;é melhor
PowerPC;4;Somente big endian
IA\-64;16;Itanium
SPARC;4;
.TE
.RE
.RE
.IP ""
Como os dados filtrados por BCJ geralmente são compactados com LZMA2, a taxa
de compactação pode melhorar ligeiramente se as opções de LZMA2 forem
definidas para corresponder ao alinhamento do filtro BCJ selecionado. Por
exemplo, com o filtro IA\-64, é bom definir \fBpb=4\fP ou mesmo
\fBpb=4,lp=4,lc=0\fP com LZMA2 (2^4=16). O filtro x86 é uma exceção; geralmente
é bom manter o alinhamento padrão de quatro bytes do LZMA2 ao compactar
executáveis x86.
.IP ""
Todos os filtros BCJ suportam as mesmas \fIopções\fP:
.RS
.TP 
\fBstart=\fP\fIdeslocamento\fP
Especifica o \fIdeslocamento\fP inicial que é usado na conversão entre
endereços relativos e absolutos. O \fIdeslocamento\fP deve ser um múltiplo do
alinhamento do filtro (ver tabela acima). O padrão é zero. Na prática, o
padrão é bom; especificar um \fIdeslocamento\fP personalizado quase nunca é
útil.
.RE
.TP 
\fB\-\-delta\fP[\fB=\fP\fIopções\fP]
Adiciona o filtro Delta à cadeia de filtros. O filtro Delta só pode ser
usado como filtro não\-último na cadeia de filtros.
.IP ""
Atualmente, apenas o cálculo simples de delta byte a byte é suportado. Pode
ser útil ao compactar, por exemplo, imagens bitmap não compactadas ou áudio
PCM não compactado. No entanto, algoritmos de propósito especial podem
fornecer resultados significativamente melhores do que Delta + LZMA2. Isso é
verdade especialmente com áudio, que compacta mais rápido e melhor, por
exemplo, com \fBflac\fP(1).
.IP ""
\fIOpções\fP suportadas:
.RS
.TP 
\fBdist=\fP\fIdistância\fP
Especifica a \fIdistância\fP do cálculo delta em bytes. \fIdistância\fP deve ser
1\(en256. O padrão é 1.
.IP ""
Por exemplo, com \fBdist=2\fP e entrada de oito bytes A1 B1 A2 B3 A3 B5 A4 B7,
a saída será A1 B1 01 02 01 02 01 02.
.RE
.
.SS "Outras opções"
.TP 
\fB\-q\fP, \fB\-\-quiet\fP
Suprime avisos e avisos. Especifique isso duas vezes para suprimir erros
também. Esta opção não tem efeito no status de saída. Ou seja, mesmo que um
aviso tenha sido suprimido, o status de saída para indicar um aviso ainda é
usado.
.TP 
\fB\-v\fP, \fB\-\-verbose\fP
Ser detalhado. Se o erro padrão estiver conectado a um terminal, \fBxz\fP
exibirá um indicador de progresso. Especifique \fB\-\-verbose\fP duas vezes dará
uma saída ainda mais detalhada.
.IP ""
O indicador de progresso mostra as seguintes informações:
.RS
.IP \(bu 3
A porcentagem de conclusão é mostrada se o tamanho do arquivo de entrada for
conhecido. Ou seja, a porcentagem não pode ser mostrada em encadeamentos
(pipe).
.IP \(bu 3
Quantidade de dados compactados produzidos (compactando) ou consumidos
(descompactando).
.IP \(bu 3
Quantidade de dados não compactados consumidos (compactação) ou produzidos
(descompactação).
.IP \(bu 3
Taxa de compactação, que é calculada dividindo a quantidade de dados
compactados processados até o momento pela quantidade de dados não
compactados processados até o momento.
.IP \(bu 3
Velocidade de compactação ou descompactação. Isso é medido como a quantidade
de dados não compactados consumidos (compactação) ou produzidos
(descompactação) por segundo. É mostrado após alguns segundos desde que
\fBxz\fP começou a processar o arquivo.
.IP \(bu 3
Tempo decorrido no formato M:SS ou H:MM:SS.
.IP \(bu 3
O tempo restante estimado é mostrado apenas quando o tamanho do arquivo de
entrada é conhecido e alguns segundos já se passaram desde que \fBxz\fP começou
a processar o arquivo. A hora é mostrada em um formato menos preciso que
nunca tem dois pontos, por exemplo, 2 min 30 s.
.RE
.IP ""
Quando o erro padrão não é um terminal, \fB\-\-verbose\fP fará com que \fBxz\fP
imprima o nome do arquivo, tamanho compactado, tamanho não compactado, taxa
de compactação e possivelmente também a velocidade e o tempo decorrido em
uma única linha para o erro padrão após a compactação ou descompactando o
arquivo. A velocidade e o tempo decorrido são incluídos apenas quando a
operação leva pelo menos alguns segundos. Se a operação não foi concluída,
por exemplo, devido à interrupção do usuário, também é impressa a
porcentagem de conclusão se o tamanho do arquivo de entrada for conhecido.
.TP 
\fB\-Q\fP, \fB\-\-no\-warn\fP
Não define o status de saída como 2, mesmo que uma condição digna de um
aviso tenha sido detectada. Esta opção não afeta o nível de detalhamento,
portanto, tanto \fB\-\-quiet\fP quanto \fB\-\-no\-warn\fP devem ser usados para não
exibir avisos e não alterar o status de saída.
.TP 
\fB\-\-robot\fP
Imprime mensagens em um formato analisável por máquina. Isso visa facilitar
a criação de frontends que desejam usar \fBxz\fP em vez de liblzma, o que pode
ser o caso de vários scripts. A saída com esta opção habilitada deve ser
estável em versões \fBxz\fP. Consulte a seção \fBMODO ROBÔ\fP para obter detalhes.
.TP 
\fB\-\-info\-memory\fP
Exibe, em formato legível por humanos, quanta memória física (RAM) e quantos
threads de processador \fBxz\fP acredita que o sistema possui e os limites de
uso de memória para compactação e descompactação e saia com êxito.
.TP 
\fB\-h\fP, \fB\-\-help\fP
Exibe uma mensagem de ajuda descrevendo as opções mais usadas e sai com
sucesso.
.TP 
\fB\-H\fP, \fB\-\-long\-help\fP
Exibe uma mensagem de ajuda descrevendo todos os recursos de \fBxz\fP e sai com
sucesso
.TP 
\fB\-V\fP, \fB\-\-version\fP
Exibe o número da versão de \fBxz\fP e liblzma em formato legível por
humanos. Para obter uma saída analisável por máquina, especifique \fB\-\-robot\fP
antes de \fB\-\-version\fP.
.
.SH "MODO ROBÔ"
O modo robô é ativado com a opção \fB\-\-robot\fP. Isso torna a saída de \fBxz\fP
mais fácil de ser analisada por outros programas. Atualmente \fB\-\-robot\fP é
suportado apenas junto com \fB\-\-version\fP, \fB\-\-info\-memory\fP e \fB\-\-list\fP. Ele
terá suporte para compactação e descompactação no futuro.
.
.SS Versão
\fBxz \-\-robot \-\-version\fP imprimirá o número da versão de \fBxz\fP e liblzma no
seguinte formato:
.PP
\fBXZ_VERSION=\fP\fIXYYYZZZS\fP
.br
\fBLIBLZMA_VERSION=\fP\fIXYYYZZZS\fP
.TP 
\fIX\fP
Versão principal.
.TP 
\fIYYY\fP
Versão menor. Números pares são estáveis. Os números ímpares são versões
alfa ou beta.
.TP 
\fIZZZ\fP
Nível de patch para versões estáveis ou apenas um contador para versões de
desenvolvimento.
.TP 
\fIS\fP
Estabilidade. 0 é alfa, 1 é beta e 2 é estável. \fIS\fP deve ser sempre 2
quando \fIYYY\fP for par.
.PP
\fIXYYYZZZS\fP são iguais em ambas as linhas se \fBxz\fP e liblzma forem da mesma
versão do XZ Utils.
.PP
Exemplos: 4.999.9beta é \fB49990091\fP e 5.0.0 é \fB50000002\fP.
.
.SS "Informações de limite de memória"
\fBxz \-\-robot \-\-info\-memory\fP imprime uma única linha com três colunas
separadas por tabulações:
.IP 1. 4
Quantidade total de memória física (RAM) em bytes.
.IP 2. 4
Limite de uso de memória para compactação em bytes
(\fB\-\-memlimit\-compress\fP). Um valor especial de \fB0\fP indica a configuração
padrão que para o modo de thread única é o mesmo que sem limite.
.IP 3. 4
Limite de uso de memória para descompactação em bytes
(\fB\-\-memlimit\-decompress\fP). Um valor especial de \fB0\fP indica a configuração
padrão que para o modo de thread única é o mesmo que sem limite.
.IP 4. 4
Desde \fBxz\fP 5.3.4alpha: Uso de memória para descompactação com várias thread
em bytes (\fB\-\-memlimit\-mt\-decompress\fP). Isso nunca é zero porque um valor
padrão específico do sistema mostrado na coluna 5 é usado se nenhum limite
for especificado explicitamente. Isso também nunca é maior que o valor na
coluna 3, mesmo que um valor maior tenha sido especificado com
\fB\-\-memlimit\-mt\-decompress\fP.
.IP 5. 4
Desde \fBxz\fP 5.3.4alpha: Um limite de uso de memória padrão específico do
sistema que é usado para limitar o número de threads ao compactar com um
número automático de threads (\fB\-\-threads=0\fP) e nenhum limite de uso de
memória foi especificado (\fB\-\-memlimit\-compress\fP). Isso também é usado como
o valor padrão para \fB\-\-memlimit\-mt\-decompress\fP.
.IP 6. 4
Desde \fBxz\fP 5.3.4alpha: Número de threads de processador disponíveis.
.PP
No futuro, a saída de \fBxz \-\-robot \-\-info\-memory\fP pode ter mais colunas, mas
nunca mais do que uma única linha.
.
.SS "Modo lista"
\fBxz \-\-robot \-\-list\fP usa saída separada por tabulações. A primeira coluna de
cada linha possui uma string que indica o tipo de informação encontrada
naquela linha:
.TP 
\fBname\fP
Esta é sempre a primeira linha ao começar a listar um arquivo. A segunda
coluna na linha é o nome do arquivo.
.TP 
\fBfile\fP
Esta linha contém informações gerais sobre o arquivo \fB.xz\fP. Esta linha é
sempre impressa após a linha \fBname\fP.
.TP 
\fBstream\fP
Este tipo de linha é usado somente quando \fB\-\-verbose\fP foi
especificado. Existem tantas linhas de \fBstream\fP quanto fluxos no arquivo
\&\fB.xz\fP.
.TP 
\fBblock\fP
Este tipo de linha é usado somente quando \fB\-\-verbose\fP foi
especificado. Existem tantas linhas \fBblock\fP quanto blocos no arquivo
\&\fB.xz\fP. As linhas \fBblock\fP são mostradas após todas as linhas \fBstream\fP;
diferentes tipos de linha não são intercalados.
.TP 
\fBsummary\fP
Este tipo de linha é usado apenas quando \fB\-\-verbose\fP foi especificado duas
vezes. Esta linha é impressa após todas as linhas de \fBblock\fP. Assim como a
linha \fBarquivo\fP, a linha \fBsummary\fP contém informações gerais sobre o
arquivo \fB.xz\fP.
.TP 
\fBtotals\fP
Esta linha é sempre a última linha da saída da lista. Ele mostra as
contagens totais e tamanhos.
.PP
As colunas das linhas \fBfile\fP:
.PD 0
.RS
.IP 2. 4
Número de fluxos no arquivo
.IP 3. 4
Número total de blocos no(s) fluxo(s)
.IP 4. 4
Tamanho compactado do arquivo
.IP 5. 4
Uncompressed size of the file
.IP 6. 4
Taxa de compactação, por exemplo, \fB0.123\fP. Se a proporção for superior a
9.999, serão exibidos três traços (\fB\-\-\-\fP) em vez da proporção.
.IP 7. 4
Lista separada por vírgulas de nomes de verificação de integridade. As
seguintes strings são usadas para os tipos de verificação conhecidos:
\fBNone\fP, \fBCRC32\fP, \fBCRC64\fP e \fBSHA\-256\fP. Para tipos de verificações
desconhecidos, \fBUnknown\-\fP\fIN\fP é usado, onde \fIN\fP é o ID do cheque como um
número decimal (um ou dois dígitos).
.IP 8. 4
Tamanho total do preenchimento de fluxo no arquivo
.RE
.PD
.PP
As colunas das linhas \fBstream\fP:
.PD 0
.RS
.IP 2. 4
Número do fluxo (o primeiro fluxo é 1)
.IP 3. 4
Número de blocos no fluxo
.IP 4. 4
Deslocamento inicial compactado
.IP 5. 4
Deslocamento inicial descompactado
.IP 6. 4
Tamanho compactado (não inclui preenchimento de fluxo)
.IP 7. 4
Tamanho descompactado
.IP 8. 4
Taxa de compactação
.IP 9. 4
Nome da verificação de integridade
.IP 10. 4
Tamanho do preenchimento do fluxo
.RE
.PD
.PP
As colunas das linhas \fBblock\fP:
.PD 0
.RS
.IP 2. 4
Número do fluxo que contém este bloco
.IP 3. 4
Número do bloco relativo ao início do fluxo (o primeiro bloco é 1)
.IP 4. 4
Número do bloco relativo ao início do arquivo
.IP 5. 4
Deslocamento inicial compactado em relação ao início do arquivo
.IP 6. 4
Deslocamento inicial descompactado em relação ao início do arquivo
.IP 7. 4
Tamanho total compactado do bloco (inclui cabeçalhos)
.IP 8. 4
Tamanho descompactado
.IP 9. 4
Taxa de compactação
.IP 10. 4
Nome da verificação de integridade
.RE
.PD
.PP
Se \fB\-\-verbose\fP for especificado duas vezes, colunas adicionais serão
incluídas nas linhas \fBblock\fP. Eles não são exibidos com um único
\fB\-\-verbose\fP, porque obter essas informações requer muitas buscas e,
portanto, pode ser lento:
.PD 0
.RS
.IP 11. 4
Valor da verificação de integridade em hexadecimal
.IP 12. 4
Tamanho do cabeçalho do bloco
.IP 13. 4
Sinalizadores de bloco: \fBc\fP indica que o tamanho compactado está presente e
\fBu\fP indica que o tamanho não compactado está presente. Se o sinalizador não
estiver definido, um traço (\fB\-\fP) será exibido para manter o comprimento da
string fixo. Novos sinalizadores podem ser adicionados ao final da string no
futuro.
.IP 14. 4
Tamanho dos dados reais compactados no bloco (isso exclui o cabeçalho do
bloco, o preenchimento do bloco e os campos de verificação)
.IP 15. 4
Quantidade de memória (em bytes) necessária para descompactar este bloco com
esta versão \fBxz\fP
.IP 16. 4
Cadeia de filtro. Observe que a maioria das opções usadas no momento da
compactação não pode ser conhecida, pois apenas as opções necessárias para a
descompactação são armazenadas nos cabeçalhos \fB.xz\fP.
.RE
.PD
.PP
As colunas das linhas \fBsummary\fP:
.PD 0
.RS
.IP 2. 4
Quantidade de memória (em bytes) necessária para descompactar este arquivo
com esta versão do \fBxz\fP
.IP 3. 4
\fByes\fP ou \fBno\fP indicando se todos os cabeçalhos de bloco têm tamanho
compactado e tamanho não compactado armazenados neles
.PP
\fIDesde\fP \fBxz\fP \fI5.1.2alpha:\fP
.IP 4. 4
Versão mínima do \fBxz\fP necessária para descompactar o arquivo
.RE
.PD
.PP
As colunas da linha \fBtotals\fP:
.PD 0
.RS
.IP 2. 4
Número de fluxos
.IP 3. 4
Número de blocos
.IP 4. 4
Tamanho compactado
.IP 5. 4
Tamanho descompactado
.IP 6. 4
Taxa de compactação média
.IP 7. 4
Lista separada por vírgulas de nomes de verificação de integridade que
estavam presentes nos arquivos
.IP 8. 4
Tamanho do preenchimento do fluxo
.IP 9. 4
Número de arquivos. Isso está aqui para manter a ordem das colunas
anteriores a mesma das linhas \fBfile\fP.
.PD
.RE
.PP
Se \fB\-\-verbose\fP for especificado duas vezes, colunas adicionais serão
incluídas na linha \fBtotals\fP:
.PD 0
.RS
.IP 10. 4
Quantidade máxima de memória (em bytes) necessária para descompactar os
arquivos com esta versão do \fBxz\fP
.IP 11. 4
\fByes\fP ou \fBno\fP indicando se todos os cabeçalhos de bloco têm tamanho
compactado e tamanho não compactado armazenados neles
.PP
\fIDesde\fP \fBxz\fP \fI5.1.2alpha:\fP
.IP 12. 4
Versão mínima do \fBxz\fP necessária para descompactar o arquivo
.RE
.PD
.PP
Versões futuras podem adicionar novos tipos de linha e novas colunas podem
ser adicionadas aos tipos de linha existentes, mas as colunas existentes não
serão alteradas.
.
.SH "STATUS DE SAÍDA"
.TP 
\fB0\fP
Está tudo bem.
.TP 
\fB1\fP
Ocorreu um erro.
.TP 
\fB2\fP
Algo digno de um aviso ocorreu, mas ocorreu nenhum erro real.
.PP
Observações (não avisos ou erros) impressas no erro padrão não afetam o
status de saída.
.
.SH AMBIENTE
\fBxz\fP analisa listas de opções separadas por espaços das variáveis de
ambiente \fBXZ_DEFAULTS\fP e \fBXZ_OPT\fP, nesta ordem, antes de analisar as
opções da linha de comando. Observe que apenas as opções são analisadas a
partir das variáveis de ambiente; todas as não opções são silenciosamente
ignoradas. A análise é feita com \fBgetopt_long\fP(3) que também é usado para
os argumentos da linha de comando.
.TP 
\fBXZ_DEFAULTS\fP
Opções padrão específicas do usuário ou de todo o sistema. Normalmente, isso
é definido em um script de inicialização do shell para habilitar o limitador
de uso de memória do \fBxz\fP por padrão. Excluindo scripts de inicialização de
shell e casos especiais semelhantes, os scripts nunca devem definir ou
remover a definição de \fBXZ_DEFAULTS\fP.
.TP 
\fBXZ_OPT\fP
Isso é para passar opções para \fBxz\fP quando não é possível definir as opções
diretamente na linha de comando \fBxz\fP. Este é o caso quando \fBxz\fP é
executado por um script ou ferramenta, por exemplo, GNU \fBtar\fP(1):
.RS
.RS
.PP
.nf
\f(CWXZ_OPT=\-2v tar caf foo.tar.xz foo\fP
.fi
.RE
.RE
.IP ""
Os scripts podem usar \fBXZ_OPT\fP, por exemplo, para definir opções de
compactação padrão específicas do script. Ainda é recomendável permitir que
os usuários substituam \fBXZ_OPT\fP se isso for razoável. Por exemplo, em
scripts \fBsh\fP(1) pode\-se usar algo assim:
.RS
.RS
.PP
.nf
\f(CWXZ_OPT=${XZ_OPT\-"\-7e"} export XZ_OPT\fP
.fi
.RE
.RE
.
.SH "COMPATIBILIDADE COM LZMA UTILS"
A sintaxe da linha de comando do \fBxz\fP é praticamente um superconjunto de
\fBlzma\fP, \fBunlzma\fP e \fBlzcat\fP conforme encontrado no LZMA Utils 4.32.x. Na
maioria dos casos, é possível substituir LZMA Utils por XZ Utils sem
interromper os scripts existentes. Existem algumas incompatibilidades,
porém, que às vezes podem causar problemas.
.
.SS "Níveis de predefinição de compactação"
A numeração das predefinições de nível de compactação não é idêntica em
\fBxz\fP e LZMA Utils. A diferença mais importante é como os tamanhos dos
dicionários são mapeados para diferentes predefinições. O tamanho do
dicionário é aproximadamente igual ao uso de memória do descompactador.
.RS
.PP
.TS
tab(;);
c c c
c n n.
Nível;xz;LZMA Utils
\-0;256 KiB;N/D
\-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
As diferenças de tamanho do dicionário também afetam o uso da memória do
compressor, mas existem algumas outras diferenças entre LZMA Utils e XZ
Utils, que tornam a diferença ainda maior:
.RS
.PP
.TS
tab(;);
c c c
c n n.
Nível;xz;LZMA Utils 4.32.x
\-0;3 MiB;N/D
\-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
O nível de predefinição padrão no LZMA Utils é \fB\-7\fP enquanto no XZ Utils é
\fB\-6\fP, então ambos usam um dicionário de 8 MiB por padrão.
.
.SS "Arquivos .lzma em um fluxo versus sem ser em um fluxo"
O tamanho descompactado do arquivo pode ser armazenado no cabeçalho de
\&\fB.lzma\fP. O LZMA Utils faz isso ao compactar arquivos comuns. A alternativa
é marcar que o tamanho não compactado é desconhecido e usar o marcador de
fim de carga útil para indicar onde o descompactador deve parar. O LZMA
Utils usa este método quando o tamanho não compactado não é conhecido, como
é o caso, por exemplo, de encadeamentos (pipes).
.PP
\fBxz\fP oferece suporte à descompactação de arquivos \fB.lzma\fP com ou sem
marcador de fim de carga útil, mas todos os arquivos \fB.lzma\fP criados por
\fBxz\fP usarão marcador de fim de carga útil e terão o tamanho descompactado
marcado como desconhecido no cabeçalho de \fB.lzma\fP. Isso pode ser um
problema em algumas situações incomuns. Por exemplo, um descompactador de
\&\fB.lzma\fP em um dispositivo embarcado pode funcionar apenas com arquivos que
tenham tamanho descompactado conhecido. Se você encontrar esse problema,
precisará usar o LZMA Utils ou o LZMA SDK para criar arquivos \fB.lzma\fP com
tamanho descompactado conhecido.
.
.SS "Arquivos .lzma não suportados"
O formato \fB.lzma\fP permite valores \fIlc\fP até 8 e valores \fIlp\fP até 4. LZMA
Utils pode descompactar arquivos com qualquer \fIlc\fP e \fIlp\fP, mas sempre cria
arquivos com \fBlc=3\fP e \fBlp=0\fP. Criar arquivos com outros \fIlc\fP e \fIlp\fP é
possível com \fBxz\fP e com LZMA SDK.
.PP
A implementação do filtro LZMA1 em liblzma requer que a soma de \fIlc\fP e
\fIlp\fP não exceda 4. Assim, arquivos \fB.lzma\fP, que excedam esta limitação,
não podem ser descompactados com \fBxz\fP.
.PP
LZMA Utils cria apenas arquivos \fB.lzma\fP que possuem um tamanho de
dicionário de 2^\fIn\fP (uma potência de 2), mas aceita arquivos com qualquer
tamanho de dicionário. liblzma aceita apenas arquivos \fB.lzma\fP que tenham um
tamanho de dicionário de 2^\fIn\fP ou 2^\fIn\fP + 2^(\fIn\fP\-1). Isso é para diminuir
os falsos positivos ao detectar arquivos \fB.lzma\fP.
.PP
Essas limitações não devem ser um problema na prática, já que praticamente
todos os arquivos \fB.lzma\fP foram compactados com configurações que o liblzma
aceitará.
.
.SS "Lixo à direita"
Ao descompactar, o LZMA Utils silenciosamente ignora tudo após o primeiro
fluxo \fB.lzma\fP. Na maioria das situações, isso é um bug. Isso também
significa que o LZMA Utils não oferece suporte a descompactação de arquivos
\&\fB.lzma\fP concatenados.
.PP
Se houver dados restantes após o primeiro fluxo de \fB.lzma\fP, \fBxz\fP considera
o arquivo corrompido, a menos que \fB\-\-single\-stream\fP tenha sido usado. Isso
pode quebrar scripts obscuros que presumiram que o lixo à direita é
ignorado.
.
.SH NOTAS
.
.SS "A saída compactada pode variar"
A saída compactada exata produzida a partir do mesmo arquivo de entrada não
compactado pode variar entre as versões do XZ Utils, mesmo se as opções de
compactação forem idênticas. Isso ocorre porque o codificador pode ser
aprimorado (compactação mais rápida ou melhor) sem afetar o formato do
arquivo. A saída pode variar mesmo entre diferentes compilações da mesma
versão do XZ Utils, se diferentes opções de compilação forem usadas.
.PP
A informação acima significa que, uma vez que \fB\-\-rsyncable\fP tenha sido
implementado, os arquivos resultantes não serão necessariamente
"rsyncáveis", a menos que os arquivos antigos e novos tenham sido
compactados com a mesma versão xz. Esse problema pode ser corrigido se uma
parte da implementação do codificador for congelada para manter a saída de
rsyncable estável nas versões do xz.
.
.SS "Descompactadores .xz embarcados"
As implementações do descompactador \fB.xz\fP embarcados, como o XZ Embedded,
não oferecem necessariamente suporte a arquivos criados com tipos de
\fIverificações\fP de integridade diferentes de \fBnone\fP e \fBcrc32\fP. Como o
padrão é \fB\-\-check=crc64\fP, você deve usar \fB\-\-check=none\fP ou
\fB\-\-check=crc32\fP ao criar arquivos para sistemas embarcados.
.PP
Fora dos sistemas embarcados, todos os descompactadores de formato \fB.xz\fP
oferecem suporte a todos os tipos de \fIverificação\fP ou, pelo menos, são
capazes de descompactar o arquivo sem verificar a verificação de integridade
se a \fIverificação\fP específica não for suportada.
.PP
XZ Embedded oferece suporte a filtros BCJ, mas apenas com o deslocamento
inicial padrão.
.
.SH EXEMPLOS
.
.SS Básico
Compactar o arquivo \fIfoo\fP em \fIfoo.xz\fP usando o nível de compactação padrão
(\fB\-6\fP) e remover \fIfoo\fP se a compactação for bem\-sucedida:
.RS
.PP
.nf
\f(CWxz foo\fP
.fi
.RE
.PP
Descompactar \fIbar.xz\fP em \fIbar\fP e não remover \fIbar.xz\fP mesmo se a
descompactação for bem\-sucedida:
.RS
.PP
.nf
\f(CWxz \-dk bar.xz\fP
.fi
.RE
.PP
Criar \fIbaz.tar.xz\fP com a predefinição \fB\-4e\fP (\fB\-4 \-\-extreme\fP), que é mais
lenta que o padrão \fB\-6\fP, mas precisa de menos memória para compactação e
descompactação (48 \ MiB e 5\ MiB, respectivamente):
.RS
.PP
.nf
\f(CWtar cf \- baz | xz \-4e > baz.tar.xz\fP
.fi
.RE
.PP
Uma mistura de arquivos compactados e descompactados pode ser descompactada
para a saída padrão com um único comando:
.RS
.PP
.nf
\f(CWxz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt\fP
.fi
.RE
.
.SS "Compactação paralela de muitos arquivos"
No GNU e *BSD, \fBfind\fP(1) e \fBxargs\fP(1) podem ser usados para paralelizar a
compactação de muitos arquivos:
.RS
.PP
.nf
\f(CWfind . \-type f \e! \-name '*.xz' \-print0 \e     | xargs \-0r \-P4 \-n16 xz \-T1\fP
.fi
.RE
.PP
A opção \fB\-P\fP para \fBxargs\fP(1) define o número de processos paralelos do
\fBxz\fP. O melhor valor para a opção \fB\-n\fP depende de quantos arquivos devem
ser compactados. Se houver apenas alguns arquivos, o valor provavelmente
deve ser 1; com dezenas de milhares de arquivos, 100 ou até mais podem ser
apropriados para reduzir o número de processos de \fBxz\fP que \fBxargs\fP(1)
eventualmente criará.
.PP
A opção \fB\-T1\fP para \fBxz\fP existe para forçá\-lo ao modo de thread única,
porque \fBxargs\fP(1) é usado para controlar a quantidade de paralelização.
.
.SS "Modo robô"
Calcular quantos bytes foram salvos no total depois de compactar vários
arquivos:
.RS
.PP
.nf
\f(CWxz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}'\fP
.fi
.RE
.PP
Um script pode querer saber que está usando \fBxz\fP novo o suficiente. O
seguinte script \fBsh\fP(1) verifica se o número da versão da ferramenta \fBxz\fP
é pelo menos 5.0.0. Este método é compatível com versões beta antigas, que
não suportavam a opção \fB\-\-robot\fP:
.RS
.PP
.nf
\f(CWif ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" ||         [ "$XZ_VERSION" \-lt 50000002 ]; then     echo "Your xz is too old." fi unset XZ_VERSION LIBLZMA_VERSION\fP
.fi
.RE
.PP
Definir um limite de uso de memória para descompactação usando \fBXZ_OPT\fP,
mas se um limite já tiver sido definido, não o aumentar:
.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 "Cadeias de filtro de compressor personalizadas"
O uso mais simples para cadeias de filtro personalizadas é personalizar uma
predefinição LZMA2. Isso pode ser útil, porque as predefinições abrangem
apenas um subconjunto das combinações potencialmente úteis de configurações
de compactação.
.PP
As colunas CompCPU das tabelas das descrições das opções \fB\-0\fP ... \fB\-9\fP e
\fB\-\-extreme\fP são úteis ao personalizar as predefinições LZMA2. Aqui estão as
partes relevantes coletadas dessas duas tabelas:
.RS
.PP
.TS
tab(;);
c c
n n.
Predefinição;CompCPU
\-0;0
\-1;1
\-2;2
\-3;3
\-4;4
\-5;5
\-6;6
\-5e;7
\-6e;8
.TE
.RE
.PP
Se você sabe que um arquivo requer um dicionário um tanto grande (por
exemplo, 32\ MiB) para compactar bem, mas deseja comprimi\-lo mais
rapidamente do que \fBxz \-8\fP faria, uma predefinição com um valor CompCPU
baixo (por exemplo, 1) pode ser modificado para usar um dicionário maior:
.RS
.PP
.nf
\f(CWxz \-\-lzma2=preset=1,dict=32MiB foo.tar\fP
.fi
.RE
.PP
Com certos arquivos, o comando acima pode ser mais rápido que \fBxz \-6\fP
enquanto compacta significativamente melhor. No entanto, deve\-se enfatizar
que apenas alguns arquivos se beneficiam de um grande dicionário, mantendo o
valor CompCPU baixo. A situação mais óbvia, onde um grande dicionário pode
ajudar muito, é um arquivo contendo arquivos muito semelhantes de pelo menos
alguns megabytes cada. O tamanho do dicionário deve ser significativamente
maior do que qualquer arquivo individual para permitir que o LZMA2 aproveite
ao máximo as semelhanças entre arquivos consecutivos.
.PP
Se o uso muito alto de memória do compactador e do descompactador for bom e
o arquivo que está sendo compactado tiver pelo menos várias centenas de
megabytes, pode ser útil usar um dicionário ainda maior do que os 64 MiB que
o \fBxz \-9\fP usaria:
.RS
.PP
.nf
\f(CWxz \-vv \-\-lzma2=dict=192MiB big_foo.tar\fP
.fi
.RE
.PP
Usar \fB\-vv\fP (\fB\-\-verbose \-\-verbose\fP) como no exemplo acima pode ser útil
para ver os requisitos de memória do compactador e do
descompactador. Lembre\-se que usar um dicionário maior que o tamanho do
arquivo descompactado é desperdício de memória, então o comando acima não é
útil para arquivos pequenos.
.PP
Às vezes, o tempo de compactação não importa, mas o uso de memória do
descompactador deve ser mantido baixo, por exemplo, para possibilitar a
descompactação do arquivo em um sistema embarcado. O comando a seguir usa
\fB\-6e\fP (\fB\-6 \-\-extreme\fP) como base e define o dicionário como apenas 64\ KiB. O arquivo resultante pode ser descompactado com XZ Embedded (é por isso
que existe \fB\-\-check=crc32\fP) usando cerca de 100\ KiB de memória.
.RS
.PP
.nf
\f(CWxz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo\fP
.fi
.RE
.PP
Se você deseja espremer o máximo de bytes possível, ajustar o número de bits
de contexto literal (\fIlc\fP) e o número de bits de posição (\fIpb\fP) às vezes
pode ajudar. Ajustar o número de bits de posição literal (\fIlp\fP) também pode
ajudar, mas geralmente \fIlc\fP e \fIpb\fP são mais importantes. Por exemplo, um
arquivo de código\-fonte contém principalmente texto US\-ASCII, então algo
como o seguinte pode fornecer um arquivo ligeiramente (como 0,1\ %) menor
que \fBxz \-6e\fP (tente também sem \fBlc=4\fP):
.RS
.PP
.nf
\f(CWxz \-\-lzma2=preset=6e,pb=0,lc=4 source_code.tar\fP
.fi
.RE
.PP
O uso de outro filtro junto com o LZMA2 pode melhorar a compactação com
determinados tipos de arquivo. Por exemplo, para compactar uma biblioteca
compartilhada x86\-32 ou x86\-64 usando o filtro x86 BCJ:
.RS
.PP
.nf
\f(CWxz \-\-x86 \-\-lzma2 libfoo.so\fP
.fi
.RE
.PP
Observe que a ordem das opções de filtro é significativa. Se \fB\-\-x86\fP for
especificado após \fB\-\-lzma2\fP, \fBxz\fP dará um erro, porque não pode haver
nenhum filtro após LZMA2 e também porque o filtro x86 BCJ não pode ser usado
como o último filtro em a corrente.
.PP
O filtro Delta junto com LZMA2 pode dar bons resultados com imagens
bitmap. Ele geralmente deve superar o PNG, que possui alguns filtros mais
avançados do que o delta simples, mas usa Deflate para a compactação real.
.PP
A imagem deve ser salva em formato não compactado, por exemplo, como TIFF
não compactado. O parâmetro de distância do filtro Delta é definido para
corresponder ao número de bytes por pixel na imagem. Por exemplo, bitmap RGB
de 24 bits precisa de \fBdist=3\fP, e também é bom passar \fBpb=0\fP para LZMA2
para acomodar o alinhamento de três bytes:
.RS
.PP
.nf
\f(CWxz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff\fP
.fi
.RE
.PP
Se várias imagens foram colocadas em um único arquivo (por exemplo,
\&\fB.tar\fP), o filtro Delta também funcionará, desde que todas as imagens
tenham o mesmo número de bytes por pixel.
.
.SH "VEJA TAMBÉM"
\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>