staging.inyokaproject.org

lz4

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

lz4 🇬🇧 ist eine Komprimierungsalgorithmus und -programm, welches auf eine sehr hohe Kompressions- / Dekompressionsgeschwindiglkeit ausgelegt ist und weniger auf eine hohe Kompressionsrate. Der Einsatz von lz4 ist also dann sinnvoll, wenn die Geschwindigkeit der (De-) Komprimierung wichtiger ist als die Größe der erzeugten Datei.

lz4 kann unter anderem bei den Dateisystemen SquashFS und ZFS 🇬🇧 als Komprimierungsmethode gewählt werden.

Installation

lz4 ist in den Ubuntu Paketquellen enthalten und kann über das Paket

  • lz4

Befehl zum Installieren der Pakete:

sudo apt-get install lz4 

Oder mit apturl installieren, Link: apt://lz4

installiert werden.

Nutzung

Die allgemeine Syntax von lz4 lautet:

lz4 [OPTIONEN] DATEI 

Standardmäßig kann lz4 nur eine Datei auf einmal komprimieren. Das Packen mehrere Eingabedateien in eine Ausgabedatei ist aber über einen Umweg möglich.

Dateien packen

Der Aufruf von z.B.

lz4 data.txt 

würde die Datei data.txt mit der schnellsten Kompressionsmethode komprimieren (Voreinstellung von lz4) und die komprimierten Daten in die Datei data.txt.lz4 speichern. Als Ausgabe bei der Ausführung des Befehls erhält man:

Compressed filename will be : data.txt.lz4 
Compressed 1201 bytes into 628 bytes ==> 52.29%

Es wird also ausgegeben, welche Ausgabedatei generiert wird und wie hoch der Komprimierungsgrad ist.

lz4 kennt eine ganze Reihe von Optionen:

Optionen von lz4
Option Erklärung
-m DATEI1 DATEI2 DATEI3 ... Es werden mehrere Dateien als Eingabe übergeben. Für jede Datei wird ein eigene Ausgabedatei erzeugt.
-r VERZEICHNIS Es werden alle Dateien im Verzeichnis VERZEICHNIS gepackt. Für jede Datei wird ein eigene Ausgabedatei erzeugt.
-1 bis -9 Es der Komprimierungsgrad von -1 (schnellste Komprimierung, Voreinstellung) bis -9 (stärkste Komprimierung) genutzt.
-d DATEI.lz4 Entpacken der Datei DATEI.lz4
-t DATEI.lz4 Integrität des gepackten Datei DATEI.lz4 testen

lz4 kennt noch eine ganze Reihe weiterer Optionen, die man sich entweder in der Man-Page oder über den Aufruf von lz4 -h anzeigen lassen kann.

⚓︎

mehrere Dateien in eine lz4-Datei packen

Wie oben bereits erwähnt, kann lz4 standardmäßig nur einzeln packen. Möchte man mehrere Dateien in eine lz4 Datei packen, muss man einen Umweg über tar gehen:

tar -c DATEIEN | lz4 - AUSGABEDATEI.tar.lz4 

Die Dateien DATEIEN werden in eine Tar-Archiv gepackt, diese über eine Weiterleitung an lz4 gegeben und dort in die Datei AUSGABEDATEI.tar.lz4 gepackt.

Dateien entpacken

Zum Entpacken dient der Befehl

lz4 -d LZ4-DATEI.lz4
#oder
unlz4 LZ4-DATEI.lz4 

Informationen zu gepackter Datei anzeigen

Mit dem Aufruf von

lz4 -t DATEI.lz4 

wird für die Integrität der Datei DATEI.lz4 geprüft und gleichzeitig ausgegeben, wie große die Daten unkomprimiert wären. Die Ausgabe sieht z.B so aus:

DATEI.lz4         : decoded 10240 bytes

Benchmarking

lz4 biete eine bzw. zwei Optionen zum Benchmarking, mit der die Komprimierungsgeschwindigkeit des System und der Komprimierungsgrad einer Datei getestet werden kann. Dabei wird keine gepackte lz4 Datei auf dem Laufwerk angelegt. Der Befehl lautet:

lz4 -b5 EINGABEDATEI.txt 

Dabei würde die Datei EINGABEDATEI.txt testweise auf Stufe 5 komprimiert und das Ergebnis ausgeben. Statt 5 kann natürlich auch jede anderen Stufe zwischen 1 und 9 angegeben werden.

Man kann auch mehrere Kompressionsstufen in einem Durchlauf testen. Mit dem folgenden Befehl von Stufe 1 bis einschließlich Stufe 9:

lz4 -b1 -e9 EINGABEDATEI.txt  

Die Ausgabe sieht z.B. so aus:

Benchmarking levels from 1 to 9
 1#EINGABEDATEI.txt      :   2167737 ->    611048 (3.548), 823.0 MB/s ,3704.5 MB/s 
 2#EINGABEDATEI.txt      :   2167737 ->    611048 (3.548), 823.3 MB/s ,3703.0 MB/s 
 3#EINGABEDATEI.txt      :   2167737 ->    335374 (6.464), 174.1 MB/s ,4175.3 MB/s 
 4#EINGABEDATEI.txt      :   2167737 ->    293060 (7.397), 139.1 MB/s ,4783.2 MB/s 
 5#EINGABEDATEI.txt      :   2167737 ->    269463 (8.045), 111.1 MB/s ,5350.9 MB/s 
 6#EINGABEDATEI.txt      :   2167737 ->    258674 (8.380),  87.6 MB/s ,5726.2 MB/s 
 7#EINGABEDATEI.txt      :   2167737 ->    254714 (8.510),  73.3 MB/s ,5893.3 MB/s 
 8#EINGABEDATEI.txt      :   2167737 ->    253278 (8.559),  65.6 MB/s ,5947.9 MB/s 
 9#EINGABEDATEI.txt      :   2167737 ->    253039 (8.567),  64.7 MB/s ,5961.3 MB/s 

Ausgegeben wird also die Kompressionsstufe, die Ausgangsgröße der Datei, die Größe, die die komprimierte Datei hätte, der Kompressionsfaktor sowie der erreichte Datendurchsatz beim Komprimieren und Dekomprimieren.

Intern

  • Archivmanager Übersichtsartikel zu Archivierungsmethoden und -Programme

Extern

Diese Revision wurde am 21. Dezember 2022 13:21 von mubuntuHH erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Komprimierung, Shell, Packprogramme, Archivmanager