7-Zip
7-Zip ist ein freies Packprogramm, das unter den Bedingungen der LGPL lizenziert ist. Die Entwicklung erfolgt durch den russischen Softwareentwickler Igor Wiktorowitsch Pavlov, der die erste Version von 7-Zip im Jahr 1999 veröffentlichte und bis heute aktiv entwickelt (Stand Frühjahr 2021). 7-Zip stellt die Referenzimplementierung des von ihm entwickelten Lempel-Ziv-Markow-Algorithmus (LZMA) dar. 7-Zip wurde im Juli 2007 von SourceForge als bestes Open-Source-Projekt ausgezeichnet.[5] FormateDas 7z-Archiv-FormatStandardmäßig erzeugt 7-Zip Archive im 7z-Format mit der Dateinamenserweiterung Alle Dateinamen werden in Unicode-Kodierung abgelegt.[6] Weitere unterstützte Formate7-Zip unterstützt außerdem eine Reihe von komprimierten und nicht-komprimierten Archiv-Formaten:
Folgende Formate können sowohl ge- als auch entpackt werden:
Auf zip bzw. gzip basierende Formate:
Zur Kompression von zip- und gzip-Dateien verwendet 7-Zip einen selbst entwickelten Deflate-Encoder, der oft bessere Ergebnisse liefert als die weitaus häufiger verwendete Deflate-Implementation von zlib, was allerdings zulasten der Kompressionsgeschwindigkeit geht. Diese Version des Deflate-Encoders ist auch unabhängig von 7-Zip als Teil der AdvanceCOMP-Suite erhältlich.
Darüber hinaus lassen sich Archivinhalte beziehungsweise gepackte Daten aus Dateien der folgenden Formate extrahieren:
7-Zip kann manche Windows-Installer-Dateien (
AlgorithmenDie native 7z-Kompression bedient sich einer Vielzahl von Algorithmen. Nach einer Sortierung der zu packenden Dateien in eine günstige Reihenfolge und (bei progressiver Komprimierung) eventueller Verkettung zu einem fortlaufenden Datenstrom können bestimmte Dateitypen mit verschiedenen Vorfiltern bzw. Präprozessoren aufbereitet werden, um bei der anschließenden Kompression bessere Ergebnisse zu erzielen. Hierzu werden für ausführbare Dateien in einer Reihe unterstützter Formate entsprechende Filter wie BCJ und BCJ2 für Windows-Programmdateien mit x86-Maschinencode verwendet. Zur Dekorrelation von zum Beispiel PCM- und Rastergraphikdaten steht ein Delta-Filter zur Verfügung. Für den folgenden Hauptkompressionsschritt werden beim nativen 7z-Format die Verfahren LZMA, PPMd und bzip2 unterstützt. Dann kann ein Verschlüsselungsschritt mit AES nachgeschaltet werden. Mit dem in Voreinstellung verwendeten LZMA und Vorfiltern werden überwiegend bessere Kompressionsraten als mit anderen verbreiteten Formaten erzielt. Besonders bei großen Datenmengen übertrifft es das verbreitete RAR oft deutlich.[7] LZMALZMA ist ein relativ neues, von Igor Pavlov selbst entwickeltes und mit 7-Zip eingeführtes Verfahren. Es nutzt eine verbesserte Variante des LZ77-Algorithmus, Markow-Ketten und einen Bereichskodierer (eine Umsetzung arithmetischen Kodierens) zur Entropiekodierung. Verschlüsselung7-Zip unterstützt die als AES standardisierte 256-Bit-Rijndael-Verschlüsselung. Die Verschlüsselung kann getrennt sowohl für die gepackten Dateien als auch für die 7z-Verzeichnisstruktur aktiviert werden. Falls die Verzeichnisstruktur verschlüsselt ist, muss schon für die Anzeige der Namen der im Archiv enthaltenen Dateien das richtige Passwort angegeben werden. Der WinZip-AES-Verschlüsselungsstandard wird ebenso unterstützt, sodass ZIP-Archive mit 256 Bit AES verschlüsselt werden können. Dabei ist jedoch keine Verschlüsselung der Verzeichnisstruktur wie bei 7z-Archiven möglich.[8] Funktionen7-Zip bietet viele Funktionen, unter anderem:
Einbettung in WindowsDie grafische Benutzeroberfläche fügt sich via „Drag and Drop“ und Kontextmenüs nahtlos in Windows ein. Eine Kommandozeilenversion und ein Plugin für den FAR Manager werden mitgeliefert. Beim Auspacken von Archivdateien überträgt 7-Zip bis Version 21.07 (anders als der Windows-Explorer sowie WinZip und WinRAR) einen vorhandenen Zone.Identifier nicht auf die extrahierten Dateien. Verfügbarkeit für verschiedene Betriebssysteme7-Zip wurde ursprünglich für das Betriebssystem Windows entwickelt, es existierte seit 2006 jedoch mit p7zip auch eine portable Kommandozeilenversion des Programms[10], welche plattformübergreifend für die BSDs, Linux, Unix, OS/2, BeOS und AmigaOS 4 kompiliert werden kann. Es gibt viele Frontends für p7zip, die z. B. eine Einbindung in grafische Benutzeroberflächen ermöglichen. Nachdem von p7zip seit 2016 keine neuen Versionen mehr erschienen waren, veröffentlichte Igor Pavlov im März 2021 eine eigene portable Kommandozeilenversion von 7-Zip. Weiterhin existiert mit den XZ Utils eine Sammlung von auf dem LZMA-Code des LZMA SDK basierenden Werkzeugen zur reinen Datenkompression (also ohne Archivierungs-Funktion), mit denen sich der LZMA analog zu Programmen wie gzip, bzip2 oder der zlib (zum Beispiel auch in Kombination mit tar) nutzen lässt. 7zX ist eine Implementierung für macOS, welche aber mit der Version für Windows nur das Kompressionsformat gemeinsam hat. Die Anwendung selbst baut auf einer separaten Codebasis auf. 7zip ZS ist eine auf 7zip basierende Version mit Support für Zstandard, Brotli, Lz4, Lz5, Lizard und Fast LZMA2.[11][12] Dem führenden 7zip-Entwickler waren diese Kompressionsformate bisher zu unausgereift, um sie in 7zip zu implementieren. Es existieren Java-, .Net-Framework-/.NET- und Python-Bindings. SicherheitDas Installationsprogramm von 7-Zip sowie alle mit 7-Zip erstellten selbst-entpackenden Archive hatten bis zum Erscheinen der Programmversion 16.00 Sicherheitslücken.[13][14][15] Die Sicherheitslücken, die u. a. das Einschleusen und Ausführen von Schadcode in archivierten UDF-Dateien ermöglichten, wurden in Version 16.00 geschlossen.[16] Bis zu Version 18.01 war es durch eine Sicherheitslücke möglich, beim Entpacken von Dateien andere Programme zu starten. Der Fehler wurde mit Erscheinen von Version 18.05 behoben.[17] Siehe auchWeblinksCommons: 7-Zip – Album mit Bildern, Videos und Audiodateien
Einzelnachweise
|