www.wikidata.de-de.nina.az
gzip ist ein freies Kompressionsprogramm das ebenso wie das entsprechende Dateiformat gzip praktisch fur alle Computerbetriebssysteme verfugbar ist unter den Bedingungen der GPL auch im Quelltext gzipHilfeanzeige in der KommandozeileBasisdatenMaintainer Jim Meyering Paul EggertEntwickler Jean Loup Gailly und Mark AdlerErscheinungsjahr 1992Aktuelle Version 1 13 1 19 August 2023 Betriebssystem plattformubergreifend verfugbarProgrammiersprache CKategorie DatenkompressionLizenz GPL Freie Software gnu org software gzipAllgemein ist gzip die Kurzform fur GNU zip wobei zip vom englischen Wort fur den Reissverschluss entlehnt wurde OpenBSD hat eine BSD lizenzierte Reimplementierung unter den Namen gzip 1 gunzip 1 sowie gzcat 1 vorgenommen die vollig kompatibel zu den GNU Werkzeugen ist 2 gzip bietet einen fur Text zufriedenstellenden Kompressionsgrad und ist frei von patentierten Algorithmen deflate wird verwendet Es wurde ursprunglich von Jean Loup Gailly entwickelt um das unter Unix verwendete compress 3 zu ersetzen Mark Adler schrieb das Dekompressionsprogramm gunzip Inhaltsverzeichnis 1 Technik 2 Aufbau 2 1 Header 2 1 1 FLG Bitfeld 2 1 2 Betriebssystemtabelle 2 2 Optionale Felder 2 2 1 Zusatzinformationen 2 2 2 Original Dateiname 2 2 3 Dateikommentar 2 2 4 CRC 16 Prufsumme 2 3 CRC 32 Prufsumme und Dateigrosse 3 Beispielaufrufe 4 gzip komprimierte Dateien 5 Verbreitung 6 Siehe auch 7 Weblinks 8 EinzelnachweiseTechnik Bearbeitengzip basiert auf dem Deflate Algorithmus der eine Kombination aus LZ77 und Huffman Kodierung ist Deflate wurde als Reaktion auf die Patente entwickelt die auf LZW und anderen Kompressionsalgorithmen bestanden Auch das ZIP Dateiformat verwendet hauptsachlich Deflate zur Komprimierung darf aber ansonsten nicht mit gzip verwechselt werden Die Fenstergrosse bei gzip betragt 32 KiB Wenn eine Abfolge von Bytes sich in den vorherigen 32 KiB nicht wiederholt wird sie unkomprimiert in der gz Datei gespeichert 4 Diese Fenstergrosse ist gegenuber modernen Kompressionsprogrammen z B bzip2 mit 100 bis 900 KiB Blockgrosse rzip als Extremfall mit 900 MiB Fenstergrosse veraltet jedoch ist gzip immer noch eines der schnellsten Kompressions Programme und kann vielseitig eingesetzt werden zum Beispiel in Verbindung mit einer sogenannten Pipeline die Ausgabe standard out eines Programms kann die Eingabe standard in von gzip darstellen und umgekehrt Um die Entwicklung von Software zu vereinfachen die Datenkompression nutzt wurde die zlib Bibliothek geschrieben Sie unterstutzt das gzip Dateiformat und die Deflate Kompression Die Bibliothek ist weit verbreitet da sie klein effizient und vielseitig ist Aufbau BearbeitenDas Archiv Dateiformat fur gzip ist gemass RFC 1952 in Version 4 3 vom Mai 1996 spezifiziert 5 Wenn einzelne Dateien mit gzip komprimiert werden werden auch diverse Metadaten gespeichert u a das Betriebssystem unter dem das Archiv erstellt wurde sowie die einzelnen Dateinamen und ihre Modifikationszeiten Auf modernen Betriebssystemen ergeben sich in dieser letzten Version des Archivformats bei den Metadaten folgende Einschrankungen Die Dateigrosse der Quelldatei ist auf Modulo 232 entspricht 4 GiB begrenzt sodass unkomprimierte Dateigrossen gt 4 GiB nicht korrekt angezeigt werden konnen obwohl die Dateien selbst korrekt komprimiert wurden und auch dekomprimiert werden konnen Es gibt jedoch Workarounds um die korrekten unkomprimierten Dateigrossen zu ermitteln Die Modifikationszeit ist in der Zukunft auf den 7 Februar 2106 06 28 15 UTC beschrankt und speichert nur Sekundengenau Moderne 64 Bit Systeme unterstutzen jedoch meist auch Mikro und Nanosekunden diese konnen in einem GZIP Archiv weder gespeichert werden noch konnen sie wiederhergestellt werden Auf einigen 32 Bit Systemen hingegen ist das reale Limit fur die Modifikationszeit in der Zukunft real niedriger wenn diese vom Jahr 2038 Problem betroffen sind was auf allen alteren Unix artigen Betriebssystemen der Fall ist 6 Eine Gzip Datei besteht aus folgenden Komponenten in dieser Reihenfolge Grosse bytes Optional Komponente10 Nein Headerdynamisch Ja Zusatzinformationendynamisch Ja Original Dateinamedynamisch Ja Dateikommentar2 Ja CRC16 Prufsumme fur Header Zusatzinformationen Original Dateiname und Dateikommentardynamisch Nein komprimierte Nutzdaten4 Nein CRC32 Prufsumme fur die unkomprimierte Quelldatei4 Nein Grosse der unkomprimierten Quelldatei Modulo 232Header Bearbeiten Position Lange bytes Kurzel Bedeutung0 2 ID1 ID2 Magische Zahl immer 0x1F 0x8B 2 1 CM Kompressionsmethode 0x00 bis 0x07 sind reserviert 0x08 bedeutet Deflate 3 1 FLG Bitfeld siehe FLG Bitfeld4 4 MTIME Modifikationszeitstempel als Unixzeit ein Nullwert bedeutet das kein Zeitstempel verfugbar ist 8 1 XFL kompressionsmethodenspezifische Zusatzinformationen Fur Deflate sind folgende Werte definiert 0x02 Des Kompressionsprogramm hat den starksten langsamsten Algorithmus angewandt 0x04 Das Kompressionsprogramm hat den schnellsten Algorithmus angewandt 9 1 OS Art des Dateisystems bzw Betriebssystems von welchem aus die Kompression durchgefuhrt wurde Siehe Betriebssystemtabelle FLG Bitfeld Bearbeiten Wichtig ist dass hier immer die Bits beachtet werden Das bedeutet dass z B 00010011 binar 19 dezimal 0x13 hexadezimal folgendes aussagt Die Datei ist wahrscheinlich ASCII Text eine CRC 16 Prufsumme ist vorhanden optionale Zusatzinformationen sind nicht vorhanden der originale Dateiname ist nicht vorhanden und ein Dateikommentar ist vorhanden Bitposition Dezimalwert Kurzel Bedeutung0 1 FTEXT Datei ist wahrscheinlich ASCII Text1 2 FHCRC CRC 16 Prufsumme ist vorhanden2 4 FEXTRA Zusatzinformationen sind vorhanden3 8 FNAME Original Dateiname ist vorhanden4 16 FCOMMENT Dateikommentar ist vorhanden5 32 Reserviert muss 0 sein 6 64 Reserviert muss 0 sein 7 128 Reserviert muss 0 sein Betriebssystemtabelle Bearbeiten Byte Wert Bedeutung0 FAT Dateisystem 1 AmigaOS2 VMS oder OpenVMS3 Unix4 VM oder CMS5 Atari TOS6 HPFS Dateisystem 7 Macintosh Plattform Mac OS Betriebssystem 8 Z System9 CP M10 TOPS 2011 NTFS Dateisystem 12 QDOS13 Acorn RISC OS255 UnbekanntOptionale Felder Bearbeiten Zusatzinformationen Bearbeiten Wenn FEXTRA gesetzt ist folgt ein zwei Byte grosses Feld welches die Grosse der Zusatzinformationen angibt gefolgt von den Zusatzinformationen selbst in einem speziellen Format Original Dateiname Bearbeiten Wenn FNAME gesetzt ist folgt der Original Dateiname als nullterminierte Zeichenkette mit ISO 8859 1 Kodierung Dateikommentar Bearbeiten Wenn FCOMMENT gesetzt ist folgt der Dateikommentar als nullterminierte Zeichenkette mit ISO 8859 1 Kodierung Der Dateikommentar ist nicht programmatisch zu interpretieren und dient nur dazu vom Endbenutzer gelesen zu werden CRC 16 Prufsumme Bearbeiten Wenn FHCRC gesetzt ist folgt die CRC 16 Prufsumme bestehend aus den zwei niedrigen Bytes der CRC 32 Prufsumme des Headers inklusive der optionalen Felder mit Ausnahme der Prufsumme selbst CRC 32 Prufsumme und Dateigrosse Bearbeiten Es folgen eine CRC 32 Prufsumme und die Grosse der unkomprimierten Originaldatei Die Dateigrosse wird Modulo 232 gespeichert was zur Folge hat dass das Dateigrossenfeld bei Dateigrossen gt 4 GiB nicht aussagekraftig ist Beispielaufrufe BearbeitenEine Datei packen gzip lt Dateiname gt Eine gepackte Datei entpacken gzip d lt Dateiname gt oder gunzip lt Dateiname gt Rekursiv alle Dateien in einem Verzeichnis packen und die Kompressionsrate angeben gzip rv lt Verzeichnis gt Eine komprimierte Text Datei ausgeben zcat lt Dateiname gt Eine defekte komprimierte Datei bis zur Fehlerstelle entpacken zcat lt gzip Datei gt gt lt Ziel Datei gt Ermittlung der unkomprimierten Dateigrosse bei archivierten Dateien die grosser als 4 GiB sind 7 zcat lt gzip Datei gt wc cgzip komprimierte Dateien BearbeitengzipDateiendung gzMIME Type application gzip 8 Magische Zahl x1F x8B x08 ASCII C Notation Entwickelt von Jean Loup Gailly und Mark AdlerAktuelle Version 1 13 1 19 August 2023 Art DatenkompressionContainer fur eine beliebige DateiErweitert von compressStandard s RFC 1952 5 Website gzip orgDie ubliche Dateiendung fur gzip komprimierte Dateien ist heute gz fruher auch z Da gzip nur einzelne Dateien komprimieren kann werden mehrere Dateien bzw Verzeichnisbaume ublicherweise zunachst mit tar zu einer Tarball genannten Archivdatei zusammengefasst welche anschliessend mit gzip komprimiert wird nbsp Zunachst werden Dateien Kreise mit tar gepackt anschliessend wird dieses Archiv mit gzip komprimiert Solche komprimierten Archivdateien tragen dann meist die doppelte Endung tar gz oder auch einfach tgz Diese Methode ermoglicht insgesamt bessere Komprimierung da so Redundanzen zwischen den einzelnen Dateien ausgenutzt werden konnen progressive Kompression erschwert aber den Zugriff auf die einzelnen Bestandteile Verbreitung BearbeitenUnter Unix ist die Komprimierung mit gzip heute Standard weil sie fur viele Aufgaben einen guten Kompromiss aus hoher Geschwindigkeit und guter Datenreduktion ermoglicht Wo es weniger auf Geschwindigkeit als auf minimale Dateigrossen ankommt etwa bei der breiten Verteilung von Daten uber relativ langsame Netze werden allerdings zunehmend bzip2 und LZMA verwendet ebenso wie bei gzip in Kombination mit tar Das zlib komprimierte Dateiformat der Deflate Algorithmus und das gzip Dateiformat wurden 1996 als Request for Comments RFC 1950 9 RFC 1951 10 und RFC 1952 5 standardisiert Siehe auch BearbeitenBrotli ist ein Datenkompressions Algorithmus auf Basis von LZ77 und Huffman Kodierung der von Zoltan Szabadka und Jyrki Alakuijala entwickelt wurde Zopfli wird als der dateigrosseneffizienteste verfugbare Deflate Kodierer angesehen pigz ist eine von Mark Adler programmierte Version von gzip welche samtliche verfugbaren Prozessorkerne und threads benutzt und so die Kompression merklich beschleunigt Liste von DatenkompressionsprogrammenWeblinks Bearbeitengzip org ursprungliche Projektseite englisch P Deutsch RFC 1952 GZIP File Format Specification version 4 3 Mai 1996 englisch b gzip 1 b gzip gunzip zcat Dateien komprimieren und expandieren Debian GNU Linux Ausfuhrbare Programme oder Shell Befehle Handbuchseite goethe ira uka de Memento vom 8 September 2012 im Internet Archive ira uka de gut verstandliche Beschreibung der verschiedenen KomprimiermoglichkeitenEinzelnachweise Bearbeiten a b Jim Meyering gzip 1 13 released stable 19 August 2023 abgerufen am 20 August 2023 b gzip 1 b compress and expand data deflate mode OpenBSD General Commands Manual a href http www opengroup org onlinepubs 9699919799 utilities compress html compress a compress data Open Group Base Specification Jean loup Gailly Mark Adler Compression algorithm deflate Memento vom 16 Februar 2014 im Internet Archive gzip org 1 September 1997 Last Modified a b c P Deutsch RFC 1952 GZIP File Format Specification version 4 3 Mai 1996 englisch GNU Gzip Documentation Free Software Foundation abgerufen am 15 September 2020 englisch GNU Gzip Documentation Free Software Foundation abgerufen am 15 September 2020 englisch The gzip format represents the input size modulo 2 32 so the uncompressed size and compression ratio are listed incorrectly for uncompressed files 4 GiB and larger To work around this problem you can use the following command to discover a large uncompressed file s true size zcat file gz wc c RFC 6713 The application zlib and application gzip Media Types August 2012 englisch RFC 1950 ZLIB Compressed Data Format Specification version 3 3 Mai 1996 englisch RFC 1951 DEFLATE Compressed Data Format Specification version 1 3 Mai 1996 englisch Abgerufen von https de wikipedia org w index php title Gzip amp oldid 237514225