lz4
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
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.
Links¶
Intern¶
Archivmanager Übersichtsartikel zu Archivierungsmethoden und -Programme
Extern¶
lz4 🇬🇧 - Homepage von lz4
technische Erklärung, wie lz4 komprimiert