AA_PO-21996-123RF-Maxim_Kazmin__123RF-Kisten.jpg

© Maxim Kazmin; 123RF

Zip-, Tar-, Rar- und andere Archive

Gut verpackt

Dateien zu kompromieren, ist nützlich, um Ressourcen wie Plattenplatz oder Internetbandbreite zu schonen. Wir erklären, wie Kompression funktioniert, und vergleichen die gängigen Archivformate.

Sicher haben Sie Begriffe wie "Tarball" oder "komprimiertes Archiv" schonmal gehört: Im Linux-Alltag begegnen Ihnen solche Dateien häufig. Auch wenn es auf den ersten Blick nicht so aussieht: Selbst die RPM- oder Deb-Pakete, die OpenSuse- und Ubuntu-Systeme für die Paketverwaltung nutzen, sind komprimierte Software-Archive – wenn auch in einer besonderen Variante. Andere Hersteller verteilen Treiberupdates oder ihre Programme in komprimierten Tar-Archiven. Der Grund für die Nutzung komprimierter Archive ist immer derselbe: Datenkompression ermöglicht es, vorhandene Ressourcen deutlich effizienter zu nutzen. Auf dieselbe Platte passen also mehr komprimierte als unkomprimierte Daten, und auch der Datentransfer über eine Internetverbindung ist schneller, wenn sie komprimierte Daten übertragen.

Die Idee, vorhandene Daten durch geschickte Kompression zu verkleinern, ist dabei so alt wie die Informatik selbst, die Kompressionsformate der Gegenwart haben mit ihren historischen Vorgängern allerdings nicht mehr viel zu tun. Ein Blick auf die Kompressionsurgesteine hilft jedoch dabei, den inneren Mechanismus zu verstehen: Algorithmus-basierte Datenkompression funktioniert nach dem immer gleichen Prinzip, nur die Algorithmen haben sich in den vergangenen Jahren stetig weiter entwickelt. In diesem Artikel erklären wir, welche Kompressionsverfahren es gibt, wie diese funktionieren und welche Algorithmen unter Linux für bestimmte Dateitypen ideal sind. Dabei treten Gzip, Bzip2, Zip, Rar und LZMA gegeneinander an.

Verlustbehaftete und verlustfreie Kompression

Die Frage, wie Kompression eigentlich funktioniert, verlangt nach einer differenzierten Antwort – zwei fundamental unterschiedliche Prinzipien treten gegeneinander an: Auf der einen Seite steht die verlustbehaftete Kompression und auf der anderen die verlustfreie. Beide Kompressionsarten sind Ihnen garantiert schon untergekommen.

Verlustbehaftete Kompression kommt gerne bei Bild- oder Tondokumenten zum Einsatz. Die Idee dabei ist, dass aus dem vorhandenen Rohmaterial solche Sequenzen entfernt werden, die für das menschliche Auge oder das menschliche Ohr nicht erkennbar wären. Typisches Beispiel: Auf eine simple Audio-CD passen im Normalfall 700 MByte Daten, was je nach Liedlänge etwa zehn bis 14 Songs entspricht. Wenn Sie die Lieder der CD per Ripper auf Ihren Computer übertragen und beispielsweise das MP3-Format wählen, sind die einzelnen Lieddateien selbst bei hoher Qualität in der Regel nicht größer als 8 MByte. Selbst geübte Ohren erkennen keinen Unterschied.

Ähnliches gilt für Fotos und Videos: Die RAW-Version eines Fotos, das mit einer digitalen Kamera aufgenommen worden ist, ist unkomprimiert und dadurch schnell mehrere Dutzend Megabyte groß. Nach der üblichen Kompression mit dem JPEG-Algorithmus [1] schrumpft die Datei erheblich, im Schnitt auf 3 MByte bis 6 MByte. Wer mit einer schlechteren Bildqualität leben kann, erreicht auch noch deutlich stärkere Kompression (Abbildung 1). Video-Formate wie MPEG2 oder H.265 [2] arbeiten nach dem gleichen Prinzip.

Abbildung 1: Wie stark der Informationsverlust ist, kann man beim JPEG-Format wählen. Das Bild links oben hat nur ca. ein Zehntel der Größe des Originalbilds (rechts), sieht aber deutlich schlechter aus.

