XZ Utils (xz-utils tai yksinkertaisesti xz) on avoin lähdekoodi ja täysin ilmainen ohjelmistoprojekti, joka tarjoaa kaikki tärkeät apuohjelmat XZ-tarballien kanssa missä tahansa GNU / Linux-käyttöjärjestelmässä. Sen avulla voit purkaa arkistoja, jotka loppuvat .xz- tai .lzma-tiedostojen laajennuksilla, sekä pakata tiedostot ja kansiot XZ-pakkaustekniikalla, jolloin saadaan .xz-, .lzma-, tar.xz- tai tar.lzma-arkistot.
Yksi tehokkaimmista puristusalgoritmista
XZ on epäilemättä yksi maailman tehokkaimmista puristusalgoritmista, ja se toimii GNU / Linux-järjestelmissä. Se pystyy luomaan arkistoja, jotka ovat kaksi tai kolme kertaa pienempiä kuin muut suosittuneet pakkausmenetelmät, kuten RAR, ZIP, GZ tai BZ2. Tarkemmin sanottuna XZ-arkistot ovat 15% pienempiä kuin bzip2 tarballs ja 30% pienempiä kuin gzip-tiedostot.
Mitä ruutuun on?
XZ Utils tai xz-utils tai xz on paketin virallinen nimi, joka voidaan helposti asentaa useille GNU / Linux-käyttöjärjestelmille niiden oletusohjelmistosäilöistä. Se koostuu liblzma-pakkauskirjastosta, xz-komentorivityökalusta ja xzdec-purkutyökalusta.
Lisäksi se sisältää joukon komentotiedostoja, kuten xzgrep, xzegrep, xzfgrep, xzless, xzmore, xzcat, xzcmp ja xzdiff, joiden avulla voit tarkastella, verrata ja korostaa XZ-arkistoja sekä tarvittavat komponentit käsittelemään LZMA-arkistoja, jotka XZ on nyt hylännyt. XZ-komento sisältää useita tärkeitä vaihtoehtoja, mukaan lukien kyky pakottaa dekompressiota ja pakkausta.
Tuetut alustat
XZ-tietojen pakkausohjelmisto on virallisesti tuettu GNU / Linux, GNU / HURD, BSD (FreeBSD, OpenBSD, NetBSD, Dragonfly BSD ja MirBSD), MINIX, Solaris, IRIX, AIX, QNX,
Uutta strong> > tässä julkaisussa:
- liblzma:
- Salli 0 muistin käyttörajan sijaan palauttaa LZMA_PROG_ERROR. Nyt 0 käsitellään ikään kuin yksi tavu määritettiin, joka on käytännössä sama kuin 0.
- Käytä & quot; noexcept & quot; avainsana & quot; throw () & quot; julkisissa otsakkeissa, kun käytetään C ++ 11 (tai uudempaa standardia).
- Lisätty siirrettävyyskorjaus uusille Intel C-kääntäjille.
- Microsoft Visual Studio -rakennustiedostot on siirretty ikkunat / vs2013 ja windows / vs2017 mukaan.
- XZ:
- Korjaa & quot; xz --list --robot puuttuva tai -bad_file.xz & quot; joka yritettäisiin tulostaa alijäämättyä merkkijonoa ja tuottaa siten roskatulostusta. Koska poistumistilanne ei ole nolla, useimpien tällaisen komennon käyttö ei yritä tulkita roskatulosteita.
- & quot; xz --list foo.xz & quot; voi tulostaa & quot; Sisäinen virhe (bug) & quot; kulmakohdassa, jossa oli määritetty tietty muistin käyttöraja.
Uutta strong> versiona:
- XZ:
- Sulje tiedosto aina, ennen kuin yrität poistaa sen, jotta jotain käyttöjärjestelmää ja tiedostojärjestelmien yhdistelmiä ei voi välttää.
- Tiedostoaikataulujen kiinteä kopiointi Windowsissa.
- Lisätty kokeellinen (oletusarvoisesti pois käytöstä) hiekkalaatikon tuki Capsicumilla (FreeBSD & gt; = 10). Katso INSTALL -valintakelpoinen hiekkalaatikko.
- C99 / C11: n vaatimustenmukaisuus korjataan liblmaksi. Asiaan vaikuttavat ongelmat ainakin toisiinsa käyttämällä linkki-aikaisia optimointeja.
- Kiinteät virheet harvoin käytetyssä toiminnossa lzma_index_dup ().
- Ulkoisen SHA-256-koodin käyttäminen on nyt estetty oletusarvoisesti. Se voidaan silti ottaa käyttöön siirtämällä --enable-external-sha256 -asetuksia. Syyt sen poistamiseksi oletuksena (katso lisätietoja kohdasta INSTALL) ...
- Jotkut käyttöjärjestelmäkohtaiset SHA-256-toteutukset ovat ristiriidassa OpenSSL: n kanssa ja aiheuttavat ongelmia ohjelmissa, jotka liittyvät sekä liblmaksi että libcryptoon. Vähintään FreeBSD 10 ja MINIX 3.3.0.
- Sisäinen SHA-256 on nopeampi kuin SHA-256-koodi joissakin käyttöjärjestelmissä.
- Muutettu CPU: n ydinlaskenta havaittiin GNU / Linux- ja GNU / kFreeBSD-sovellusten aikataulujen (_) fyysisyyden () käyttämiseksi.
- Korjaa build-järjestelmä ja xz tehdä xz buildable vaikka kooderit, dekooderit tai langat on poistettu käytöstä libilzma käyttäen konfigurointi vaihtoehtoja. Nämä korjaukset lisäsivät kaksi uutta #defines-asetusta config.h: HAVE_ENCODERS ja HAVE_DECODERS.
Uutta strong> versiossa 5.2.2:
- Kiinteät virheet QNX- li>
- Ei sallinut putken2 () käyttöä, vaikka se olisi käytettävissä, jotta vältettäisiin siirrettävyysongelmia vanhojen Linux- ja glibc-yhdistelmien kanssa.
- Päivitetty saksa käännös.
- Lisätyt projektitiedostot rakentaakseen staattisen ja jaetun liblzman (ei koko XZ Utils) Visual Studio 2013 -päivityksen 2 tai uudemman kanssa.
- Dokumentoitu, että kierteitetty dekompressiota ei ole vielä toteutettu. 5.2.0 NEWS-merkintä, joka kuvaa monisäiettävää tukea, oli virheellisesti sanottu "dekompressio" kun sen olisi pitänyt sanoa "puristus".
Uutta strong> versio 5.2.1:
- Kiinteä puristus-suhteen regressio LZMA1: n ja LZMA2: n nopeassa toimintatilassa. Vika esiintyy 5.1.4beta ja 5.2.0 julkaisuissa.
- Ratkaistiin siirrettävyyden ongelma xz: ssä, joka vaikutti ainakin OpenBSD: hen.
- Kiinteä xzdiff on yhteensopiva FreeBSD: n mktemp kanssa, joka eroaa useimmista mktemp toteutuksista.
- Muuttunut CPU-ydinlaskurin tunnistus käyttää cpuset_getaffinity () FreeBSD: ssä.
- Kaikki korjaukset 5.0.8: sta li>
- libbzma: Kiinteä lzma_stream_encoder_mt_memusage (), kun esiasetusta käytettiin.
- xzdiff: Jos mktempia ei ole asennettu, mkdirä käytetään varmuuskopioina väliaikaisen hakemiston luomiseen. Mktempin asentamista suositellaan edelleen.
- Päivitetty ranskan, saksan, italian, puolan ja vietnamilainen käännökset.
Uutta strong> versiossa 5.0.7:
- Kaikki korjaukset 5.0.6
- libbzma: Kiinteä esiasetusten käyttö kierretyn kooderin alustuksessa.
- xz - block-list ja -blokkoko voidaan nyt käyttää yhdessä yhden kierteitetyn tilan kanssa. Aikaisemmin yhdistelmä toimi vain monisäikeisessä tilassa.
- Lisäsi LZMA_IGNORE_CHECK tukeen liblzmalle ja teki sen saatavaksi xz: ssä --ignore-check.
- liblzma nopeusoptimoinnit:
- Uuden LZMA1- tai LZMA2-kooderin alustaminen on optimoitu. (Tämä ei vaikuta jo allokoidun kooderin uudelleensoitumisnopeuteen.) Tämä auttaa, kun pakataan monia pieniä puskureita lzma_stream_buffer_encode (): lla ja muilla vastaavilla tilanteilla, joissa jo allokoidun kooderin tilaa ei käytetä uudelleen. Tämä nopeus näkyy myös xz: ssä, jos kompressoidaan useita pieniä tiedostoja yksi kerrallaan sen sijaan, että suoritetaan xz kerran ja annetaan kaikki tiedostot komentorivin argumentteina.
- Buffer-vertailut ovat nyt paljon nopeampia, kun kohdistamaton pääsy on sallittu (määritetty --enable-unaligned-access). Tämä nopeuttaa koodaamista merkittävästi. Arkkikohtainen koodi on 32-bittinen ja 64-bittinen x86 (32-bittinen SSE2-sovellus, jotta parhaan tuloksen saavuttaminen ei onnistu). Muille kaareille on vain yleistä koodia, joka ei todennäköisesti ole yhtä optimaalinen kuin arkkispesifiset ratkaisut.
- SHA-256-koodiin tehtiin muutama nopeusoptimointi. (Huomaa, että sisäänrakennettua SHA-256-koodia ei käytetä kaikissa käyttöjärjestelmissä.)
- liblzma voidaan nyt rakentaa MSVC 2013 -päivityksen 2 tai uudemman kanssa Windows / config.h: n avulla.
- Vietnamin käännös on lisätty.
Uutta strong> versiossa 5.0.6:
- libbzma: Kiinteä esiasetusten käyttö kierrettyyn kooderin alustukseen.
- xz - block-list ja -blokkoko voidaan nyt käyttää yhdessä yhden kierteitetyn tilan kanssa. Aikaisemmin yhdistelmä toimi vain monisäikeisessä tilassa.
- Lisäsi LZMA_IGNORE_CHECK tukeen liblzmalle ja teki sen saatavaksi xz: ssä --ignore-check.
- liblzma nopeusoptimoinnit:
- Uuden LZMA1- tai LZMA2-kooderin alustaminen on optimoitu. (Tämä ei vaikuta jo allokoidun kooderin uudelleensoitumisnopeuteen.) Tämä auttaa, kun pakataan monia pieniä puskureita lzma_stream_buffer_encode (): lla ja muilla vastaavilla tilanteilla, joissa jo allokoidun kooderin tilaa ei käytetä uudelleen. Tämä nopeus näkyy myös xz: ssä, jos kompressoidaan useita pieniä tiedostoja yksi kerrallaan sen sijaan, että suoritetaan xz kerran ja annetaan kaikki tiedostot komentorivin argumentteina.
- Puskurin vertailut ovat nyt paljon nopeampia, kun kohdistamaton pääsy on sallittu (määritetty --enable-unaligned-access). Tämä nopeuttaa koodaamista merkittävästi. Arkkikohtainen koodi on 32-bittinen ja 64-bittinen x86 (32-bittinen SSE2-sovellus, jotta parhaan tuloksen saavuttaminen ei onnistu). Muille kaareille on vain yleistä koodia, joka ei todennäköisesti ole yhtä optimaalinen kuin arkkispesifiset ratkaisut.
- SHA-256-koodiin tehtiin muutama nopeusoptimointi. (Huomaa, että sisäänrakennettua SHA-256-koodia ei käytetä kaikissa käyttöjärjestelmissä.)
- liblzma voidaan nyt rakentaa MSVC 2013 -päivityksen 2 tai uudemman kanssa Windows / config.h: n avulla.
- Vietnamin käännös on lisätty.
Kommentteja ei löytynyt