XZ Utils - XZ Utils

XZ Utils
Originale forfattere Lasse Collin
Udvikler (er) Tukaani -projektet
Stabil udgivelse
5.2.5 / 17. marts 2020 ( 2020-03-17 )
Depot Rediger dette på Wikidata
Skrevet i C
Operativ system På tværs af platforme
Type Datakomprimering
Licens Public domain . (men se detaljer i Udvikling og adoption )
Internet side tukaani .org /xz /

XZ Utils (tidligere LZMA Utils ) er et sæt gratis softwarekommando - tabsløse datakompressorer , herunder lzma og xz, til Unix-lignende operativsystemer og fra version 5.0 og fremefter Microsoft Windows .

I de fleste tilfælde opnår xz højere komprimeringshastigheder end alternativer som gzip og bzip2 . Dekompressionshastighed er hurtigere end bzip2, men langsommere end gzip. Komprimering kan være meget langsommere end gzip og er langsommere end bzip2 for høje komprimeringsniveauer, og er mest nyttig, når en komprimeret fil vil blive brugt mange gange.

XZ Utils består af to hovedkomponenter:

Der findes forskellige kommandogenveje, f.eks. lzma(For xz --format=lzma), unxz(for xz --decompress; analog til gunzip) og xzcat(for unxz --stdout; analog til zcat)

XZ Utils kan komprimere og dekomprimere både xz- og lzma -filformaterne , men da LZMA -formatet nu er ældre , komprimeres XZ Utils som standard til xz.

Anvendelse

Både softwarens adfærd og filformatets egenskaber er designet til at fungere på samme måde som de populære Unix -komprimeringsværktøjer gzip og bzip2 . Den består af en Unix-port af Igor Pavlovs LZMA- SDK, der er tilpasset til problemfrit at passe ind i Unix-miljøer og deres sædvanlige struktur og adfærd.

xz har understøttet multi-threaded komprimering (med -Tflaget) siden 2014, version 5.2.0 .; fra 2019 er trådkompression ikke implementeret endnu. Antallet af tråde kan være mindre end defineret, hvis filen ikke er stor nok til at træde med de givne indstillinger, eller hvis brug af flere tråde ville overstige grænseværdien for hukommelsesforbrug.

Ligesom gzip og bzip kan xz og lzma kun komprimere enkeltfiler (eller datastrømme) som input. De kan ikke samle flere filer i et enkelt arkiv - for at gøre dette bruges et arkiveringsprogram først, f.eks. Tjære .

Komprimering af et arkiv:

xz   my_archive.tar    # results in my_archive.tar.xz
lzma my_archive.tar    # results in my_archive.tar.lzma

Dekomprimering af arkivet:

unxz    my_archive.tar.xz      # results in my_archive.tar
unlzma  my_archive.tar.lzma    # results in my_archive.tar

Version 1.22 eller større af GNU -implementeringen af ​​tjære har gennemsigtig understøttelse af tarballer komprimeret med lzma og xz, ved hjælp af switches --xz eller -Jtil xz -komprimering og --lzmatil LZMA -komprimering.

Oprettelse af et arkiv og komprimering af det:

tar -c --xz   -f my_archive.tar.xz   /some_directory    # results in my_archive.tar.xz
tar -c --lzma -f my_archive.tar.lzma /some_directory    # results in my_archive.tar.lzma

Dekomprimering af arkivet og udtrækning af dets indhold:

tar -x --xz   -f my_archive.tar.xz      # results in /some_directory
tar -x --lzma -f my_archive.tar.lzma    # results in /some_directory

Tjæreeksempel på enkelt bogstav til arkiv med komprimering og dekomprimering med ekstrakt ved hjælp af kort suffiks :

tar cJf keep.txz keep   # archive then compress the directory ./keep/ into the file ./keep.txz
tar xJf keep.txz        # decompress then extract the file ./keep.txz creating the directory ./keep/

Xz -formatet

Xz -formatet forbedres på lzma ved at tillade forbehandlingsfiltre. De nøjagtige filtre, der bruges, ligner dem, der bruges i 7z , da 7z's filtre er tilgængelige i det offentlige domæne via LZMA SDK.

Udvikling og adoption

Udviklingen af ​​XZ Utils fandt sted inden for Tukaani -projektet, som blev ledet af Mike Kezner, af en lille gruppe udviklere, der engang havde en Linux -distribution baseret på Slackware .

Hele kildekoden til xz og liblzma er blevet frigivet til det offentlige område . XZ Utils -kildefordelingen indeholder desuden nogle valgfri scripts og et eksempelprogram, der er underlagt forskellige versioner af GPL .

Helt specifikt inkluderer den fulde liste over GPL -scripts og kilder, der distribueres med XZ Utils -softwaren:

  • En valgfri implementering af en fælles libc -funktion, getopt ( GNU GPL v2 og GNU LGPL v2.1 )
  • Et m4 -script til pthread -registrering ( GNU GPL v3 )
  • Nogle ikke -væsentlige indpakningsscripts (xzgrep osv.) ( GNU GPL v2 )
  • Og eksempelprogrammet scanlzma, som ikke er integreret med build -systemet

De resulterende binærfiler xz og liblzma er offentlige domæner, medmindre den valgfrie LGPL getopt -implementering er inkorporeret.

Binære filer er tilgængelige til FreeBSD , Linux -systemer, Microsoft Windows og FreeDOS . En række Linux -distributioner , herunder Fedora , Slackware , Ubuntu og Debian bruger xz til at komprimere deres softwarepakker. Arch Linux brugte tidligere xz til at komprimere pakker, men pr. 27. december 2019 komprimeres pakker med Zstandard -komprimering . Den GNU FTP arkiv bruger også xz.

Referencer

eksterne links