Im Allgemeinen habe ich Folgendes beobachtet:
- Linux-y-Dateien oder -Tools verwenden bzip2 oder gzip zum Verteilen von Archiven
- Windows-y-Dateien oder -Tools verwenden ZIP zum Verteilen von Archiven
- Viele Benutzer verwenden 7-Zip zum Erstellen und Verteilen ihrer eigenen Archive
Fragen:
- Was sind die Vor- und Nachteile dieser Formate, die offen zu sein scheinen? Wann / warum sollte ich eine (z. B. 7-Zip) einer anderen (z. B. ZIP) vorziehen?
- Warum scheint der obige Trend anzuhalten, obwohl dies alles tragbare Formate sind? Gibt es besondere Vorteile bei der Verwendung eines bestimmten Archivformats auf einer bestimmten Plattform?
Antworten:
Es stehen eine Vielzahl von Komprimierungsformaten und -methoden zur Verfügung, einige komprimieren überhaupt nicht und speichern eine Reihe von Dateien in einem Archiv. Andere neuere experimentelle Komprimierungsprogramme ( PAQ- basiert) sind so konzipiert, dass sie so aggressiv wie möglich komprimieren. unabhängig von der Zeit, die zur Durchführung dieser Operation benötigt wird.
Sie müssen die Funktionen bewerten, die Sie für Ihre Auswahl der Komprimierungsmethode benötigen, und auch den Kontext berücksichtigen, in dem sie verwendet werden.
Zu den verschiedenen Funktionen und Überlegungen gehören:
Im Allgemeinen ist ZIP das allgegenwärtigste Format, aber Größen über 4 GB werden im Allgemeinen (wenn überhaupt) nicht unterstützt, die Sicherheitsunterstützung wird im Allgemeinen als unzureichend angesehen (das Standardkennwort kann durch einen Nur-Text-Angriff gefährdet werden, und eine weitere Verschlüsselung ist möglich im Allgemeinen als inoffizielle Ableitung des Formats von kommerziellen ZIP-Softwareanbietern implementiert).
Abgesehen davon bieten die meisten anderen gängigen Formate Unterstützung für alle Betriebssysteme, indem mehr Software installiert wird.
Meine persönliche Wahl ist 7-Zip , da es eine großartige und flexible Komprimierung bietet. Trotzdem mit einer eigenartigen Benutzeroberfläche unter Windows. Es gibt Dekomprimierungsprogramme für Linux und Mac OS X (obwohl standardmäßig keine grafische Benutzeroberfläche verwendet wird).
quelle
Eines fällt mir ein (zweijähriger) Blogbeitrag von Jeff Atwood ein: Dateikomprimierung im Multi-Core-Zeitalter . In diesem Artikel findet er, dass bzip2 7-zip übertrifft, wenn mehr als zwei Kerne ausgeführt werden.
quelle
Für Ihre erste Frage ist 7-Zip ein Archivierungsprogramm, das viele Algorithmen zum Komprimieren und Dekomprimieren von Daten verwenden kann.
Stellen Sie bei Ihrer zweiten Frage sicher, dass die Plattform Tools unterstützt, die das angegebene Format unterstützen. Zum Beispiel würde ich vermeiden, RAR auf einem Mac zu verwenden. Es ist zwar möglich, kostenlose Hilfsprogramme zu verwenden, es fehlt ihnen jedoch die wesentlich umfangreichere Oberfläche, über die Windows-Hilfsprogramme, die RAR unterstützen, verfügen (meiner Erfahrung nach).
quelle
Wie bereits erwähnt, hängt die Auswahl eines bestimmten Komprimierungsformats stark von der Verwendung und dem beabsichtigten Publikum ab.
Die Archive .tar.gz und tar.bz2 eignen sich ideal für die Verwendung auf Linux-Systemen (und als Erweiterung für die gemeinsame Nutzung von Dateien mit Linux-Benutzern), da die Tools tar, gzip und bzip2 auf der Plattform weitgehend allgegenwärtig sind und das Format .tar voll ist Unterstützung für Unix-Berechtigungen und andere plattformspezifische Eigenschaften. Die Wahl zwischen gzip und bzip2 zur Komprimierung des Tar-Archivs ist hauptsächlich eine Entscheidung über das Verhältnis von Geschwindigkeit zu Komprimierung, wobei bzip2 kleinere Dateien liefert, aber mit einer viel langsameren Komprimierungsgeschwindigkeit. Zu den Nachteilen dieser Formate gehört die geringere Kompatibilität mit Windows und die (potenzielle) Notwendigkeit, das gesamte Archiv zu dekomprimieren, um eine einzelne Datei zu extrahieren.
ZIP-Archive können auf den meisten Plattformen mit nativen Tools extrahiert werden. Daher ist dies eine ideale Wahl, um ein Archiv an einen nicht-technischen Benutzer zu senden, der mit der Installation von Archivierungssoftware von Drittanbietern wie 7-Zip nicht zufrieden ist. Die Komprimierungsstufe ist nicht so gut wie bei fortgeschrittenen Algorithmen und unterstützt keine Unix-Berechtigungen. Sie ist jedoch ein hervorragendes Format, wenn Sie beispielsweise ein Archiv mit Urlaubsfotos an Ihre Großmutter senden möchten. ZIP bietet auch einen grundlegenden Kennwortschutz und kann eine Datei schnell von einer beliebigen Stelle im Archiv extrahieren.
7-Zip ist gut, wenn Sie die bestmöglichen Komprimierungsverhältnisse wünschen. Wie ZIP unterstützt es keine Unix-Dateiberechtigungen oder -Eigentumsrechte und wird auch nicht standardmäßig auf den meisten Plattformen installiert, wodurch die Verwendung etwas aufwändiger wird. Unter Windows kann es sich jedoch lohnen, wenn die Komprimierungsrate wichtig ist. In einer Linux-Umgebung ist es besser, die Komprimierungstools "xz" oder "lzma" zusammen mit "tar" zu verwenden, die genau wie "gzip" und "bzip2" funktionieren, aber den fortgeschritteneren LZMA-Algorithmus wie 7 verwenden -Postleitzahl.
quelle
Nur als Beispiel verwende ich die genannten Formate in diesen Fällen:
Ich vermeide RAR vollständig und wenn ich eine RAR-Datei von jemandem erhalte, den ich kenne, fordere ich ihn / sie auf, dieses Format nicht mehr zu verwenden, da es proprietär ist und er / sie möglicherweise nicht lizenzierte Software verwendet (die meisten Leute laden die Testversion von WinRAR herunter und verwenden sie weiterhin) es für immer).
PS: Ich verwende Ubuntu (hauptsächlich) und Windows (sowohl Dual Boot als auch VirtualBox).
quelle
Es gibt mindestens vier verschiedene Jobs, die oft miteinander verwechselt werden, weil sie von gängigen Tools integriert werden:
Die Allgegenwart von .tar.gz und .tar.bz entspricht der Unix-Philosophie, dass kleine Werkzeuge einen einzigen Job gut erledigen und nur ein einziges Werkzeug, das alles erledigt. Das TAR-Dateiformat unterstützt keine Komprimierung oder Verschlüsselung, kann jedoch von jedem Komprimierer (einschließlich .tar.zip oder .tar.7z) weiter komprimiert werden. Die Aufgabe von GZip und BZip2 besteht einfach darin, einen Dateistream in einen anderen Dateistream zu komprimieren. Die Komprimierungsebene muss sich nicht darum kümmern, wie Metadaten, Verschlüsselung oder Prüfsumme erhalten bleiben. Im Laufe der Zeit wurden jedoch einige Abkürzungen im
tar
Programm vorgenommen, um die Arbeit mit einem Kompressor bequemer zu gestalten.Im zip- und 7z-Dateiformat werden diese separaten Jobs von einem einzigen Programm in einem einzigen Super-Dateiformat ausgeführt.
Da dies so gemacht wurde, werden Programmquellcodes traditionell als .tar.gz oder .tar.bz2 verteilt, da das Beibehalten von Dateiberechtigungen, Änderungszeiten usw. für verschiedene zum Programmieren verwendete Tools (z. B. make) wichtig ist.
Der separate Archivierungs- und Komprimierungsschritt funktioniert seit Jahren sehr gut, hat den klaren Vorteil, dass Archivierung und Komprimierung frei kombiniert werden können, und sein Nachteil (ein zweistufiger Komprimierungsprozess) kann durch die Entwicklung intelligenterer Tools leicht umgangen werden ( Das modernste Linux-Komprimierungsprogramm komprimiert direkt nach .tar.gz oder .tar.bz2, wobei der Zwischenschritt ausgeblendet wird.
Es gibt keinen triftigen Grund, zu anderen Dateiformaten zu wechseln, neuere Kompressoren haben keine wesentlich bessere Kompressionsrate, um einen Bruch der Tradition zu rechtfertigen, und Teer kann alles gut genug bewahren.
quelle