7z

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
7z
Logo
Dateiendung: .7z
MIME-Type: application/x-7z-compressed
Magische Zahl: 377A.BCAF.271C hex
7z\xBC\xAF'\x1C

(ASCII-C-Notation)

Entwickelt von: Igor Wiktorowitsch Pawlow
Art: Datenkompression
Container für: beliebige Dateien
7-zip.org

7z ist ein freies Dateiformat zur komprimierten Archivierung von Dateien, das mit 7-Zip von Igor Wiktorowitsch Pawlow eingeführt wurde. Die Dateinamenserweiterung ist „7z“.

Im Vergleich zu anderen Formaten ermöglicht es mit dem Lempel-Ziv-Markow-Algorithmus eine sehr hohe Datenkompressionsrate. Daneben zeichnet sich 7z durch eine offene Architektur, die Unterstützung von sehr großen Datenmengen und die Unterstützung von Unicode sowie Verschlüsselung nach dem AES-256-Standard aus. Durch die zugrundeliegende Architektur kann das 7z-Format problemlos um weitere Datenkompressionsmethoden erweitert werden.

Neben 7-Zip, dem Referenzprogramm des Entwicklers, unterstützen zahlreiche andere Programme das Erstellen und Entpacken von 7z-Dateien.

Wichtigste Eigenschaften

[Bearbeiten | Quelltext bearbeiten]
  • Aufsplitten von Dateien: Max. Größe der einzelnen Teile manuell festlegen.[1]
  • Offene Architektur: Dadurch kann z. B. Unterstützung für beliebige Kompressions- und Konversionsmethoden hinzugefügt werden.
  • Unterstützung großer Dateien: Mit einer Unterstützung von Dateigrößen von bis zu 16 Exbibyte (ca. 16 Milliarden Gibibyte) sollte die Größenbeschränkung in der Praxis zum heutigen Zeitpunkt und auch auf langfristige Sicht irrelevant sein (wenn man den Verlauf der Festplattenkapazitäten zwischen 1980 und 2005 in die Zukunft extrapoliert, werden Festplatten mit einer Größe von 1 EB erst ab etwa 2035 verfügbar sein).
  • Unicode-Dateinamen
  • Progressive Kompression
  • Archiv-Header-Komprimierung
  • Starke Verschlüsselung: 7z implementiert starke Verschlüsselung nach dem Advanced Encryption Standard mit Schlüssellängen von 256 Bit (AES-256). Die Schlüssel werden in einem auf SHA-256 basierenden Verfahren aus einem vom Nutzer angegebenen Passwort generiert. Das Hashen wird dabei 218 (262144) Mal hintereinander durchgeführt, was eine Brute-Force-Suche nach dem Schlüssel erschweren soll, da die benötigte Zeit für das Testen eines Schlüssels vervielfacht wird (key strengthening). Dateinamen können mit verschlüsselt werden.
  • Wörterbuchgröße je nach System und Arbeitsspeicherplatz (RAM) bis zu 4 GiB bei 64-Bit-Betriebssystemen[2]

Datenkompressionsmethoden

[Bearbeiten | Quelltext bearbeiten]

Durch die offene Architektur des 7z-Formats kann es jede neue Kompressionsmethode benutzen. Derzeit sind folgende Methoden in 7z integriert:

MethodID Beschreibung
LZMA standardmäßig verwendet, verbesserte Variante des LZ77-Algorithmus
LZMA2 Modifizierter LZMA mit den Vorteilen des geringeren Overheads bei nicht komprimierbaren Daten und besserer Unterstützung von Multithreading[3]
PPMD Dmitry Shkarins PPMdH mit kleinen Änderungen
BCJ Konverter für 32-Bit-x86-Code
BCJ2 Konverter für 32-Bit-x86-Code
bzip2 Burrows-Wheeler-Transformation (BWT) gefolgt von Move-to-front- und Huffman-Kodierung
Deflate Modifizierter LZ77-Algorithmus ähnlich ZIP

Linux, Mac OS X und andere Unix-artige Systeme

[Bearbeiten | Quelltext bearbeiten]

Die Offenlegung des Formates machte die Portierung auf andere Betriebssysteme wie Linux möglich. Die quelloffene Referenzimplementation 7-Zip[2] ist ein reines Windows-Programm. Die Konsolenversion wurde als p7zip[4] auf Linux portiert. Zum echten Backup unter Unix-artigen Systemen eignet sich das 7z-Format allein jedoch nicht, da spezielle Files (Devices usw.) sowie Dateiattribute wie Besitzer und Gruppe einer Datei nicht mit abgespeichert werden – hier empfiehlt sich vorheriges Archivieren (z. B. mit tar) und nachfolgende Kompression des Archives. Zur bloßen Weitergabe von Dokumenten sind die Dateiattribute im Allgemeinen irrelevant, so dass eine reine 7z-Datei – erstellt per $ 7z a archivname.7z dateien ausreicht.

7z ist in der Lage, auf Mehrkern-Rechnern durch Multithreading (Option -mmt=<Zahl der CPUs>) eine erhebliche Beschleunigung der Kompression zu erreichen. Das Programm ist in Bezug auf den 7z-komprimierten Datenstrom nicht streamingfähig, d. h. die Optionen -si und -so funktionieren nur für die nichtkomprimierten Daten (falls derartiges gefordert ist, kann man auf das verwandte Programm xz ausweichen, welches wie gzip benutzt werden kann).

Die Konsolenversion kann mittlerweile von zahlreichen Programmen mit grafischer Oberfläche eingebunden werden, darunter auch von den vorinstallierten Archivprogrammen von Gnome (File Roller) und KDE (Ark). Unter Mac OS X steht als grafisches Tool 7zX[5] zur Verfügung.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Markus Pilzwege: 7-Zip: Tipp: Große Dateien aufsplitten. PC-WELT, 29. Januar 2009, abgerufen am 26. Juli 2017.
  2. a b 7z-Format. In: 7-zip.de. Abgerufen am 6. August 2023.
  3. Übersicht über verschiedene Datenkompressionsmethoden, 2. Dezember 2010 (englisch).
  4. p7zip – Linux Port (englisch).
  5. 7zX – Mac OS X Port (englisch).