XZ Utils (xz-utils oder einfach xz) ist ein Open-Source- und vollständig kostenloses Softwareprojekt, das alle wesentlichen Werkzeuge für die Arbeit mit XZ-Tarballs auf jedem GNU / Linux-Betriebssystem bereitstellt. Es ermöglicht Ihnen, Archive zu extrahieren, die auf die Dateierweiterungen .xz oder .lzma enden, sowie Dateien und Ordner mit der XZ-Komprimierungsmethode zu komprimieren, was zu .xz-, .lzma-, tar.xz- oder tar.lzma-Archiven führt / p>
Einer der leistungsfähigsten Komprimierungsalgorithmen
XZ ist ohne Zweifel einer der leistungsstärksten Komprimierungsalgorithmen der Welt und läuft auf GNU / Linux-Systemen. Es ist in der Lage, Archive zu erstellen, die zwei- oder dreimal kleiner sind als andere gängige Komprimierungsmethoden wie RAR, ZIP, GZ oder BZ2. Um genauer zu sein, sind die XZ-Archive 15% kleiner als bzip2-Tarballs und 30% kleiner als gzip-Dateien.
Was ist in der Box?
XZ Utils oder xz-utils oder xz ist der offizielle Name des Pakets, das einfach auf vielen GNU / Linux-Betriebssystemen von ihren Standard-Software-Repositories installiert werden kann. Es besteht aus der Bibliothek liblzma compression, dem Befehlszeilentool xz und dem Tool xzdec decompression-only.
Außerdem enthält es eine Reihe von Shell-Skripten, darunter xzgrep, xzegrep, xzfgrep, xzless, xzmore, xzcat, xzcmp und xzdiff, mit denen Sie XZ-Archive sowie die erforderlichen Komponenten anzeigen, vergleichen und vergrößern können mit LZMA-Archiven umgehen, die jetzt von XZ veraltet sind. Der XZ-Befehl enthält mehrere wichtige Optionen, einschließlich der Möglichkeit, die Dekomprimierung und Komprimierung zu erzwingen.
Unterstützte Plattformen
Die XZ-Datenkomprimierungssoftware wird offiziell unter GNU / Linux, GNU / HURD, BSD (BSD, OpenBSD, NetBSD, Dragonfly BSD und MirBSD), MINIX, Solaris, IRIX, AIX, QNX, MacOS X, Haiku unterstützt , HP-UX, Tru64, OpenVMS, OpenVOS, IBM OS / 2, DOS (FreeDOS und MS-DOS) sowie Microsoft Windows 95 und höher.
Was ist neu In dieser Version:
- liblzma:
- Erlaube 0 als Speicherverbrauchsgrenze, anstatt LZMA_PROG_ERROR zurückzugeben. Jetzt wird 0 so behandelt, als ob 1 Byte angegeben wurde, was effektiv gleich 0 ist.
- Verwenden Sie & quot; noexcept & quot; Schlüsselwort anstelle von "throw ()" in den öffentlichen Headern, wenn ein C ++ 11 (oder neuerer Standard) Compiler verwendet wird.
- Ein Portabilitätsfix für aktuelle Intel C Compiler wurde hinzugefügt.
- Microsoft Visual Studio-Builddateien wurden unter windows / vs2013 und windows / vs2017 verschoben.
- xz:
- Fix "xz --list --robot missing_or_bad_file.xz" & quot; welches versuchen würde, eine unitarialisierte Zeichenkette zu drucken und somit eine Müllausgabe zu erzeugen. Da der Exit-Status nicht Null ist, versuchen die meisten Verwendungen eines solchen Befehls nicht, die Garbage-Ausgabe zu interpretieren.
- & quot; xz - Liste foo.xz & quot; könnte drucken & quot; Interner Fehler (Fehler) & quot; in einem Fall, in dem eine bestimmte Speichernutzungsgrenze festgelegt wurde.
Was ist neu in der Version:
- xz:
- Schließen Sie immer eine Datei, bevor Sie versuchen, sie zu löschen, um Probleme bei einigen Betriebssystem- und Dateisystemkombinationen zu vermeiden.
- Das Kopieren von Dateizeitstempeln unter Windows wurde korrigiert.
- Experimentelle (standardmäßig deaktivierte) Sandbox-Unterstützung mit Capsicum (FreeBSD & gt; = 10) hinzugefügt. Siehe --able-Sandbox in INSTALL.
- C99 / C11-Konformität wird an liblzma angepasst. Die Probleme betreffen zumindest einige Builds mithilfe von Link-Time-Optimierungen.
- Fehler in der selten verwendeten Funktion lzma_index_dup (). behoben
- Die Verwendung von externem SHA-256-Code ist jetzt standardmäßig deaktiviert. Es kann weiterhin aktiviert werden, indem Sie --enable-external-sha256 zur Konfiguration übergeben. Die Gründe, um es standardmäßig zu deaktivieren (siehe INSTALL für weitere Details) ...
- Einige betriebssystemspezifische SHA-256-Implementierungen stehen in Konflikt mit OpenSSL und verursachen Probleme in Programmen, die sowohl mit liblzma als auch mit libcrypto verknüpft sind. Mindestens FreeBSD 10 und MINIX 3.3.0 sind betroffen.
- Der interne SHA-256 ist in manchen Betriebssystemen schneller als der SHA-256-Code.
- Die Erkennung der CPU-Kernanzahl wurde geändert, um sched_getaffinity () unter GNU / Linux und GNU / kFreeBSD zu verwenden.
- Behebt das Build-System und xz, um xz erstellbar zu machen, auch wenn Encoder, Decoder oder Threading mit Konfigurationsoptionen von libilzma deaktiviert wurden. Diese Fixes fügten config.h zwei neue # defines hinzu: HAVE_ENCODERS und HAVE_DECODERS.
Was ist neu in Version 5.2.2:
- Fehler in QNX-spezifischen Code behoben.
- Die Verwendung von pipe2 () wurde unterbunden, auch wenn sie verfügbar ist, um Portabilitätsprobleme mit einigen alten Linux- und glibc-Kombinationen zu vermeiden.
- Aktualisierte deutsche Übersetzung.
- Projektdateien hinzugefügt, um statische und freigegebene liblzma (nicht die gesamten XZ Utils) mit Visual Studio 2013 Update 2 oder höher zu erstellen.
- Dokumentiert, dass die Thread-Dekomprimierung noch nicht implementiert wurde. Ein 5.2.0 NEWS-Eintrag, der Multi-Threading-Unterstützung beschreibt, hatte fälschlicherweise "Dekomprimierung" wenn es "Komprimierung" hätte sagen sollen.
Was ist neu in Version 5.2.1:
- Eine Kompressionsverhältnis-Regression im schnellen Modus von LZMA1 und LZMA2 wurde korrigiert. Der Fehler ist in den Versionen 5.1.4beta und 5.2.0 vorhanden.
- Behebung eines Portabilitätsproblems in xz, das mindestens OpenBSD betrifft.
- Behoben, dass xzdiff mit dem mktemp von FreeBSD kompatibel ist, was sich von den meisten anderen mktemp-Implementierungen unterscheidet.
- Die Erkennung der CPU-Kernanzahl wurde geändert, um cpuset_getaffinity () unter FreeBSD zu verwenden.
Was ist neu in Version 5.2.0:
- Alle Korrekturen von 5.0.8
- liblzma: Es wurde ein Fehler behoben, wenn eine Voreinstellung verwendet wurde.
- xzdiff: Wenn mktemp nicht installiert ist, wird mkdir als Fallback verwendet, um ein temporäres Verzeichnis zu erstellen. Die Installation von mktemp wird weiterhin empfohlen.
- Aktualisierte Übersetzungen in Französisch, Deutsch, Italienisch, Polnisch und Vietnamesisch.
Was ist neu in Version 5.0.7:
- Alle Korrekturen von 5.0.6
- liblzma: Die Verwendung von Presets in der Thread-Encoder-Initialisierung wurde korrigiert.
- xz --block-list und --block-size können jetzt zusammen im Singlethread-Modus verwendet werden. Zuvor funktionierte die Kombination nur im Multithread-Modus.
- Unterstützung für LZMA_IGNORE_CHECK zu liblzma hinzugefügt und in xz als --ignore-check verfügbar gemacht.
- liblzma Geschwindigkeitsoptimierungen:
- Die Initialisierung eines neuen LZMA1- oder LZMA2-Gebers wurde optimiert. (Die Geschwindigkeit der Reinitialisierung eines bereits zugewiesenen Encoders ist nicht betroffen.) Dies hilft beim Komprimieren vieler kleiner Puffer mit lzma_stream_buffer_encode () und anderen ähnlichen Situationen, in denen ein bereits zugeordneter Encoderstatus nicht wiederverwendet wird. Diese Beschleunigung ist auch in xz sichtbar, wenn man viele kleine Dateien nacheinander komprimiert, anstatt einmal xz auszuführen und alle Dateien als Befehlszeilenargumente zu geben.
- Puffervergleiche sind jetzt viel schneller, wenn nicht ausgerichteter Zugriff erlaubt ist (konfiguriert mit --enable-unaligned-access). Dies beschleunigt die Codierung erheblich. Es gibt arch-spezifischen Code für 32-Bit und 64-Bit x86 (32-Bit benötigt SSE2 für die besten Ergebnisse und es gibt keine Laufzeit-CPU-Erkennung für jetzt). Für andere Archs gibt es nur generischen Code, der wahrscheinlich nicht so optimal ist wie arch-spezifische Lösungen.
- Am SHA-256-Code wurden einige Geschwindigkeitsoptimierungen vorgenommen. (Beachten Sie, dass der integrierte SHA-256-Code nicht auf allen Betriebssystemen verwendet wird.)
- liblzma kann jetzt mit MSVC 2013 Update 2 oder höher unter Verwendung von windows / config.h erstellt werden.
- Vietnamesische Übersetzung wurde hinzugefügt.
Was ist neu in Version 5.0.6:
- liblzma: Die Verwendung von Presets in der Thread-Encoder-Initialisierung wurde korrigiert.
- xz --block-list und --block-size können jetzt zusammen im Singlethread-Modus verwendet werden. Zuvor funktionierte die Kombination nur im Multithread-Modus.
- Unterstützung für LZMA_IGNORE_CHECK zu liblzma hinzugefügt und in xz als --ignore-check verfügbar gemacht.
- liblzma Geschwindigkeitsoptimierungen:
- Die Initialisierung eines neuen LZMA1- oder LZMA2-Gebers wurde optimiert. (Die Geschwindigkeit der Reinitialisierung eines bereits zugewiesenen Encoders ist nicht betroffen.) Dies hilft beim Komprimieren vieler kleiner Puffer mit lzma_stream_buffer_encode () und anderen ähnlichen Situationen, in denen ein bereits zugeordneter Encoderstatus nicht wiederverwendet wird. Diese Beschleunigung ist auch in xz sichtbar, wenn man viele kleine Dateien nacheinander komprimiert, anstatt einmal xz auszuführen und alle Dateien als Befehlszeilenargumente zu geben.
- Puffervergleiche sind jetzt viel schneller, wenn nicht ausgerichteter Zugriff erlaubt ist (konfiguriert mit --enable-unaligned-access). Dies beschleunigt die Codierung erheblich. Es gibt arch-spezifischen Code für 32-Bit und 64-Bit x86 (32-Bit benötigt SSE2 für die besten Ergebnisse und es gibt keine Laufzeit-CPU-Erkennung für jetzt). Für andere Archs gibt es nur generischen Code, der wahrscheinlich nicht so optimal ist wie arch-spezifische Lösungen.
- Am SHA-256-Code wurden einige Geschwindigkeitsoptimierungen vorgenommen. (Beachten Sie, dass der integrierte SHA-256-Code nicht auf allen Betriebssystemen verwendet wird.)
- liblzma kann jetzt mit MSVC 2013 Update 2 oder höher unter Verwendung von windows / config.h erstellt werden.
- Vietnamesische Übersetzung wurde hinzugefügt.
Kommentare nicht gefunden