Würden Sie allerdings die MP3-Songs aus dem Musikbeispiel wieder auf CD brennen und dabei eine Audio-CD erstellen, wäre die gebrannte CD nicht identisch mit dem Original, von dem Sie die Lieder ursprünglich kopiert haben. Durch die Komprimierung sind Informationen aus den Liedern unwiderruflich verloren gegangen.

Bei der verlustfreien Kompression ist das anders. Sie kommt in der Regel dort zum Einsatz, wo es unerlässlich ist, aus einer komprimierten Datei genau die Daten wiederherzustellen, die vor der Kompression vorhanden waren. Ein Tarball ist ein gutes Beispiel: Wenn Sie auf einem Rechner Dateien in ein Tar-Archiv packen und dieses danach mit gzip komprimieren, können Sie die kleinere Datei auf einen anderen Rechner kopieren und erwarten, dass dort nach dem Dekomprimieren und dem Entpacken des Tarballs exakt die gleichen Daten vorhanden sind, die Sie auf dem ersten Rechner in das Archiv gepackt haben. Verlustfreie Kompression kommt also immer dann zum Einsatz, wenn sich die originalen Daten nicht verändern dürfen.

Von Vergleichen und Algorithmen

Verlustfreie Kompression funktioniert im Grunde recht simpel: Der Kompressionsalgorithmus durchsucht die vorhandenen Daten und überprüft sie auf verschiedene Merkmale hin. Ein solches Merkmal könnte etwa ein Wort sein, das mehrere Male vorkommt: Der Kompressionsalgorithmus könnte dieses lange Wort zum Beispiel durch eine kürzere Zeichenkette ersetzen und sich merken, dass die kürzere Zeichenkette beim Dekomprimieren später wieder durch das eigentliche Wort zu ersetzen ist. Weil dieses Merken in Form eines Wörterbuchs passiert, spricht man von der "Wörterbuchmethode". Diese Methode liegt fast allen modernen Kompressionsalgorithmen zugrunde.

Dabei gibt es eine direkte Korrelation zwischen der Effizienz des Algorithmus' und dem Aufwand, den der jeweilige Algorithmus verursacht. Besonders gute Algorithmen sorgen auf der einen Seite für eine beachtliche Reduktion der Größe der ursprünglichen Datei, müssen im Gegenzug aber diese auch besonders gründlich untersuchen und ein entsprechend großes Wörterbuch anlegen. Das schlägt sich unmittelbar auf die Zeit nieder, die für das Komprimieren nötig ist. Grundsätzlich gilt: Je effizienter der Algorithmus, desto länger dauert die Kompression und desto CPU-intensiver ist der Vorgang. Gerade auf langsamen Systemen brauchen Bzip2 oder LZMA bei großen Dateien eine ganze Weile für ihr Werk. Auch auf modernen Computern mit viel CPU-Leistung sind die Unterschiede noch zu bemerken.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Gut verpackt
    Archivierungsprogramme gibt es wie Sand am Meer; die schnellsten Vertreter ihrer Art nutzen Sie auf der Kommandozeile: Mit kurzen Befehlen packen Sie Ihre Daten zusammen und wieder aus oder archivieren ganze Verzeichnishierarchien.
  • Aktuelle Komprimierprogramme in der Übersicht
    Ob fürs Archiv oder für die Webseite zum Download: Alternativen zu Gzip und Bzip2 sparen noch mehr Platz oder arbeiten schneller.
  • gzip, bzip2 und tar
    Archivierungsprogramme gibt es wie Sand am Meer; die schnellsten Vertreter ihrer Art nutzen Sie auf der Kommandozeile: Mit kurzen Befehlen packen Sie Ihre Daten zusammen und wieder aus oder archivieren ganze Verzeichnishierarchien.
  • Angetestet
    Certmgr 0.2.58 hilft beim Verwalten von Zertifikaten, Web-Galerien schnell erzeugen mit Fgallery 1.8.2, besser komprimieren mit Lzip 1.18, Miller 4.1.0 vereint klassische Textwerkzeuge.
  • Suche in komprimierten Dateien und Archiven
    Über die Kommandozeile flink in komprimierten Dateien und Archiven zu suchen, spart viel Zeit. Die richtigen Tools dazu bringt praktisch jedes Linux-System von Haus aus mit.
Kommentare

Infos zur Publikation

EL 11/2017-01/2018: Einstieg in Linux

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet 9,80 Euro. Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 33,30 Euro. Details dazu finden Sie im Computec-Shop.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!      

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...