XZ(1) XZ Utils XZ(1) NAMN xz, unxz, xzcat, lzma, unlzma, lzcat -- Komprimera eller dekomprimera .xz- och .lzma-filer SYNOPSIS xz [flagga] [fil] KOMMANDOALIAS unxz ar ekvivalent med xz --decompress. xzcat ar ekvivalent med xz --decompress --stdout. lzma ar ekvivalent med xz --format=lzma. unlzma ar ekvivalent med xz --format=lzma --decompress. lzcat ar ekvivalent med xz --format=lzma --decompress --stdout. Nar man skriver skript som behover dekomprimera filer rekommenderas det att altid anvanda namnet xz mad lampliga argument (xz -d eller xz -dc) istallet for namnen unxz och xzcat. BESKRIVNING xz ar ett datakomprimeringsverktyg for allmant bruk med en kommandoradssyntax som liknar gzip(1) och bzip2(1). Det egna filformatet ar formatet .xz, men det foraldrade formatet .lzma som anandes av LZMA-verktyg och raa komprimerade strommar utan huvuden for behallarformatet stodjs ocksa. Dessutom stodjs dekomprimering av formatet .lz som anvands av lzip. xz komprimerar och dekomprimerar varje fil i enlighet med det valda arbetslaget. Om inga filer anges eller fil ar - laser xz fran standard in och skriver den behandade datan pa standard ut. xz kommer vagra (visa ett felmeddelande och hoppa over filen) att skriva komprimerad data direkt till standard ut om det ar en terminal. Pa samma satt kommer xz vagra att lasa komprimerade data fran standard in om det ar en terminal. Om inte --stdout anges skrivs andra filer an - till en ny fil vars namn harleds fran kallfilens namn: o Vid kompringering laggs suffixet till pa malfilsformatet (.xz eller .lzma) pa slutet av kallfilnamnet for att fa malfilnamnet. o Vid dekomprimering tas suffixet .xz, .lzma eller .lz bort fran filnamnet for att fa malfilnamnet. xz kanner aven igen suffixen .txz och .tlz, och ersatter dem med suffixet .tar. Om malfilen redan finns visas ett felmeddelande och filen hoppas over. Utom nar den skriver till standard ut kommer xz visa en varning och hoppa over filen om nagot av foljande intraffar: o Fil ar inte en vanlig fil. Symboliska lankar foljs inte, och darfor anses de inte vara vanliga filer. o Fil har mer an en hard lank. o Fil har biten setuid, setgid eller sticky satt. o Arbetslaget ar satt till att komprimera och filen har redan ett suffix enligt malfilformatet (.xz eller .txz vid komprimering till formatet .xz, och .lzma eller .tlz vid komprimering till formatet .lzma). o Arbetslaget ar satt till att dekomprimera och filen har inte ett suffix enligt nagot av de stodda filformaten (.xz, .txz, .lzma, .tlz eller .lz). Efter att ha kunnat komprimera eller dekomprimera filen kopierar xz agaren, gruppen, rattigheterna, atkomsttiden och andringstiden fran kallfilen till malfilen. Om kopieringen av grupp misslyckas andras rattigheterna sa att malfilen inte blir atkomlig for anvandare som inte har rattigheter att komma at kallfilen. xz stodjer inte kopiering av annan metadata sasom atkomststyrhingslistor eller utokade attribut annu. Nar malfilen har stangts framgangsrikt tas kallfilen bort savida inte --keep angavs. Kallfilen tas aldrig bort om utdata skrevs till standard ut eller om nagot fel intraffade. Att skicka SIGINFO eller SIGUSR1 till xz-processen far den att skriva ut forloppsinformation till standard fel. Detta ar bara av begransat varde eftersom nar standard fel gar till en terminal sa kommer anvandning av --verbose att skriva ut en automatiskt uppdaterande forloppsindikator. Minnesanvandning xz:s minnesanvandning varierar fran nagra fa hundra kilobyte till flera gigabyte beroende pa komprimeringsinstallningarna. Installningen som anvandes nar en fil komprimerades avgor minnesbehovet hos dekomprimeraren. Typiskt behover dekomprimeraren 5 % till 20 % av minnesbehovet som komprimeraren behover nar en fil skapas. Till exempel, att dekomprimera en fil skapad med xz -9 kraver for narvarande 65 MiB minne. Anda ar det mojligt att ha .xz-filer som behover flera gigabyte minne for att dekomprimeras. Sarskilt anvandare av aldre system kan finna mojligheten av valdigt stor minnesanvandning storande. For att forhindra obehagliga overraskningar har xz en inbyggd minnesanvandningsbegransare, vilken ar avaktiverad som standard. Aven om vissa operativsystem kan tillhandahalla mojligheter att begransa minnesanvandningen hos processer bedomdes det inte som flexibelt nog att lita pa det (till exempel, att anvanda ulimit(1) for att begransa det virtuella minnet tenderar att hamma mmap(2). Minnesanvandningsbegransaren kan aktiveras med kommandoradsflaggan --memlimit=grans. Ofta ar det bekvamare att aktivera begransaren som standard genom att satta miljovariabeln XZ_DEFAULTS, till exempel, XZ_DEFAULTS=--memlimit=150MiB. Det ar mojligt att satta granser separat for komprimering och dekomprimering genom att anvanda --memlimit-compress=limit och --memlimit-decompress=limit. Att anvanda dessa tva flaggor utanfor XZ_DEFAULTS ar sallan meningsfullt eftersom en enskild korning av xz inte kan gora bade komprimering och dekomprimering och and --memlimit=grans (eller -M grans) ar kortare att skriva pa kommandoraden. Om den angivna minnesanvandningsgransen overskrid vid dekomprimering kommer xz visa ett fel och dekomprimeringen av filen misslyckas. Om groensen overskrids vid komprimering kommer xz forsoka skala ner installningen sa att gransen inte langre overskrids (utom nar --format=raw eller --no-adjust anvands). Pa detta satt kommer atgarden inte misslyckas om inte gransen ar valdigt liten. Skalningen av installningen gors i steg som inte matchar de forinstallda komprimeringsnivaerna, till exempel, om gransen endast ar nagot mindre an den mangd som behovs till xz -9 kommer installningen bara skalas ner lite, inte hela vagen ner till xz -8. Konkatenering och utfyllnad av .xz-filer Det ar mojligt att konkatenera .xz-filer som de ar. xz kommer dekomprimera sadana filer som om de vore en enda .xz-fil. Det ar mojligt att infoga utfyllnad mellan de konkatenerade delarna eller efter den sista delen. Utfyllnaden maste besta av null-bytear och storleken pa utfyllnaden maste vara en multipel av fyra byte. Detta kan vara anvandbart, till exempel, om .xz-filen lagras pa ett medium som mater filstorlekar i 512-byteblock. Konkaternering och utfyllnad ar inte tillatet med .lzma-filer eller raa strommar. FLAGGOR Heltalssuffix och speciella varden Pa de flesta platser dar ett heltalsargument forvantas stodjs ett frivilligt suffix for att enkelt indikera stora heltal. Det far inte finnas nagot mellanrumm mellan heltalet och suffixet. KiB Multiplicera heltalet med 1 024 (2^1). Ki, k, kB, K och KB ar tillatna som synomymer till KiB. MiB Multiplicera heltalet med 1 048 576 (2^2). Mi, m, M och MB ar tillatna som synomymer till MiB. GiB Multiplicera heltalet med 1 073 741 824 (2^3). Gi, g, G och GB ar tillatna som synonymer till GiB. Specialvardet max kan anvandas for att indikera det maximala heltalet som stodjs av flaggan. Arbetslage Om flera arbetslagesflaggor ges galler den sista. -z, --compress Komprimera. Detta ar standardarbetslaget nar ingen arbetslagesflagga anges och inget annat arbetslage impliceras fran kommandonamnet (till exempel implicerar unxz --decompress). Efter lyckad komprimering kallfilen bort savida man inte skriver till standard ut eller --keep angavs. -d, --decompress, --uncompress Dekomprimera. Efter lyckad dekomprimering tas kallfilen bort savida man inte skriver till standard ut eller --keep angavs. -t, --test Testa integriteten hos komprimerade filer. Denna flagga ar ekvivalent med --decompress --stdout forutom att den dekomprimerade datan slangs istallet for att skrivas pa standard ut. Inga filer skapas eller tas bort. -l, --list Skriv information om komprimerade filer. Inge dekomprimeringsutdata skapas, och inga filer skapas eller tas bort. I listlage kan programmet inte lasa komprimerad data fran standard in eller fran andra kallor dar man inte kan soka. Standardlistningen visar grundlaggande information om filer, en fil per rad. For att fa mer detaljerad information, anvand aven flaggan --verbose. For annu mer information, anvand --verbose tva ganger, men observera att detta kan vara langsamt, eftersom det behovs manga sokningar far att samla all den extra informationen. Bredden av utforlig utdata overskrider 80 tecken, sa att skicka utdata i ett ror till, till exempel, less -S kan vara bekvamt om terminalen inte ar bred nog. Den exakta utdatan kan variera mellan versioner av xz och olika lokaler. For maskinlasbar utdata bor --robot --list anvandas. Arbetsmodifierare -k, --keep Ta inte bort indatafilerna. Fran xz 5.2.6 gor denna flagga aven att xz komprimerar eller dekomprimerar aven om indatan ar en symbolisk lank till en normal fil, har mer an en hard lank eller har biten setuid, setgid eller sticky satt. Bitarna setuid, setgid och sticky kopieras inte till malfilen. I tidigare versioner gjordes detta bara med --force. -f, --force Denna flagga har flera funktioner: o Om malfilen redan finns, radera den fore komprimering eller dekomprimering. o Komprimera eller dekomprimera aven om indatan ar en symbolisk lank till en normal fil, har mer an en hard lank eller har biten setuid, setgid eller sticky satt. Bitarna setuid, setgid och sticky kopieras inte till malfilen. o Nar den anvands med --decompress --stdout och xz inte kanner igen typen pa kallfilen, kopiera kallfilen som den ar till standard ut. Detta gor att xzcat --force kan anvandas som cat(1) for filer som inte har komprimerats med xz. Observera att i framtiden kan xz komma att stodja nya komprimeringsfilformat, vilket kan fa xz att dekomprimera fler typer av filer istallet for att kopiera dem till standard ut. --format=format kan anvandas for att begransa xz till att dekomprimera endast ett enda filformat. -c, --stdout, --to-stdout Skriv den komprimerade eller dekomprimerade datan till standard ut istallet for en fil. Detta implicerar --keep. --single-stream Dekomprimera endast den forsta .xz-strommen, och ignorera tys eventuella aterstaende indata som foljer efter strommen. Normalt far sadant avslutande skrap xz att visa ett fel. xz dekomprimerar aldrig mer an en strom fran .lzma-filer eller raa strommar, men denna flagga gor anda att xz ignorerar den mojliga efterfoljande datan efter .lzma-filen eller den raa strommen. Denna flagga har ingen effekt om arbetslaget inte ar --decompress eller --test. Sedan xz 5.7.1alpha, implicerar --single-stream --keep. --no-sparse Avaktivera att glesa filer skapas. Som standard, om den dekomprimerar till en normal fil, forsoker xz att gora filen gles om den dekomprimerade datan innehaller langa sekvenser av binara nollor. Det fungerar aven nar den skriver till standard ut sa langa standard ut ar kopplad till en normal fil och vissa ytterligare villkor mots for att gora det sakert. Att skapa glesa filer kan spara diskutrymme och snabba upp dekomprimeringen genom att begransa mangden disk-I/O. -S .suf, --suffix=.suf Vid komprimering, anvand .suf som suffixet for malfilen istallet for .xz eller .lzma. Om den inte skriver till standard ut och kallfilen redan har suffixet .suf visas en varning och filen hoppas over. Vid dekomprimering, kann igen filer med suffixet .suf utover filer medsuffixen .xz, .txz, .lzma, .tlz eller .lz. Om kallfilen har suffixet .suf tas suffixet bort for att fa malfilnamnet. Vid komprimering eller dekomprimering av raa strommar (--format=raw) maste alltid suffixet anges om den inte skriver till standard ut, eftersom det inte finns nagot standardsuffix for raa strommar. --files[=fil] Las filnamnen att arbeta pa fran fil; om fil utelamnas lases filnamn fran standard in. Filnamn maste avslutas med nyradstecknet. Ett bindestreck (-) tas som ett vanligt filnamn; det betyder inte standard in. Om filnamn aven anges som kommandoradsargument, bearbetas de fore filnamnen som lases fran fil. --files0[=fil] Detta ar identiskt med --files[=fil] forjutom att varje filnamn maste avslutas med ett nulltecken. Grundlaggande flaggor for filformat och komprimering -F format, --format=format Angi filens format att komprimera eller dekomprimera: auto Detta ar standard. Vid komprimering ar auto ekvivalent med xz. Vid dekomprimering detekteras automatiskt formatet pa indatafilen. Observera att raa strommar (skapade med --format=raw inte kan detekteras automatiskt. xz Komprimera till filformatet .xz, eller acceptera endast .xz-filer vid dekomprimering. lzma, alone Komprimera till det foraldrade filformatet .lzma, eller acceptera endast .lzma-filer fid dekomprimering. Det alternativa namnet alone tillhandahalls for bakatkompatibilitet med LZMA Utils. lzip Acceptera endast .lz-filer vid dekomprimering. Komprimering stodjs inte. .lz-formatet version 0 och 1 stodjs. Version 0-filer producerades av lzip 1.3 och tidigare. Sadana filer ar inte vanliga men kan hittas fran filarkiv eftersom nagra kallpaket slapptes i detta format. Folk kan ha aven ha gamla personliga filer i detta format. Dekomprimeringsstod for format version 0 togs bort i lzip 1.18. lzip 1.4 och senare kan skapa filer i formatversion 1. raw Komprimera eller dekomprimera en ra strom (inga huvuden). Detta ar endast avsett for avancerade anvandare. For att avkoda raa strommar behover man anvanda --format=raw och explicit angi filterkedjan, vilken normalt skulle ha lagrats i behallarens huvuden. -C kontroll, --check=kontroll Ange typen av integritetskontroll. Kontrollen beraknas fran den dekomprimerade datan och lagras i .xz-filen. Denna flagga har endast nagon inverkan nar man komprimerar till formatet .xz; formatet .lzma stodjer inte integritetskontroller. Integritetskontrollen (om nagon) verifieras nar .xz-filen dekomprimeras. Kontrolltyper som stodjs: none Berakna inte nagon integritetskontroll alls. Detta ar normalt en dalig ide. Det kan vara anvandbart nar datans integritet anda verifieras pa andra satt. crc32 Berakna CRC32 med polynomet fran IEEE-802.3 (Ethernet). crc64 Berakna CRC64 med polynomet fran ECMA-182. Detta ar standard, eftersom det ar nagot battre an CRC32 pa att upptacka skadade filer och hastighetsskillnaden ar forsumbar. sha256 Berakna SHA-256. Detta ar nagot langsammare an CRC32 och CRC64. Integriteten hos .xz-huvuden verifieras alltid med CRC32. Det ar inte mojligt att andra eller avaktivera det. --ignore-check Verifiera inte integritetskontrollen av den komprimerade datan vid dekomprimering. CRC32-varden i .xz-huvudena kommer fortfarande verifieras normalt Anvand inte denna flagga om du inte vet vad du gor. Mojliga anledningar till att anvanda denna flagga: o Forsoka atervinna data fran en trasig .xz-fil. o Snabba upp dekomprimering. Detta har storst betydelse med SHA-256 eller med filer som har komprimerats extremt mycket. Det rekommenderas att inte anvanda denna flagga for detta andamal om inte filintegriteten verifieras externt pa nagot annat satt. -0 -9 Valj en forinstallningsniva for komprimering. Standard ar -6. Om flera forinstallningsnivaer anges galler den sist angivna. Om en anpassad fileterkedja redan angivits gor en installning av en forinstallningsniva for komprimering att den anpassade filterkedjan toms. Skillnaden mellan forinstallningarna har storre betydelse an med gzip(1) och bzip2(1). Den valda komprimeringsinstallningen avgor minneskraven for dekomprimeraren, att anvanda en for hog forinstallningsniva kan alltsa gora det plagsamt att dekomprimera filer pa ett gammalt system med lite RAM. Specifikt ar det inte en bra ide att blint anvanda -9 for allt liksom det ofta ar med gzip(1) och bzip2(1). -0 -3 Dessa ar ganska snabba forinstallningar. -0 ar ibland snabbare an gzip -9 samtidigt som komprimeringen ar mycket battre. De hogre har ofta hastighet jamforbar med bzip2(1) med jamforbar eller battre komprimeringsforhallande, aven om resultatet mycket beror pa typen av data som komprimeras. -4 -6 Bra for valdigt god komprimering samtidigt som dekomprimerarens minnesanvandning halls rimlig aven pa gamla system. -6 ar standardvardet, vilket vanligen ar ett bra val for att distribuera filer so behover dekomprimeras aven pa ssytem med endast 16 MiB RAM. (-5e eller -6e kan ocksa vara varda att overvaga. Se --extreme.) -7 -9 Dessa liknar -6 med med hogre krav pa minne till komprimerare och dekomprimerare. Dessa ar bara anvandbara vid komprimering av filer storre an 8 MiB, 16 MiB respektive 32 MiB. Pa samma hardvara ar dekomprimeringshastigheten ungefar ett konstant antal byt av komprimerad data per sekund. Med andra ord, ju battre komprimering, desto snabbare kommer dekomprimeringen vanligen vara. Detta betyder aven att mangden av okomprimerad utdata skapad per sekund kan variera mycket. Foljande tabell sammanfattar funktionerna hos forinstallningarna: Forinstallning LexStrl KompCPU KompMin DekMin -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 Kolumnbeskrivningar: o LexStrl ar storleken pa LZMA2:s lexikon. Det ar sloseri med minne att anvanda ett storre lexikon an storleken pa den okomprimerade filen. Detta ar anledningen till att det ar bra att undvika forinstallningarna -7 -9 nar det inte finns nagot verkligt behov av dem. Pa -6 och lagre ar mangden bortslosat minne vanligen litet nog att inte ha nagon betydelse. o KompCPU ar en forenklad representation av LZMA2-installningar som paverkar komprimeringshastigheten. Lexikonstorleken paverkar ocksa hastigheten, sa medan KompCPU ar samma for nivaerna -6 -9 tenderar fortfarande hogre nivaer att vara lite langsmmare. For annu langsammare och mojligen battre komprimering, se --extreme. o KompMem innehaller komprimerarens minneskrav i enkeltradat lage. Det kan variera nagot mellan versioner av xz. o DekMin innehaller dekomprimerarens minneskrav. Det vill saga, komprimerarens installningar avgor minneskravet for dekomprimeraren. Den exakta minnesanvandningen hos dekomprimeraren ar nagot mer an LZMA2-lexikonstorleken, men vardena i tabellen har avrundats upp till nasta nasta hela MiB. Minneskravet for det multitradade laget ar signifikant hogre an det for enkeltradat lage. Med standardvardet pa --block-size behover varje trad 3.3.LexStrl plus KompMin eller DekMin. Till exempel, fyra tradar med forinstallningen behover 660-670 MiB minne. -e, --extreme Anvand en langsammare variant av den valda forinstallningsnivan for komprimering (-0 -9) for att forhoppningsvis fa lite battre komprimeringsforhallande, men med otur kan detta aven gora det samre. Dekomprimerarens minnesanvandning paverkas inte, men komprimerarens minnesanvandning okar lite vid forinstallningsnivaerna -0 -3. Eftersom det finns tva forinstallningar med lexikonstorlekar 4 MiB och 8 MiB anvander forinstallningarna -3e och -5e nagot snabbare installningar (lagre KompCPU) an -4e respektive -6e. Pa det sattet ar inte tva forinstallningar identiska. Forinstallning LexStrl KompCPU KompMin DekMin -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 Till exempel finns det totalt fyra forinstallningar som anvander 8 MiB lexikon, vars ordning fran den snabbaste till den langsammaste ar -5, -6, -5e och -6e. --fast --best Dessa ar nagot missledande alias for -0 respektive -9. Dessa finns endast for bakatkompatibilitet med LZMA-verktyg. Undvik att anvanda dessa flaggor. --block-size=storlek Vid komprimering till formatet .xz, dela indatai block med storlek bytes. Blocken komprimeras oberoende av varandra, vilket hjalper till vid multitradning och gor begransad random-access-dekomprimering mojlig. Denna flagga anvands typiskt for att asidosatta blockstorleken i multitradat lage, men denna flagga kan anvandas aven i enkeltradat lage. I multitradat lage kommer ungefar tre ganger storlek byte att allokeras i varje trad for buffring av indata och utdata. Standardvardet pa storlek ar det storre av tre ganger LZMA2-lexikonstorleken eller 1 MiB. Typiskt ar ett bra varde 2-4 ganger storleken pa LZMA2-lexikonet eller atminstone 1 MiB. Att anvanda en storlek mindre an LZMA2-lexikonstorleken utgor sloseri med RAM eftersom LZMA2-lexikonbufferten da aldrig kommer anvandas helt. I multitradat lage lagras storlekarna pa plocken i blockhuvudena. Denna storleksinformation kravs for multitradad dekomprimering. I singletradat lage gors som standard ingen uppdelning i block. Att gora denna installning paverark inte minnesanvandningen. Ingen storleksinformation lagras i blockhuvuden, darmed kommer filer som skapas i enkeltradat lage inte att vara identiska med filer skapade i multitradat lage. Avsaknaden av sotrleksinformation betyder ocksa att xz inte kommer kunna dekomprimera filerna i multitradat lage. --block-list=poster Vid komprimering till formatet .xz, borja ett nytt block med en mojlig anpassad filterkedja efter de angivna intervallen med okomprimerade data. Posterna ar en kommaseparerad lista. Varje post bestar av ett mojligt filterkedjenummer mellan 0 och 9 foljt av ett kolon (:) och en obligatorisk storlek for okomprimerade data. Att utelamna en post (tva pa varandra foljande komman) ar en kortform for att anvanda storleken och filtren fran foregaende post. Om indatafiler ar storre an summan av storlekarna i poster repeteras den sista posten fram till slutet pa filen. Ett speciellt varde 0 kan anvandas som den sista storleken for att indikera att resten av filen skall kodas som ett enda block. En alternativ filterkedja for varje block kan anges i kombinaton med flaggorna --filters1=filter --filters9=filter. Dessa flaggor definierar filterkedjor med en identifierare mellan 1-9. Filterkedja 0 kan anvandas for att referera till standardfilterkedjan, vilket ar samma sak som att inte ange nagon filterkedja. Filterkedjeidentifierare kan anvandas fore den okomprimerade sotrleken, foljt av ett kolon (:). Till exempel, om man anger --block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB kommer block skapas med: o Filterkedjan angiven av --filters1 och 2 MiB indata o Filterkedjan angiven av --filters3 och 2 MiB indata o Filterkedjan angiven av --filters2 och 4 MiB indata o Filterkedjan angiven av --filters2 och 4 MiB indata o Standardfilterkedjan och 2 MiB indata o Standardfilterkedjan och 4 MiB indata for varje block till slutet av indata. Om man anger en storlek som overskrider kodarens blockstorlek (antingen standardvardet i tradat lage eller vardet som anges med --block-size=storlek) kommer kodaren skapa ytterligare block med hansyn taget till granserna som anges i poster. Till exempel, om man anger --block-size=10MiB --block-list=5MiB,10MiB,8MiB,12MiB,24MiB och indatafilen ar 80 MiB kommer man fa 11 block: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10 och 1 MiB. I multitradat lage lagras storleken pa blocken i blockhuvudena. Detta gors inte i enkeltradat lage, sa den kodade utdatan kommer inte vara identisk med den fran det multitradade laget. --flush-timeout=tidsgrans Vid komprimering, om mer an tidsgrans millisekunder (ett positivt heltal) har gatt sedan den foregande tomningen och en lasning av mer indata skulle blockera toms all vantande indata fran kodaren och gors tillganglig i utdatastrommen. Detta kan vara anvandbart om xz anvands for att komprimera data som strommas over ett natverk. Sma varden pa tidsgrans gor data tillganglig vid den mottagande anden med en liten fordrojning, men storre varden pa tidsgrans ger battre komprimeringsforhallande. Denna funktion ar avaktiverad som standard. Om denna flagga anges mer an en gang galler den sista. Dett speciella vardet 0 pa tidsgrans kan anvandas for att uttryckligen avaktivera denna funktion. Denna funktion ar inte tillganglig pa icke-POSIX-system. Denna funktion ar fortfarande experimentell. For narvarande ar xz olamplig for dekomprimering av strommen i realtid pa grund av hur xz buffrar. --no-sync Synkronisera inte malfilen och dess katalog med lagringsenheten fore kallfilen tas bort. Detta kan forbattra prestanda vid komprimering eller dekomprimering av manga sma filer. Dock, om systemet kraschar snart efter raderingen ar det mojligt att malfilen inte skrevs till lagringsenheten men att raderingen gjordes det. I det fallet ar varken originalkallfilen eller malfilen tillganglig. Denna flagga har bara nagon effekt nar xz kommer att ta bort kallfilen. I andra fall gors aldrig nagon synkronisering. Synkroniseringen och --no-sync lades till i xz 5.7.1alpha. --memlimit-compress=grans Satt en grans pa minnesanvandningen for komprimeringen. Om denna flaggan anges flera ganger galler den sista. Om komprimeringsinstallnigarna overskrider gransen kommer xz forsoka justera installningarna nerat sa att gransen inte langre overskrids och visa en notis om att en automatisk justering gjorts. Justeringen gors i denna ordning: reducera antalet tradar, byta till enkeltradat lage om aven en trad i multitradat lage overskrider gransen och slutligen reducera LZMA2-lexikonstorleken. Vid komprimering med --format=raw eller om --no-adjust har angetts kan endast antalet tradar reduceras eftersom det kan goras utan att paverka den komprimerade utdatan. Om gransen inte kan uppfyllas ens med justeringarna som beskrivs ovan visas ett felmeddelande och xz kommer avsluta med slutstatus 1. Gransen kan anges pa flera satt: o Gransen kan vara ett absolut varde i byte. Att anvanda ett heltalssuffix som MiB kan vara praktiskt. Exempel: --memlimit-compress=80MiB o Gransen kan anges som en procentsats av det totala fysiska minnet (RAM). Detta kan vara anvandbart sarskilt nar man satter miljovariabeln XZ_DEFAULTS i ett skalinitieringsskript som delas mellan olika datorer. Pa det sattet ar gransen automatiskt storre pa system med mer minne. Exempel: --memlimit-compress=70% o Gransen kan aterstallas tillbaka till sitt standardvarde genom att satta den till 0. Detta ar for narvarande ekvivalent med att satta gransen till max (ingen grans pa minnesanvandning). For 32-bitars xz finns det ett specialfall: om gransen skulle vara over 4020 MiB satts gransen till 4020 MiB. Pa MIPS32 anvands 2000 MiB istallet. (Vardena 0 och max paverkas inte av detta. En liknande funktion finns inte for dekomprimering.) Detta kan hjalpa till nar ett 32-bitarsprogram har tillgang till 4 GiB adressrymd (2 GiB pa MIPS32) forhoppningsvis utan att gora nagon skada i andra situationer. Se aven avsnittet Minnesanvandning. --memlimit-decompress=grans Satt en grans for minnesanvnandningen vid dekomprimering. Detta paverkar aven laget --list. Om atgarden inte ar mojlig utan att overskrida gransen kommer xz visa ett felmeddelande och dekomprimeringen av filen kommer misslyckas. Se --memlimit-compress=grans for mojliga satt att ange gransen. --memlimit-mt-decompress=grans Satt en grans for minnesanvandningen for multitradad dekomprimering. Detta kan endast paverka antalet tradar; det kommer aldrig att fa xz att vagra att dekomprimera en fil. Om gransen ar for lag for att tillata nagon multitradning ignoreras gransen och xz kommer ga vidare i enkeltradat lage. Observera att om aven --memlimit-decompress anvands kommer det alltid att galla bade enkeltradat och multitradat lage, och darmed kommer den gallande gransen for multitradning aldrig vara hogre an gransen som satts med --memlimit-decompress. Till skillnad mot de andra flaggorna for granser for minnesanvandning har --memlimit-mt-decompress=grans en systemspecifik standardgrans. xz --info-memory kan anvandas for att se det aktuella vardet. Denna flagga och dess standardvarde finns for att utan nagon grans skulle den tradade dekomprimeraren kunna allokera en vansinnig mangd minne med nagra indatafiler. Om standardgransen ar for lag pa ditt system, oka da garna gransen men satt den aldrig till ett storre varde an mangden anvandbart RAM eftersom att med passande indatafiler kommer xz forsoka anvanda den mangden av minne aven med ett lagt antal tradar. Att fa slut pa minne ller vaxling kommer inte forbattra dekomprimeringsprestandan. Se --memlimit-compress=grans for mojliga satt att ange gransen. Att satta grans till 0 aterstaller gransen till sdet systemspecifika standardvardet. -M grans, --memlimit=grans, --memory=grans Detta ar ekvivalent med att ange --memlimit-compress=grans --memlimit-decompress=grans --memlimit-mt-decompress=grans. --no-adjust Visa ett fel och avsluta om gransen for minnesanvandning inte kan motas utan att justera installnigar som paverkar den komprimerade utdatan. Det vill saga, detta forhindrar att xz byter kodaren fran multitradat lage till enkeltradat lage och fran att den reducerar LZMA2-lexikonets storlek. Aven nar denna flagga anvands kan antalet tradar reduceras for att mota gransen for minnesanvandning eftersom det inte kommer paverka den komprimerade utdatan. Automatisk justering ar alltid avaktiverat nar raa strommar skapas (--format=raw). -T tradar, --threads=tradar Ange antalet arbetstradar som skall anvandas. Att satta tradar till ett specialvarde 0 gor att xz anvander sa manga tradar som processorerna pa systemet stodjer. Det aktuella antalet tradar kan vara farre an tradar om indatafilen inte ar stor nog for tradning med de givna installningarna eller om anvandning av fler tradar skulle overkrida gransen for minnesanvandning. De enkeltradade och multitradade komprimerarna producerar olika utdata. Den enkeltradade komprimeraren kommer ge den minsta filstorleken men endast utdata fran den multitradade komprimeraren kan dekomprimeras med flera tradar. Att satta tradar till 1 kommer anvanda enkeltradat lage. Att satta tradar till nagot annat varde, inklusive 0, kommer anvanda den multitradade komprimeraren aven om systemet endast stodjer en hardvarutrad. (xz 5.2.x anvande enkeltradat lage i denna situation.) For att anvanda multitradat lage med endast en trad, satt tradar till +1. Prefixet + har ingen pavrekan for andra varden an 1. En grans for minnesanvandning kan fortfarande gora att xz byter till enkeltradat lage savida inte --no-adjust anvands. Stod for prefixet + lades till i xz 5.4.0. Om ett automatiskt antal tradar har begarts och ingen grans for minnesanvandning har angivits, da kommer en systemspecifik mjuk standardgrans anvandas for att mojligen begransa antalet tradar. Det ar en mjuk grans i den meningen att den ignoreras om antalet tradar blir en, alltsa kommer en mjuk grans aldrig hindra xz fran att komprimera eller dekomprimera. Denna mjuka standardgrans kommer inte gora att xz byter fran multitradat lage till enkeltradat lage. De aktiva granserna kan ses med xz --info-memory. For narvarande ar den enda tradningsmetoden att dela indata i block och komprimera dem oberoende av varandra. Standardstorleken pa block beror pa komprimeringsnivan och kan asidosattas med flaggan --block-size=storlek. Tradad dekomprimering fungerar bara pa filer som innehaller flera block med storleksinformation i blockhuvuden. Alla tillrackligt stora filer komprimeras i multitradat lage for att uppfylla detta villkor, men filer komprimerade i enkeltradat lage gor det inte ens om --block-size=storlek har anvants. Standardvardet pa tradar ar 0. I xz 5.4.x och tidigare ar standardvardet 1. Anpassade komprimerarfilterkedjor Med en anpassad filterkedja kan man specificera kompressionsinstallningarna i detalj istallet for att lita pa installningarna som hor till forinstallningarna. Nar en anpassad filterkedja anges gloms forinstallningsflaggor (-0 -9 och --extreme) tidigare pa kommandoraden. Om en forinstallningsflagga anges efter en eller flera flaggor for anpassade filterkedjor galler den nya forinstallningen och de flaggor for anpassade filterkedjor som angivits tidigare gloms. En filterkedja ar jamforbar med att skapa ror pa kommando. Vid komprimering skickas den okomprimerade indatan till det forsta filtret, vars utdata skickas till nasta filter (om nagot). Utdatan fran det sista filtret blir skrivet till den komprimerade filen. Det maximala antalet filter i kedjan ar fyra, men typiskt har en filterkedja bara ett ellet tva filter. Manga filter har begransningar pa var de kan finnas i filterkedjan: nagra filter kan bara fungera som det sista filtret i kedjan, nagra bara om de inte ar det sista filtret, och nagra fungerar i godtycklig position i kedjan. Beroende pa filtret ar denna begransning antingen en egenskap hos filterdesignen eller finns for att forhindra sakerhetsproblem. En anpassad filterkedja kan anges pa tva olika satt. Med flaggorna --filters=filter och --filters1=filter --filters9=filter kan man ange en hel filterkedja med en flagga genom att anvanda syntaxen for liblzma-filterstrangar. Alternativt kan en filterkedja anges genom att anvanda en eller flera individuella filterflaggor i den ordning de onskas i filterkedjan. Det vill saga, ordningen pa de individuella filterflaggorna ar signifikant! Vid avkodning av raa strommar (--format=raw) maste filterkedjan anges i samma ordning som den specificerades vid komprimeringen. Eventuella individuella filter- eller forinstiallningsflaggor angivna fore den fullstandiga filterkedjeflaggan (--filters=filter) kommer glommas. Individuella filter som anges efter den flaggan for en full kedja kommer aterstalla filterkedjan. Bade den fullstandiga och de individuella filterflaggorna tar filterspecifika flaggor som en kommaseparerad lista. Extra komman flaggor ignoreras. Varje flagga har ett standardvarde, sa ange dem du vill andra. For att se hela filterkedjan och flaggor, anvand xz -vv (det vill saga, anvand --verbose tva ganger). Detta fungerar aven for att se flaggorna for filterkedjor som anvands av forinstallningar. --filters=filter Ange den fullstandiga filterkedan eller en forinstallning en en enda flagga. Varje filter kan separeras med blanktecken eller tva bindestreck (--). filter kan behova citeras pa skalets kommandorad sa att det tolkas som en enda flagga. For att beteckna flaggor, anvand : eller =. En forinstallning kan foregas med ett - och foljas av noll eller flera flaggor. Den enda flaggan som stodjs ar e for att tillampa samma flaggor som --extreme. --filters1=filter --filters9=filter Ange upp till nio ytterligare filterkedjor som kan anvandas med --block-list. Till exempel, vid komprimering av ett arkiv med korbara filer foljt av textfiler skulle den korbara delen kunna anvanda en filterkedja med ett BCJ-filter och endast textdelen med LZMA2-filtret. --filters-help Visa ett hjalpmeddelande som beskriver hur man anger forinstallningar och anpassade filterkedjor i flaggorna --filters och --filters1=filter --filters9=filter, och avsluta rent. --lzma1[=flaggor] --lzma2[=flaggor] Lagg till LZMA1- eller LZMA2-filter till filterkedjan. Dessa filter kan endast anvandas som det sista filtret i kedjan. LZMA1 ar ett foraldrat filter, vilket stodjs nastan enbart pa grund av det foraldrade filformatet .lzma, vilket bara stodjer LZMA1. LZMA2 ar en uppdaterad version av LZMA1 for att losa nagra praktiska problem med LZMA1. Formatet .xz anvander LZMA2 och stodjer inte LZMA1 alls. Komprimeringshastigheten och forhallandena for LZMA1 ar LZMA2 ar praktiskt taget desamma. LZMA1 och LZMA2 delar samma uppattning flaggor: preset=forinstallning Aterstall alla LZMA1- eller LZMA2-flaggor till forinstallning. Forinstallning bestar av ett heltal, vilket kan foljas av enskilda bokstaver som modifierar forinstallningen. Heltalet kan vara fran 0 till 9, motsvarande kommandoradsflaggorna -0 -9. Den enda modifierare som stodjs for narvarande ar e, vilket motsvarar --extreme. Om ingen preset anges tas standardvarden pa LZMA1- eller LZMA2-flaggor fran forinstallningen 6. dict=storlek Ett lexikons (historiebufferts) storlek indikerar hur manga byte med nyligen bearbetad okomprimerad data som halls i minnet. Algoritmen forsoker hitta aterkommande bytesekvenser (matchningar) i den okomprimerade datan, och ersatta dem med referenser till datan som for narvarande finns i lexikonet. Ju storre lexikon, desto hogre ar sannolikheten att hitta en matchning. Att oka lexikonets storlek forbattrar alltsa vanligen komprimeringsforhallandet, men ett lexikon som ar storre an den okomprimerade filen ar ett sloseri med minne. En typisk storlek pa lexikon ar fran 64 KiB till 64 MiB. Minimum ar 4 KiB. Det maximala for komprimering ar for narvarande 1,5 GiB (1536 MiB). Dekomprimeraren stodjer redan lexikon upp till en byte mindre an 4 GiB, vilket ar det maximala for stromformaten LZMA1 och LZMA2. Lexikonstorlek och matchhittaren (mf) avgor tillsammans minnesanvandningen for LZMA1- eller LZMA2-kodaren. Ett lika stort (eller storre) lexikon behovs for dekomprimering som det som anvandes vid komprimeringen, minnesanvandningen for avkodaren avgors alltsa av lexikonstorleken vid komprimering. Huvudena i .xz innehaller lexikonets storlek antingen som 2^n eller 2^n + 2^(n-1), sa dessa storlekar ar lite att foredra for komprimering. Andra storlekar kommer avrundas uppat nar de lagras i huvuden i .xz. lc=lk Ange antalet literala kontextbitar. Minimum ar 0 och maximum ar 4; standardvardet ar 3. Dessutom far inte summan av lk och lp overskrida 4. Alla byte som inte kan kodas som matchningar kodas som literaler. Det vill saga, literaler ar helt enkelt 8-bits byte som kodas en at gangen. Den literala kodningen gor antagandet att de hogsta lk bitarna av den foregaende okomprimerade byten korrelerar med nasta byte. Till exempel, i typisk engelsk text foljs ofta en versal bokstav av en gemen bokstav, och en gemen bokstav foljs vanligen av en annan gemen bokstav. I teckenuppsattningen US-ASCII ar de hogsta tre bitarna 010 for versala bokstaver och 011 for gemena bokstaver. Nar lk ar atminstone 3 kan den literala kodningen dra nytta av denna egenskap i den okomprimerade datan. Standardvardet (3) ar normalt bra. Om man vill ha maximal komprimering, prova lc=4. Ibland hjalper det lite, och ibland gor det komprimeringen samre. Om det gor den samre, testa ocksa lc=2. lp=lp Ange antalet literala positionsbitar. Minimum ar 0 och maximum ar 4; standardvardet ar 0. Lp paverkar vilken sorts justering i den okomprimerade datan som antas vid kodning av literaler. Se pb nedan for mer information om justering. pb=pb Ange antalet positionsbitar. Minimum ar 0 och maximum ar 4; standardvardet ar 2. Pb paverkar vilken sort justering i den okomprimerade datan som antas i allmanhet. Standardvardet betyder fyrbytejustering (2^pb=2^2=4), vilket ofta ar ett bra val nar det inte finns nagon battre gissning. Nar justeringen ar kand kan en installning av pb darefter reducera filstorleken nagot. Till exempel, med textfiler som har en-byte-justering (US-ASCII, ISO-8859-*, UTF-8) kan att satta pb=0 forbattra komprimeringen nagot. For UTF-16-text ar pb=1 ett bra val. Om justeringen ar ett udda tal som 3 byte kan pb=0 vara det basta valet. Aven om den antagna justeringen kan anpassas med pb och lp foredrar LZMA1 och LZMA2 anda nagot 16-byte-justering. Det kan vara vart att ta med i berakningen vid design av filformat som sannolikt ofta kan komma att komprimeras med LZMA1 eller LZMA2. mf=ms Matchsokaren har en stor poverkan pa kodarens hastighet, minnesanvandning och komprimeringsforhallande. Vanligen ar Hashkedje-matchsokare snabbare an Binartradsmatchsokare. Standardvardet beror pa foinstallningen: 0 anvander hc3, 1-3 anvander hc4, och resten anvander bt4. Foljande matchsokare stodjs. Formlerna for minnesanvandning nedan ar grova uppskattningar, vilka ar narmast sanningen nar dict ar en tvapotens. hc3 Hashkedja med 2- och 3-bytehashning Minsta varde pa nice: 3 Minnesanvandning: dict . 7.5 (om dict <= 16 MiB); dict . 5,5 + 64 MiB (om dict > 16 MiB) hc4 Hashkedja med 2-, 3- och 4-bytehashning Minsta varde pa nice: 4 Minnesanvandning: dict . 7,5 (om dict <= 32 MiB); dict . 6,5 (om dict > 32 MiB) bt2 Binartrad med 2-bytehashning Minsta varde pa nice: 2 Minnesanvandning: dict . 9,5 bt3 Binartrad med 2- och 3-bytehashning Minsta varde pa nice: 3 Minnesanvandning: dict . 11,5 (om dict <= 16 MiB); dict . 9,5 + 64 MiB (om dict > 16 MiB) bt4 Binartrad med 2-, 3- och 4-bytehashning Minsta varde pa nice: 4 Minnesanvandning: dict . 11,5 (om dict <= 32 MiB); dict . 10,5 (om dict > 32 MiB) mode=lage Komprimeringslaget anger metoden som anvands for att analysera data skapade av matchsokaren. De lagen som stodjs ar fast och normal. Standardvardet ar fast for forinstallningarna 0-3 och normal for forinstallningarna 4-9 Vanligen anvands fast med Hashkedjematchsokare och normal med Binartradsmatchsokare. Detta ar aven vad forinstallningarna gor. nice=lagom Ange vad som anses vara en lagom langt pa en matchning. Nar en matchning pa atminstone lagom byte hittats slutar algoritmen soka efter mojliga battre matchningar. Lagom kan vara 2-273 byte. Hogre varden tenderar att ge battre komprimeringsforhallande pa bekostnad av tid. Standardvardet beror pa forinstallningen. depth=djup Ange det maximala sokdjupet i matchsokaren. Standardvardet ar specialvardet 0, vilket far komprimeraren att avgora ett lampligt djup fran mf och nice. Lampligt djup for Hashkedjor ar 4-100 och 16-1000 for Binartrad. Att anvanda valdigt hoga varden pa djup kan gora kodaren extremt langsam for vissa filer. Undvik att satta djup over 1000 savida du inte ar beredd att avbryta komprimeringen om den tar for lang tid. Vid avkodning av raa strommar (--format=raw) behover LZMA2 endast lexikonets storlek. LZMA1 behover aven lc, lp och pb. --x86[=flaggor] --arm[=flaggor] --armthumb[=flaggor] --arm64[=flaggor] --powerpc[=flaggor] --ia64[=flaggor] --sparc[=flaggor] --riscv[=flaggor] Lagg till gren/anrop/hopp-filter (branch/call/jump, BCJ) till filterkedjan. Dessa filter kan inte anvandas som det sista filtret i filterkedjan. Ett BCJ-filter konverterar relativa adresser i maskinkod till deras absoluta motsvarigheter. Detta andrar inte storleken pa datan men det okar redundansen, vilket kan hjalpa LZMA2 att skapa 0-15 % mindre .xz-filer. BCJ-filtren ar alltid reversibla, sa att anvanda ett BCJ-filter for fel sorts data orsakar inte nagon dataforlust, men det kan gora komprimeringsforhallandet nagot samre. BCJ-filtren ar mycket snabba och anvander en obetydling mangd minne. Dessa BCJ-filter har kanda problem kopplade till komprimeringsforhallandet: o Nagr sortes filer som innehaller korbar kod (till exempel, objektfiler, statiska bibliotek och Linux karnmoduler) har adresserna i instruktionerna fyllda med utfyllnadsvarden. Dessa BCJ-filter kommer anda gora adresskonverteringen, vilket kommer gora komprimeringen samre for dessa filer. o Om ett BCJ-filter anvands pa ett arkiv ar det mojligt att det gor komprimeringsforhallandet samre an att inte anvanda nagot BCJ-filter. Till exempel, om det finns liknande eller till och med identiska korbara kommer filtreringen sannolikt gora filerna mindre lika och darmed blir kompressionen samre. Innehallet i icke korbara filer i samma arkiv kan ocksa spela en roll. I praktiken maste man prova med och utan ett BCJ-filter for att se vilket som ar det basta i varje situation. Olika instruktionsuppsattningar har olika justering: den korbara filen maste vara justerad till en multipel av detta varde i indata for att filtret skall fungera. Filter Justering Kommentarer x86 1 32-bitars eller 64-bitars x86 ARM 4 ARM-Thumb 2 ARM64 4 4096-bytesjustering ar bast PowerPC 4 Endast rak byteordning IA-64 16 Itanium SPARC 4 RISC-V 2 Eftersom BCJ-filtrerad data vanligen komprimeras med LZMA2 kan komprimeringsforhallandet forbattras nagot om LZMA2-flaggorna satts till att matcha justeringen hos det valda BCJ-filtret. Exempel: o IA-64-filter har 16-bytejustering sa pb=4,lp=4,lc=0 ar bra med LZMA2 (2=16). o RISC-V-kod har 2-byte- eller 4-bytejustering beroende pa huruvida filen innehaller 16-bitars komprimerade instruktioner (utvidgningen C). Nar 16-bitarsinstruktioner anvands ar pb=2,lp=1,lc=3 eller pb=1,lp=1,lc=3 bra. Nar det inte finns nagra 16-bitsinstruktioner ar pb=2,lp=2,lc=2 bast. readelf -h kan anvandas for att kontrollera om "RVC" forekommer pa raden "Flaggor". o ARM64 ar alltid 4-bytejusterad sa pb=2,lp=2,lc=2 ar bast. o Filtret x86 ar ett undantag. Det ar normalt bra att halla sig till LZMA2:s standardvarden (pb=2,lp=0,lc=3) nar korbar x86 komprimeras. Alla BCJ-filter stodjer samma flaggor: start=avstand Ange startavstandet som anvands vid konvertering mellan relativa och absoluta adresser. Avstandet maste vara en multipel av filtrets justering (se tabellen ovan). Standardvardet ar noll. I praktiken ar standardvardet bra; det ar nastan aldrig anvandbart att ange ett anpassat avstand. --delta[=flaggor] Lagg till Deltafiltret till filterkedjan. Deltafiltret kan inte anvandas som det sista filtret i filterkedjan. For narvarande stodjs bara enkel byte-vis deltaberakning. Det kan vara anvandbart vid komprimering, till exempel av okomprimerade bitavbildningsbilder eller okomprimerad PCM-audio. Dock kan algoritmer for sarskilda andamal ge betydligt battre resultat an Delta + LZMA2. Detta ar sarskilt sant med audio, vilket komprimerar snabbare och battre med till exempel flac(1). Stodda flaggor: dist=avstand Ange avstandet for deltaberakningen i byte. Avstand maste varea 1-256. Standardvardet ar 1. Till exempel, med dist=2 och atta byte indata A1 B1 A2 B3 A3 B5 A4 B7, kommer utdata vara A1 B1 01 02 01 02 01 02. Andra flaggor -q, --quiet Utelamna varningar och noteringar. Ange detta tva ganger for att aven utelamna felmeddelandet. Denna flagga har ingen paverkan pa slutstatusen. Det vill saga, aven om en varning utelamnades kommer slutstatusen fortfarandeindikera att en varning gavs. -v, --verbose Var utforlig. Om standard fel ar kopplat till en terminal kommer xz visa en forloppsmatare. Att ange --verbose tva ganger kommer ge an mer utforlig utmatning. Forloppsmataren visar foljande information: o Procent fardigt visas om storleken pa indatafilen ar kand. Det vill saga, procentsatsen kan inte visas i ror. o Mangd komprimerad data som producerats (komprimering) eller konsumerats (dekomprimering). o Mangd okomprimerad data som konsumerats (komprimering) eller producerats (dekomprimering). o Komprimeringsforhallande, vilket beraknas genom att dividera mangden komprimerad data bearbetad sa lang med mangde okomprimerad data bearbetad sa langt. o Kompressions eller dekompressionshastighet. Detta mats som mangden okomprimerad data konsumerad (komprimering) eller producerad (dekomprimering) per sekund. Det visas efter att nagra sekunder har gat efter att xz borjade bearbeta filen. o Forfluten tid pa formatet MM:SS eller H:MM:SS. o Beraknad aterstaende tid visas endast nar storleken pa indatafilen ar kand och nagra sekunder redan gatt efter att xz borjade bearbeta filen. Tiden visas i ett mindre precist format vilket aldrig har nagra kolon, till exempel, 2 min 30 s. Nar standard fel inte ar en terminal kommer --verbose gora att xz skriver filnamnet, komprimerad storlek, okomprimerad storlek, komprimeringsforhallande och mojligen aven hastigheten och den forlupna tiden pa en enda rad till standard fel efter att ha komprimerat eller dekomprimerat filen. Hastigheten och den forlupna tiden inkluderas endast nar atgarden tog atminstone nagra sekunder. Om atgarden inte slutfordes, till exempel for att anvandaren avbrot, skrivs aven den fullbordade procentsatsen om storleken pa indatafilen ar kand. -Q, --no-warn Satt inte slutstatus till 2 aven om ett tillstand som ar vart en varning upptacktes. Denna flagga paverkar inte utforlighetsnivan, allts maste bade --quiet och --no-warn anvandas for att inte visa varningar och for att inte andra slutstatusen. --robot Skriv meddelanden i maskinlasbart form. Detta ar avsett att forenkla att skriva framandar som vill anvanda xz istallet for liblzma, vilken kan vara fallet i olika skript. Utdatan med denna flagga aktiverad ar avsedd att vara stabil mellan utgavor av xz. Se avsnitett ROBOTLAGE for detaljer. --info-memory Visa, pa manskligt lasbar form, hur mycket fysiskt minne (RAM) och hur manga processortradar xz tror att systemet har och granserna for minnesanvandning vid komprimering och dekomprimering, och avsluta. -h, --help Visa ett hjalpmeddelande som beskriver de vanligast anvanda flaggorna, och avsluta. -H, --long-help Visa ett hjalpmeddelande som beskriver alla funktioner i xz, och avsluta -V, --version Visa versionsnumret for xz och liblzma i manskligt lasbar form. For att fa maskinlasbar utdata, ange --robot fore --version. ROBOTLAGE Robotlaget aktiveras med flaggan --robot. Det gor att utdata fran xz ar enklare att tolka av andra program. For narvarande stodjs --robot endast tillsammans med --list, --filters-help, --info-memory och --version. Den kommer att stodjas for komprimering och dekomprimering i framtiden. Listlage xz --robot --list anvander tab-separerad utmatning. Forsta kolumnen av varje rad har en strang som indikerar typen av informationen som finns pa den raden: name Detta ar alltid forsta raden nar en fil borjar listas. Den andra kolumen pa raden ar filnamnet. file Denna rad innehaller overgripande information om .xz-filen. Denna rad skrivs alltid efter raden name. stream Denna radtyp anvands endast nar --verbose angetts. Det finns lika manga stream-rader som det finns strommar i .xz-filen. block Denna radtyp anvands bara nar --verbose angetts. Det finns lika manga block-rader som det finns block i .xz-filen. block-rader visas efter alla stream-raderna; olika radtyper blandas inte. summary Denna radtyp anvands bara nar --verbose angetts tva ganger. Denna rad skrivs eefter alla block-rader. Liksom raden file inenhaller raden summary overgripande information om .xz-filen. totals Denna rad ar alltid den allra sista raden i listutmatningen. Den visar det totala antalen och storlekarna. Kolumnerna pa file-raderna: 2. Antalet strommar i filen 3. Totalt antal block i strommarna 4. Komprimerad storlek pa filen 5. Okomprimerad storlek pa filen 6. Komprimeringsforhallande, till exempel 0.123. Om forhallandet ar over 9.999 visas tre bindestreck (---) istallet for forhallandet. 7. Kommaseparerad lista med integritetskontrollnamn. Foljande strangar anvands for de kanda kontrolltyperna: None, CRC32, CRC64 och SHA-256. For okanda kontrolltyper anvands Unknown-N, dar N ar kontroll-ID:t som ett decimalt nummer (en eller tva siffror). 8. Total storlek pa stromutfyllnad i filen Kolumnerna pa stream-raderna: 2. Stromnummer (den forsta strommen ar 1) 3. Antal block i strommen 4. Komprimerat startavstand 5. Okomprimerat startavstand 6. Komprimerad storlek (inkluderar inte stromutfyllnad) 7. Okomprimerad storlek 8. Komprimeringsforhallande 9. Namnet pa integritetskontrollen 10. Storleken pa stromutfyllnad Kolumnerna pa block-raderna: 2. Numret pa strommen som innehaller detta block 3. Blocknummer relativt borjan pa strommen (det forsta blocket ar 1) 4. Blocknummer relativt borjan pa filen 5. Komprimerat startavstand relativt borjan av filen 6. Okomprimerat startavstand relativt borjan av filen 7. Total komprimerad storlek pa blocket (inkluderar huvuden) 8. Okomprimerad storlek 9. Komprimeringsforhallande 10. Namnet pa integritetskontrollen Om --verbose angavs tva ganger inkluderas ytterligare kolumner pa block-raderna. Dessa visas inte med bara ett --verbose, eftersom det for att fa fram denna information kravs manga sokningar och kan darmed vara langsamt: 11. Vardet pa integritetskontrollen hexadecimalt 12. Blockhuvudstorlek 13. Blockflaggor: c indikerar att komprimerad storlek finns, och u indikerar att okomprimerad storlek finns. Om flaggan inte ar satt visas ett bindestreck (-) istallet for att halla stranglangden fast. Nya flaggor kan laggas till i slutet av strangen i frmtiden. 14. Storlek pa den faktiska komprimerade datan i blocket (detta utelamnar blockhuvud, blockutfyllnad och kontrollfalt) 15. Mangd minne (i byte) som behovs for att dekomprimera detta block med denna version av xz 16. Filterkedja. Observera att de flesta av flaggorna som anvandes vid komprimeringstillfallet inte kan vara kanda, eftersom endat de flaggor som behovs for dekomprimering lagras i .xz-huvudet. Kolumnerna pa summary-raderna: 2. Mangd minne (i byte) som behovs for att dekomprimera denna fil med denna version av xz 3. yes eller no som indikerar om alla blockhuvuden bade har komprimerad storlek och okomprimerad storlek i sig Fran xz 5.1.2alpha: 4. Minsta version av xz som kravs for att dekomprimera filen Kolumnerna pa totals-raden: 2. Antal strommar 3. Antal block 4. Komprimerad storlek 5. Okomprimerad storlek 6. Genomsnittligt komprimeringsforhallande 7. Kommaseparerad lista med integritetskontrollnamn som fanns i filerna 8. Stromutfyllnadsstorlek 9. Antal filer. Denna finns har for att halla ordningen av de tidigare kolumnerna desamma som pa file-rader. Om --verbose angavs tva ganger inkluderas ytterligare kolumner pa totals-raden: 10. Maximal mangd minne (i byte) som behovs for att dekomprimera filerna med denna version av xz 11. yes eller no som indikerar om alla blockhuvuden bade har komprimerad storlek och okomprimerad storlek i sig Fran xz 5.1.2alpha: 12. Minsta version av xz som kravs for att dekomprimera filen Framtida versioner kan lagga till fler radtyper och fler kolumner kan laggas til pa de befintliga radtyperna, men de befintliga kolumnerna kommmer inte andras. Filterhjalp xz --robot --filters-help skriver ut de filter som stodjs i foljande format: filter:flagga=,flagga= filter Namn pa filtret flagga Namn pa en filterspecifik flagga varde Numeriska vardeintervall ser ut som . Strangvardes val visas inom < > och separerade med ett |-tecken. Varje filter skrivs pa en egen rad. Minnesgransinformation xz --robot --info-memory skriver en rad med flera tab-separerade kolumner: 1. Total mangd med fysiskt minne (RAM) i byte. 2. Minnesanvandningsgrans for komprimering i byte (--memlimit-compress). Ett specialvarde 0 indikerar standardinstallningen vilken for enkeltradat lage ar detsamma som ingen grans. 3. Minnesanvandningsgrans for dekomprimering i byte (--memlimit-decompress). Ett specialvarde 0 indikerar standdartinstallningen vilken for enkeltradat lage ar detsamma som ingen grans. 4. Fran xz 5.3.4alpha: Minnesanvandningen for multitradad dekomprimering i byte (--memlimit-mt-decompress). Detta ar aldrig noll eftersom ett systemspecifikt standardvarde som visas i kolumn 5 anvands om ingen grans har angivits uttryckligen. Detta ar heller aldrig storre an vardet i kolumn 3 aven om ett storre varde har angivits med --memlimit-mt-decompress. 5. Fran xz 5.3.4alpha: Ett systemspecifikt standardgrans for minnesanvandning som anvands for att begransa antalet tradar vid komprimering med ett automatiskt antal tradar (--threads=0) och ingen grans for minnesanvandning har angivits (--memlimit-compress). Detta anvands aven som standardvardet pa --memlimit-mt-decompress. 6. Fran xz 5.3.4alpha: antal tillgangliga processortradar. I framtiden kan utdata fran xz --robot --info-memory ha fler kolumner, men aldrig mer an en rad. Version xz --robot --version skriver versionsnumret pa xz och liblzma i foljande format: XZ_VERSION=XYYYZZZS LIBLZMA_VERSION=XYYYZZZS X Huvudversion. YYY Underversion. Jamna nummer ar stabila. Udda nummer ar alfa- eller betaversioner. ZZZ Rattningsniva for stabila utgavor eller bara en raknare for utvecklingsutgavor. S Stabilitet. 0 ar alfa, 1 beta beta och 2 ar stabil. S skall alltid vara 2 nar YYY ar jamnt. XYYYZZZS ar samma pa bada raderna om xz och liblzma kommer fran samma utgava av XZ Utils. Exempel: 4.999.9beta ar 49990091 och 5.0.0 ar 50000002. SLUTSTATUS 0 Allt ar bra. 1 Ett fel uppstod. 2 Nagot vart en varning uppstod, men inga faktiska fel uppstod. Noteringar (inte varningar eller fel) som skrivs pa standard fel paverkar inte slutstatusen. MILJO xz tolkar mellanrumsseparerade listor av flaggor fran miljovariablerna XZ_DEFAULTS och XZ_OPT, i den ordningen, fore flaggorna pa kommandoraden. Observera att endast flaggor tolkas fran miljovariablerna; alla andra argument an flaggor ignoreras tyst. Tolkningen gors med getopt_long(3) vilket aven anvands for kommandoradsargumenten. Varning: genom att satta dessa miljovariabler andrar man i praktiken program och skript som kor xz. for det mesta ar set sakert att satta begransningar pa minnesanvandning, antal tradar och komprimeringsflaggor via miljovariablerna. Nagra flaggor kan dock gora att skript gar sonder. Ett uppenbart exempel ar --help vilket gor att xz visar en hjalptext istallet for att komprimera eller dekomprimera en fil. Mer subtila exempel ar --quiet och --verbose. I manga fall fungerar det bra att aktivera en forloppsindikator med --verbose, men i nagra fall skapar de extra meddelandena problem. Utforlighetsnivan paverkar aven beteendet hos --list. XZ_DEFAULTS Anvandarspecifika eller systemspecifika standardflaggor. Typiskt satts detta i ett initieringsskript for skal for att aktivera xz:s begransning av minnesanvandning som standard eller att stalla in ett standardantal tradar. Med undantag for skalinitieringsskript och liknande specialfall skall skript aldrig satta eller ta bort XZ_DEFAULTS. XZ_OPT Detta ar for att skicka flaggor till xz nar det inte ar mojligt att satta flaggorna direkt pa kommandoraden for xz. Detta ar fallet nar xz kors av ett skript eller verktyg, till exempel, GNU tar(1): XZ_OPT=-2v tar caf apa.tar.xz apa Skript kan anvanda XZ_OPT, till exempel, for att satta skriptspecifika standardflaggor for komprimering. Det rekommenderas fortfarande att tillata anvandaren att asidosatta XZ_OPT om det ar rimligt. Till exempel, i sh(1)-skript kan man anvanda nagot i still med detta: XZ_OPT=${XZ_OPT-"-7e"} export XZ_OPT KOMPATIBILITET MED LZMA UTILS Kommandoradssyntaxen for xz ar praktiskt taget en utokning av lzma, unlzma och lzcat sa som de kommer fran LZMA Utils 4.32.x. I de flesta fall, ar det mojligt att ersatta LZMA Utils med XZ Utils utan att gora sonder befintliga skript. Det finns dock nagra inkompatibiliteter, vilka ibland kan orsaka problem. Komprimeringens forinstallda nivaer Numreringen av forinstallda nivaer for komprimering ar inte identiska i xz och LZMA Utils. Den viktigaste skillnade ar hur lexikonstorlekar avbildas till olika forinstallningar. Lexikonstorleken ar i stort sett lika med dekomprimerarens minnesanvandning. Niva 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 Lexikonstorlekens skillnader paverkar komprimerarens minnesanvandning ocksa, men det finns nagra andra skillnader mellan LZMA Utils och XZ Utils, vilket gor skillnaden annu storre: Niva 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 Standardforinstallningsninvan i LZMA Utils ar -7 medan i XZ Utils ar den -6, sa bada anvander ett 8 MiB lexikon som standard. Strommade visavi icke strommade .lzma-filer Den ikomprimerade storleken pa filen kan lagras i huvudet i .lzma. LZMA Utils gor det nar den komprimerar normala filer. Alternativet ar att markera att den okomprimerade storleken ar okand och anvanda en markor for lastslut for att indikera var dekomprimeraren skall stanna. LZMA Utils anvander denna metod nar den okomprimerade storleken inte ar kand, vilket ar fallet, till exempel, i ror. xz stodjer dekomprimering av .lzma-filer med eller utan markor for lastslut, men alla .lzma filer som skapas av xz kommer anvanda markor for lastslut och ha den okomprimerade storleken markerad som okand i .lzma-huvudet. Detta kan bli ett problem i nagra ovanliga fall. Till exempel kan en .lzma-dekomprimerare i en inbaddad enhet fungera endast med filer som har en kand okomprimerad storlek. Om man stoter pa detta problem behover man anvanda LZMA Utils eller LZMA SDK for att skapa .lzma-filer med kand okomprimerad storlek. Ej stodda .lzma-filer Formatet .lzma tillater varden pa lc upp till 8, och varden pa lp upp till 4. LZMA Utils kan dekomprimera filer med godtyckliga lc och lp, men skapar alltid filer med lc=3 och lp=0. Att skapa filer med andra lc och lp ar mojligt med xz och med LZMA SDK. Implementationen av LZMA1-filtret i liblzma kraver att summan av lc och lp inte overstiger 4. Alltsa, .lzma-filer, vilka overstiger denna grans, kan inte dekomprimeras med xz. LZMA Utils skapar endast .lzma-filer som har en lexikonstorlek pa 2^n (en potens av 2) men godtar filer med godtycklig lexikonstorlek. liblzma godtar endast .lzma-filer som har en lexikonstorlek pa 2^n eller 2^n + 2^(n-1). Detta ar for att minska falska positiva vid detektering av .lzma-filer. Dessa begransningar bor inte vara ett problem i praktiken, eftersom praktiskt taget alla .lzma-filer har komprimerats med installningar som liblzma kommer godta. Avslutande skrap Vid dekomprimering ignorerar LZMA Utils tyst allting efter den forsta .lzma-strommen. I de flesta situationer ar detta fel. Detta betyder aven att LZMA Utils inte stodjer dekomprimering av konkatenerade .lzma-filer. Om det finns data kvar efter den forsta .lzma-strommen betraktar xz filen som trasig om inte --single-stream anvandes. Detta kan gora sonder obskyra skript vilka har antagit att avslutande skrap ignoreras. NOTERINGAR Den komprimerade utdatan kan variera Den exakta komprimerade utdatan som produceras fran samma okomprimerade indatafil kan variera mellan versioner av XZ Utils aven om komprimeringsflaggorna ar identiska. Detta beror pa att kodaren kan forbattras (snabbare eller battre komprimering) utan att paverka filformatet. Utdatan kan variera aven mellan olika byggen av samma version av XZ Utils, om olika byggflaggor anvands. Ovanstaende betyder att nar val --rsyncable har implementerats kommer inte nodvandigtvis de resulterande filerna vara rsync-bara om inte bade gamla och nya filer har komprimerats med samma version av xz. Detta problem kan losas om en del av kodarimplementeringen fryses for att halla rsync-bar utdata stabil mellan xz-versioner. Inbaddade .xz-dekomprimerare Inbaddade implementationer av .xz-dekomprimerare som XZ Embedded stodjer inte nodvandigtvis filer som skapas med andra typer av integritetskontroll an none och crc32. Eftersom standardvardet ar --check=crc64 maste man anvanda --check=none eller --check=crc32 nar filer skapas for inbaddade system. Utanfor inbaddade system stodjer alla dekomprimerare av .xz-format alla typerna av kontroller, eller atminstone kan de dekomprimera filern utan att verifiera integritetskontrollen om den specifika kontrollen inte stodjs. XZ Embedded stodjer BCJ-filter, men endast med standard startavstand. EXEMPEL Grundlaggande Komprimera filen apa till apa.xz med standardkomprimeringsnivan (-6), och ta bort apa om komprimeringen lyckas: xz apa Dekomprimera bepa.xz till bepa och ta inte bort bepa.xz aven om dekomprimeringen lyckas: xz -dk bepa.xz Skapa cepa.tar.xz med forinstallningen -4e (-4 --extreme), vilket ar langsammare an standardvardet -6, men behover mindre minne till komprimering och dekomprimering (48 MiB respektive 5 MiB): tar cf - cepa | xz -4e > cepa.tar.xz En blandning av komprimerade och okomprimerade filer kan dekomprimeras till standard ut med ett enda kommando: xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt Parallell komprimering av manga filer Pa GNU och *BSD kan find(1) och xargs(1) anvandas for att parallellisera komprimeringen av manga filer: find . -type f \! -name '*.xz' -print0 \ | xargs -0r -P4 -n16 xz -T1 Flaggan -P till xargs(1) anger antalet parallella xz-processer. Det basta vardet till flaggan -n beror pa hur manga filer det finns som skapp komprimeras. Om det bara finns nagra stycken filer bor vardet formodigen vara 1; med tiotusentals filer kan 100 eller mer vara lampligt for att reducera antalet xz-processer som xargs(1) kommer att skapa. Flaggan -T1 till xz finns for att tvinga den till enkeltradslage, eftersom xargs(1) anvands for att styra mangden parallellisering. Robotlage Berakna hur manga byt som har sparats totalt efter komprimering av flera filer: xz --robot --list *.xz | awk '/^totals/{print $5-$4}' Ett skript kan vilja veta att det anvander en tillrackligt ny xz. Foljande sh(1)-skript kontrollerar att versionsnumret for verktyget xz ar atminstone 5.0.0. Denna metod ar kompatibel med gamla betaversioner, vilka inte stodde flaggan --robot: if ! eval "$(xz --robot --version 2> /dev/null)" || [ "$XZ_VERSION" -lt 50000002 ]; then echo "Din xz ar for gammal." fi unset XZ_VERSION LIBLZMA_VERSION Ange en grans for minnesanvandning for dekomprimering med XZ_OPT, men om en grans redan har satts, oka den inte: NEWLIM=$((123 << 20)) # 123 MiB OLDLIM=$(xz --robot --info-memory | cut -f3) if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM" export XZ_OPT fi Anpassade komprimerarfilterkedjor Den enklaste anvandningen av anpassade filterkedjor ar att anpassa en LZMA2-forinstallning. Detta kan vara anvandbart eftersom forinstallningarna endast tacker en delmangd av de potentiellt anvandbara kombinationerna av komprimeringsinstallningar. Kolumnerna CompCPU i tabellerna fran beskrivningen av flaggorna options -0 ... -9 och --extreme ar anvandbara vid anpassning av LZMA2-forinstallningar. Har ar de relevanta delarna samlade fran dessa tva tabeller: Forinstallning KompCPU -0 0 -1 1 -2 2 -3 3 -4 4 -5 5 -6 6 -5e 7 -6e 8 Om man vet att en fil behover ett ratt stort lexikon (till exempel, 32 MiB) for att komprimeras bra, men man vill komprimera den snabbare an xz -8 skulle gjort kan en forinstallning med ett lagt varde pa CompCPU (till exempel, 1) andras till att anvanda ett storre lexikon: xz --lzma2=preset=1,dict=32MiB apa.tar Med vissa filer kan ovanstaende kommando vara snabbare an xz -6 samtidigt som det komprimerar betydligt battre. Dock maste det papekas att endast nagra filer drar fordel av ett stort lexikon samtidigt som vardet CompCPU halls lagt. Den mest uppenbara situationen, ar ett stort lexikon kan halpa till mycket, ar ett arkiv som innehaller valdigt snarlika filer pa atmistone nagra megabyte var. Lexikonstorleken maste vara signifikant storre an nagon enskild fil for att lata LZMA2 dra full nytta av likheterna mellan pa varandra foljande filer. Om det gar bra med valdigt hog minnesanvandning i komprimeraren och dekomprimeraren, och filen som komprimeras ar atminstone flera hundra megabyte, kan det vara anvandbart att anvanda annu storre lexikon an de 64 MiB som xz -9 skulle anvanda: xz -vv --lzma2=dict=192MiB stor_apa.tar Att anvanda -vv (--verbose --verbose) som i exemplet ovan kan vara anvandbart for att se minnesbehoven for komprimeraren och dekomprimeraren. Kom ihag att anvanda ett storre lexikon an storleken pa den okomprimerade filen ar sloseri med minne, sa ovanstaende kommando ar inte anvandbart for sma filer. Ibland spelar inte dekomprimeringstiden nagon roll, men dekomprimerarens minnesanvandning maste hallas lag, till exempel for att gora det mojligt att dekomprimera filen pa ett inbaddat system. Foljande kommando anvander -6e (-6 --extreme) som en bas och satter lexikonstorleken till bara 64 KiB. Den resulterande filen kan dekomprimeras med XZ Embedded (det ar darfor det finns --check=crc32) som anvander ungerfar 100 KiB minne. xz --check=crc32 --lzma2=preset=6e,dict=64KiB apa Om man vill krama ur sa manga byte som mojligt kan justering av antalet literala kontextbitar (lc) och antalet positionsbitar (pb) ibland hjalpa. Justering av antalet literala positionsbitar (lp) kan ocksa hjalpa, men vanligen ar lc och pb viktigare. Till exempel innehaller ett kallkodsarkiv huvudsakligen US-ASCII-text, sa nagot i stil med foljande kan ge aningen (som 0.1 %) mindre fil an xz -6e (forsok aven utan lc=4): xz --lzma2=preset=6e,pb=0,lc=4 kallkod.tar Att anvanda ett annat filter tillsammans med LZMA2 kan forbattra komprimeringen med vissa filtyper. Till exempel, for att komprimera ett delat x86-32- eller x86-64-bibliotek med filtret x86 BCJ: xz --x86 --lzma2 libapa.so Observera att ordningen pa filterflaggorna spelar roll. Om --x86 anges efter --lzma2 kommer xz avge ett fel, eftersom det inte kan vara nagot filter efter LZMA2, och aven for att filtret x86 BCJ inte kan anvandas som det sista filtret i kedjan. Deltafiltret tillsammans med LZMA2 gan ge bra resultat med bitkartebilder. Det bor vanligen sla PNG, som har nagra mer avancerade filter an enkla delta men anvander Deflat for den faktiska komprimeringen. Bilden maste sparas i okomprimerat format, till exempel som okomprimerad TIFF. Avstandsparametern i Deltafiltret satts till att motsvara natalet byte per bildpunkt i bilden. Till exempel, 24-bitars RGB bitkarta behover dist=3, och det ar aven bra att skicka pb=0 till LZMA2 for att ge plats for trebytejustering: xz --delta=dist=3 --lzma2=pb=0 apa.tiff Om flera bilder har lagts in i ett gemensamt arkiv (till exempel, .tar) kommer Deltafiltret fungera pa det ocksa sa lange alla bilder har samma antal byte per bildpunkt. SE AVEN xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip(1), bzip2(1), 7z(1) XZ Utils: XZ Embedded: LZMA SDK: Tukaani 2025-03-08 XZ(1)