Stammtisch am 23.09.2013

Am 23.09.2013 findet der monatliche der Stammtisch der Linux User Group Oberhausen Rheinland (LUGOR) e. V. ab 19:30 Uhr im Gasthof Harlos auf der Hagedornstr. 1 in Oberhausen statt.

Der Stammtisch ist ohne festes Thema und lockerer Treffpunkt für alle Linux und freie Software – Begeisterte.

Komprimieren mit xz

packenUnter Linux gibt es einige bekannte Befehle zum Komprimieren und Dekomprimieren von Dateien.

  • gzip, gunzip
  • bzip2, bunzip2

Eher unbekannt, aber trotzem vorhanden ist der Komprimierer xz.

Das mag verschieden Gründe haben. Zunächst wohl die zu hohe Verbreitung von Dateien, die mit gzip (*.gz) oder 'bzip2' (*.bz2) komprimiert und im Umlauf sind. Auch die Tatsache, dass viele Umgebungen in ihre Anzeige- und Entpack-Tools eine Unterstützung dieser Kompressoren eingebaut hat mag mit daran Schuld sein.

Es stellt sich zunächst mal die Frage “Warum noch ein Tool zum komprimieren von Daten?”

Diese lässt sich leicht erklären. Zwar können die bisher existierenden Tools diese Arbeit übernehmen, aber wirklich effizient sind sie nicht. Die Geschwindigkeit oft der Grund warum eher auf gzip zurückgegeriffen wird statt das effizientere, aber deutlich langsamere, bzip2 zu nutzen.

Um die verschiedenen Kompressoren zu vergleichen nutze ich eine ISO – Datei der Distribution Nepu Linux (http://eworm.de/linux/nepu) — einer Live-CD basieren auf Arch Linux — und komprimiere sie ohne Anpassung der Parameter mit allen 3 Verfahren:

nepulinux.iso 594M
Die Originaldatei
nepulinux.iso.gz 582M
Innerhalb von 21 Sekunden wurde die Datei um 12M gekürzt
nepulinux.iso.bz2 584M
Nach 2 Minuten und 22 Sekunden ist die Datei um 10M gekürzt. Das ist 2M weniger als bei gzip.
nepulinux.iso.xz 581M
Auch wenn es mit 5 Minuten und 9 Sekunden deutlich länger gedauert hat ist die Datei um 13M kleiner als die Startdatei.

Wie man sehen konnte ist bzip2 für solche ISO – Dateien, die meist schon vorkomprimiert sind, keine gute Option. Obwohl es deutlich länger braucht bringt es keine Vorteile, sondern erzeugt ein größeres Ergebnis als gzip.

xz hingegen hat es geschafft noch einen Teil an Daten zu komprimieren. Dabei hat es allerdings auch deutlich mehr Zeit benötigt.

Grund für diesen Mehrbedarf an Zeit ist die Art der Komprimierung. Es werden im Hintergrund Tabellen erzeugt mit wiederkehrenden, komprimierbaren, Inhalten um diese durch einfache Hinweise zu ersetzen. Je nach Kompressor werden diese Tabellen größer und verbrauchen entsprechend mehr Rechenzeit und Arbeitsspeicher in der Abarbeitung.

Gleichzeitig haben alle diese Kompressoren ein Manko gemeinsam. Sie arbeiten nur mit einem Prozessorkern und sind daher in den Möglichkeiten bezüglich der Rechenzeit an diesen Kern gebunden.
Erst Alternativen wie z. B. pixz stellen die Möglichkeit her alle vorhandenen Prozessorkerne parallel zu nutzen und damit den kompletten Prozess zu beschleunigen.

Die Datei nepulinux.iso mit pixz komprimiert ist mit 4 Prozessorkernen nach 1 Minute und 39 Sekunden fertig.

Nach dem recht entäuschenden Ergebnissen mit ISO – Dateien ein Beispiel aus der Praxis: Eine virtuelle Maschine soll entsorgt und archiviert werden. Das verwendete Containersystem OpenVZ erzeugt hierzu ein tar-Archiv mit den Daten. Das Archiv ist 53G groß.

Nach der Komprimierung mit bzip2 bleiben 16G über. Die Komprimierung mit gzip wurde auf Grund der Erwartung schlechter Werte nicht durchgeführt.

Allerdings hat xz alle Erwartungen übertroffen: 2.5G nach Komprimierung bleiben über. Damit hat es 50.5G Platz in der Datensicherung gespart. Nachteilig natürlich die Laufzeit von fast 5 Stunden mit der normalen xz – Variante.

Interessant wären nun die Zeiten beim entpacken.

Aber vielleicht finden wir die in den Kommentaren 😉

Themenabend: OpenSSL am 10.07.2013

SSLNach Themen wie IPv6 und OpenSSH haben wir uns nun mit OpenSSL ein neues Thema herausgesucht, das von vielen bereits genutzt wird, dessen Hintergründe aber meist verborgen bleiben.

Natürlich wird es auch um die Absicherung von Webseiten und den Einsatz von OpenSSL für diesen Zweck gehen, wir werden aber auch andere Aspekte wie z. B. die symmetrische Verschlüsselung oder E-Mail – Verschlüsselung und – Signatur ansprechen.

Die Linux Usergroup Oberhausen Rheinland (LUGOR) e. V. wird startet den Themenabend am 10.07.2013 ab 19:30 Uhr im Gasthof Harlos, Hagedornstr. 1, Oberhausen.

Wie immer ist die Teilnahme an den Veranstaltungen für alle Interessenten offen.

Schön wäre eine kurze Anmeldung auf der Mailingliste um vorplanen zu können.