Schlagwort-Archive: Linux

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 😉

Chromium und CAcert

Nachdem mir viele erzählt haben wie schnell Chromium, die OpenSource Variante des Google Chrome Browsers, sein soll, wollte ich mich davon überzeugen und habe ihn auf meine Gentoo – Maschine installiert.

Ein einfaches emerge www-client/chromium reichte aus und wenige Minuten später war er installiert. Mit chromium aufgerufen kam eine Nachfrage nach der zu verwendenden Suchmaschine und darauf das Hauptfenster.

Wenn man von anderen Browsern viele Button gewöhnt ist, dann stellt Chromium sich in der Grundausstattung sehr nüchtern und nur mit der minimalen Ausstattung dar.

Die Zugriffszeiten haben mich sehr erstaunt und es lässt sich mit diesem Browser sehr elegant arbeiten. Bis auf einen Punkt…

Alle Webseiten mit einem CAcert – Zertifikat werden immer mit einem Hinweis geöffnet, dass das Zertifikat nicht korrekt nachvollziehbar ist.

Im Gegensatz zum Mozilla Firefox lässt sich aber ein Zertifikat nicht einfach über die Oberfläche hinzufügen. Es wird hierfür ein kleines Hilfsprogramm namens certutil benötigt.

Lädt man sich zunächst das CAcert Root 3 Zertifikat herunter und führt dann den Import des Zertifikats mittels certutil durch, ist das Problem mit den Hinweisen Geschichte:

wget -O class3.crt https://secure.cacert.org/certs/class3.crt
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n CAcert-Class3 -i class3.crt

Zugegebenermaßen ist dies ein wenig umständlich, aber vielleicht kennt jemand einen einfacheren Weg die Hinweise loszuwerden.

Zwischen den Tagen: Festplattentausch

Nach Weihnachten kommen die ruhigen Tage bis kurz vor Sylvester.

Genau die letzten Stunden wurden durch die Tatsache, dass sich die Festplatte unseres Servers verabschiedet hat und mit einer ‘media error’ Meldung sämtlichen OpenVZ – Maschinen ein Read-Only – Dateisystem verpasst hat, interessant. Natürlich war mit diesem Zustand keine Arbeit mehr möglich. Ein Neustart hat dann das System kurzfristig wieder hervorgeholt, aber nach 2 Stunden gab es den nächsten ‘media error’. Meine Hoffnung das Problem über Tag regeln zu können war damit erledigt.

Glücklicherweise ist unser Managed Server Provider auch über Nacht erreichbar und mir wurde eine zusätzliche Festplatte in den Server eingebaut um die Daten von der alten Festplatte kopieren zu können. Nach 5 Stunden war die Aktion beendet und der alte Server auf der neuen Festplatte konnte wieder ans Netz gehen. Zur Sicherheit wurde die alte Festplatte weiterhin im Server belassen.

Damit war das nächste Problem da: Wie kommt die Platte wieder aus dem Server?

Ganz einfach: Herunterfahren, ausbauen lassen, starten.

Schön wäre es gewesen, wenn es so einfach wäre. Aber der Bootloader auf der neuen Festplatte wollte nicht wirklich und beim vorherigen Start wurde der Bootloader (Grub) von der alten Festplatte geladen. Nach einiger Fehlersuche und der Installation einer statischen Grub – Version lief das System dann auch wieder normal hoch und die Seiten sind wieder verfügbar.

Themenabend am 10.11.2010: selber Kernel bauen

Kernel MapAuf dem letzten Stammtisch kam mehrfach das Thema Kernel auf. Unter anderem hatte Frank das Problem, dass sein USB – TV – Adapter mit dem Standard-Kernel nicht mehr wollte und er einen Patch benötigt um den Treiber in den aktuellen Kernel einzubauen. Manfred konnte ihm zwar einen passenden Kernel bauen, aber mit dem nächsten Update wäre dieser wieder weg und es müsste der nächste gepatched werden.

Da dies für die meisten Linux – User ein Problem ist wollten wir im kleinen Workshop die Feinheiten des Kernelbaus erarbeiten.

Auch diesmal durfte eine kleine “Bastelübung” nicht fehlen. Herausgekommen ist dabei mein “erweiterter Desktop”…

SystemRescueCD

Am 14.07.2010 hat Christian Heße (eworm) auf dem Themenabend der Lugor die Vorteile der SystemRescueCD praktisch vorgeführt.

Meist wird die SystemRescueCD nur benutzt um ‘mal eben’ von einer CD booten zu können oder um ein fehlerhaftes System zu reparieren. Aber die SystemRescueCD kann viel mehr.

Unter anderem wurde uns vorgeführt wie man die CD auf einen USB-Stick bringen kann und dabei nicht, wie sonst üblich, den Syslinux, sondern den Grub als Bootloader benutzt. Auch die verschiedenen Startmöglichkeiten für 32 und 64 Bit-Systeme sowie die grafische Oberfläche mit XFCE wurden vorgestellt. Als nettes Highlight wurde auch die Möglichkeit persistente Partitionen anlegen zu können und das Booten von anderer Rechner über eine gebootete SystemRescueCD per PXE gezeigt.

Nächster Themenabend zum Thema TeXLive

Wir haben gestern auf dem Stammtisch über mögliche, neue, Themen für den nächsten Themenabend gesprochen und sind dabei auf ein Thema gestoßen, dass und Daniel Dombrowski schon vor einiger Zeit auf den Tisch gebracht hat, das aber noch viele zusätzliche Möglichkeiten liefert:

TeX

Da ich mich schon seit längerem mit dem Thema beschäftige und es auch für meine tägliche Arbeit nutze, werde ich auf dem nächsten Themenabend ein klein wenig mehr zu TeXLive und Briefen sowie Präsentationen erzählen.

Nebenbei sei noch anzumerken, dass dieser Themenabend nicht nur für die Linuxinteressierten, sondern auch für Windows und Apple – Benutzer interessant ist, denn das TeXLive – Paket ist auch für diese Plattformen verfügbar und kann dort genauso genutzt werden.

Als kleines Ziel werden wir versuchen einen kompletten Briefbogen für die Lugor zu gestalten.

Linuxbus-Ruhr: Ab nach Chemnitz

Linuxbus-RuhrAuch in diesem Jahr versuchen die Organisatoren des Linuxbus-Ruhr die Interessenten für die Chemnitzer Linuxtage (13./14.März 2010) zu vereinen und einen Bus für die Fahrt nach Chemnitz zu organisieren.

Obwohl es im letzten Jahr nicht klappte hat Birgit Hüsken noch nicht aufgegeben und unter anderem auf der Fosdem nach Mitfahrern gesucht.

Sobald genug Plätze gebucht sind geht es gemeinschaftlich auf die Reise nach Chemnitz.