XZ Utils (xz-utils eller helt enkelt xz) är ett open source och helt gratis mjukvaruprojekt som ger alla viktiga verktyg för att arbeta med XZ-tarballs på alla GNU / Linux operativsystem. Det låter dig extrahera arkiv som slutar i .xz eller .lzma filtillägg, samt att komprimera filer och mappar med XZ-komprimeringsmetoden, vilket resulterar i .xz, .lzma, tar.xz eller tar.lzma arkiv.
En av de kraftfullaste kompressionsalgoritmen
XZ är utan tvekan en av världens mest kraftfulla kompressionsalgoritmer, och den körs på GNU / Linux-system. Det kan skapa arkiv som är två eller tre gånger mindre än andra populära komprimeringsmetoder, till exempel RAR, ZIP, GZ eller BZ2. För att vara mer exakt är XZ-arkiven med 15% mindre än bzip2-tarballs och med 30% mindre än gzip-filer.
Vad är i lådan?
XZ Utils eller xz-utils eller xz är det officiella namnet på paketet, som enkelt kan installeras på många GNU / Linux-operativsystem från sina standardprogramvaror. Den består av liblzma-komprimeringsbiblioteket, xz-kommandoradsverktyget och xzdec-dekomprimeringsverktyget.
Dessutom levereras det med en uppsättning skalskript, inklusive xzgrep, xzegrep, xzfgrep, xzless, xzmore, xzcat, xzcmp och xzdiff, som låter dig se, jämföra och greppa XZ-arkiv samt de nödvändiga komponenterna att hantera LZMA-arkiv, som nu avlägsnas av XZ. XZ-kommandot innehåller flera viktiga alternativ, inklusive förmågan att tvinga dekompression och komprimering.
Stödda plattformar
XZ-datakomprimeringsprogrammet stöds officiellt på GNU / Linux, GNU / HURD, BSD (FreeBSD, OpenBSD, NetBSD, Dragonfly BSD och MirBSD), MINIX, Solaris, IRIX, AIX, QNX, Mac OS X, Haiku , HP-UX, Tru64, OpenVMS, OpenVOS, IBM OS / 2, DOS (FreeDOS och MS-DOS) samt Microsoft Windows 95 och senare.
Vad är nytt i den här utgåvan:
- liblzma:
- Tillåt 0 som minnesbegränsningsgräns istället för att returnera LZMA_PROG_ERROR. Nu behandlas 0 som om 1 byte specificerades, vilket effektivt är detsamma som 0.
- Använd "noexcept" sökord istället för "kasta ()" i de offentliga rubrikerna när en C ++ 11 (eller nyare standard) kompilator används.
- Tillagt en portabilitetsfix för senaste Intel C-kompilatorer.
- Microsoft Visual Studio-byggfiler har flyttats under Windows / vs2013 och Windows / vs2017.
- xz:
- Fix "xz --list --robot missing_or_bad_file.xz" som skulle försöka skriva ut en enhetlig sträng och därmed producera skräppost. Eftersom utträdesstatusen är icke-noll, försöker de flesta användningarna av ett sådant kommando inte tolka soputmatningen.
- "xz - list foo.xz" kan skriva ut "Internt fel (fel)" i ett hörnfall där en specifik minnesbegränsningsgräns hade ställts in.
Vad är nytt i version:
- xz:
- Stäng alltid en fil innan du försöker radera den för att undvika problem på vissa operativsystem och filsystemkombinationer.
- Fast kopiering av filtidstämplar i Windows.
- Tillagd experimentell (inaktiverad som standard) sandbox support med Capsicum (FreeBSD & gt; = 10). Se - enbart sandlåda i INSTALL.
- C99 / C11 överensstämmelse fixar till liblzma. De problem som drabbas åtminstone bygger med hjälp av länkoptimeringar.
- Fasta fel i den sällan använda funktionen lzma_index_dup ().
- Användningen av extern SHA-256-kod är nu inaktiverad. Det kan fortfarande aktiveras genom att passera --enable-external-sha256 för att konfigurera. Skälen att avaktivera den som standard (se INSTALL för mer information) ...
- Vissa OS-specifika SHA-256-implementeringar strider mot OpenSSL och orsakar problem i program som länkar till både liblzma och libcrypto. Minst FreeBSD 10 och MINIX 3.3.0 påverkas.
- Den interna SHA-256 är snabbare än SHA-256-koden i vissa operativsystem.
- Ändrad CPU-kärnräkningsmetod för att använda schemaläggning () på GNU / Linux och GNU / kFreeBSD.
- Fixar till byggsystemet och xz för att göra xz buildable även när kodare, avkodare eller gängning har avaktiverats från libilzma med konfigurationsalternativ. Dessa fixer lade till två nya #defines till config.h: HAVE_ENCODERS och HAVE_DECODERS.
Vad är nytt i version 5.2.2:
- Fasta buggar i QNX-specifik kod.
- Uteslutet användningen av pipe2 () även om den är tillgänglig för att undvika överföringsproblem med några gamla Linux- och glibc-kombinationer.
- Uppdaterad tysk översättning.
- Tillagda projektfiler för att skapa statisk och delad liblzma (inte hela XZ Utils) med Visual Studio 2013 uppdatering 2 eller senare.
- Dokumenterad att gängad dekompression inte har implementerats än. En 5.2.0 NEWS-post som beskriver multi-threading support hade felaktigt sagt "dekompression" när det borde ha sagt "komprimering".
Vad är nytt i version 5.2.1:
- Fastställde en regression för komprimeringsförhållande i snabbläge för LZMA1 och LZMA2. Felet är närvarande i 5.1.4 beta och 5.2.0 utgåvor.
- Fixat ett portabilitetsproblem i xz som påverkade minst OpenBSD.
- Fast xzdiff för att vara kompatibel med FreeBSDs mktemp som skiljer sig från de flesta andra mktemp-implementeringar.
- Ändrad CPU-kärnräkningsdetektering för att använda cpuset_getaffinity () på FreeBSD.
Vad är nytt i version 5.2.0:
- Alla korrigeringar från 5.0.8
- liblzma: Fast lzma_stream_encoder_mt_memusage () när en förinställning användes.
- xzdiff: Om mktemp inte är installerat kommer mkdir att användas som en återgång för att skapa en tillfällig katalog. Installering av mktemp rekommenderas fortfarande.
- Uppdaterade franska, tyska, italienska, polska och vietnamesiska översättningar.
Vad är nytt i version 5.0.7:
- Alla korrigeringar från 5.0.6
- liblzma: Fast användning av förinställningar i gängad kodareinitiering.
- xz - block-list och -block-storlek kan nu användas tillsammans i ett gängat läge. Tidigare arbetade kombinationen bara i tråd med flera gängor.
- Tillagt stöd för LZMA_IGNORE_CHECK till liblzma och gjort det tillgängligt i xz som -ignore-check.
- liblzma hastighetsoptimeringar:
- Initialisering av en ny LZMA1- eller LZMA2-kodare har optimerats. (Hastigheten att återinföra en redan tilldelad kodare påverkas inte.) Detta hjälper till vid komprimering av många små buffertar med lzma_stream_buffer_encode () och andra liknande situationer där ett redan allokerat kodar tillstånd inte återanvänds. Denna uppstart är synlig i xz också om man komprimerar många små filer en i taget istället kör xz en gång och ger alla filer som kommandoradsargument.
- Buffertjämförelser är nu mycket snabbare när oanpassad åtkomst är tillåten (konfigurerad med -enlig-oanpassad åtkomst). Detta ökar kodningen betydligt. Det finns en arkspecifik kod för 32-bitars och 64-bitars x86 (32-bitars behov SSE2 för bästa resultat och det finns ingen spårning av CPU-detektering för tillfället). För andra bågar finns det endast generisk kod som förmodligen inte är så optimal som bågspecifika lösningar kan vara.
- Några hastighetsoptimeringar gjordes till SHA-256-koden. (Observera att den inbyggda SHA-256-koden inte används på alla operativsystem.)
- liblzma kan nu byggas med MSVC 2013 uppdatering 2 eller senare med Windows / config.h.
- Vietnamesiska översättning har lagts till.
Vad är nytt i version 5.0.6:
- liblzma: Fast användning av förinställningar i gängad kodareinitiering.
- xz - block-list och -block-storlek kan nu användas tillsammans i ett gängat läge. Tidigare arbetade kombinationen bara i tråd med flera gängor.
- Tillagt stöd för LZMA_IGNORE_CHECK till liblzma och gjort det tillgängligt i xz som -ignore-check.
- liblzma hastighetsoptimeringar:
- Initialisering av en ny LZMA1- eller LZMA2-kodare har optimerats. (Hastigheten att återinföra en redan tilldelad kodare påverkas inte.) Detta hjälper till vid komprimering av många små buffertar med lzma_stream_buffer_encode () och andra liknande situationer där ett redan allokerat kodar tillstånd inte återanvänds. Denna uppstart är synlig i xz också om man komprimerar många små filer en i taget istället kör xz en gång och ger alla filer som kommandoradsargument.
- Buffertjämförelser är nu mycket snabbare när oanpassad åtkomst är tillåten (konfigurerad med -enbar-oanpassad åtkomst). Detta ökar kodningen betydligt. Det finns en arkspecifik kod för 32-bitars och 64-bitars x86 (32-bitars behov SSE2 för bästa resultat och det finns ingen spårning av CPU-detektering för tillfället). För andra bågar finns det endast generisk kod som förmodligen inte är så optimal som bågspecifika lösningar kan vara.
- Några hastighetsoptimeringar gjordes till SHA-256-koden. (Observera att den inbyggda SHA-256-koden inte används på alla operativsystem.)
- liblzma kan nu byggas med MSVC 2013 uppdatering 2 eller senare med Windows / config.h.
- Vietnamesiska översättning har lagts till.
Kommentarer hittades inte