Wenn Sie Open-Source-Projekte durchsuchen, die hauptsächlich für Linux-Systeme entwickelt wurden, und die neuesten Pakete herunterladen, wird der Quellcode immer in einer .tar.gz- oder .tar.bz2-Datei gespeichert.
Gibt es einen Grund für die Verwendung von .tar.gz oder .tar.bz2 anstatt von .zip oder .rar oder einem anderen Komprimierungsalgorithmus (oder es sogar unkomprimiert zu lassen, wenn das Projekt klein genug ist)?
open-source
history
packages
Joe Z.
quelle
quelle
tar
(dh Tape Archiver) bereits ein Standard de facto war.ftp.gnu.org
zum Beispiel. Darauf baut das ganze Internet auf. Und ich hoffe, jeder wird zustimmen, dass ZIP sowieso technologisch unterlegen ist.Antworten:
Zur Beantwortung der Frage in der Überschrift: tar.gz / tar.bz2 wurde vor sehr langer Zeit zum Standard für die Verteilung von Linux-Quellcode, wie in weit über zwei Jahrzehnten und wahrscheinlich in einigen weiteren Jahrzehnten. Bezeichnenderweise bevor Linux überhaupt existierte.
Tatsächlich steht Teer für (t) ape (ar) chive. Denken Rollen hart, und Sie werden eine Vorstellung bekommen , wie alt es ist. Ba-Dum-Beule.
Bevor Menschen CD-Brenner hatten, wurden Distributionen von Software auf 1,44-MB-Disketten ausgegeben. Die komprimierte TAR-Datei wurde durch den
split
Befehl in Teile mit Diskettengröße zerlegt , und diese Teile wurden Tarballs genannt . Sie würden sie wieder zusammenfügencat
und das Archiv extrahieren.Die andere Frage, warum nicht Zip oder Rar, zu beantworten, ist ganz einfach. Der tar-Archivierer stammt von Unix, während die beiden anderen von MS-DOS / Windows stammen. Tar verarbeitet Unix-Dateimetadaten (Berechtigungen, Zeiten usw.), während zip und rar dies bis vor kurzem nicht getan haben (sie haben MS-DOS-Dateidaten gespeichert). Tatsächlich hat zip eine Weile gebraucht, bis NTFS-Metadaten (alternative Streams, Sicherheitsbeschreibungen usw.) ordnungsgemäß gespeichert wurden.
Viele der Komprimierungsalgorithmen in PKZip sind Eigentum des Originalherstellers, und der letzte, der zu den Dos / Windows-Versionen hinzugefügt wurde, war Deflate (RFC 1951), der etwas besser abschnitt als Implode, der proprietäre Algorithmus, der die beste allgemeine Komprimierung erzeugte . Gzip verwendet den Deflate-Algorithmus.
Der RAR-Komprimierungsalgorithmus ist proprietär, es gibt jedoch eine kostenlose Open-Source-Implementierung des Dekomprimierers. Offizielle Releases von RAR und WinRAR von RARlab sind nicht kostenlos .
Gzip verwendet den Deflate-Algorithmus und ist daher nicht schlechter als PKZip. Bzip2 erhält etwas bessere Kompressionsverhältnisse.
TL; DR-Version:
tar.gz und tar.bz2 stammen von Unix, daher werden sie von Unix-Leuten verwendet. Zip und Rar stammen aus der DOS / Windows-Welt, daher werden sie von DOS / Windows-Benutzern verwendet.
tar
ist seit mehreren Jahrzehnten der Standard für die Bündelung von Zeugarchiven in * nix.quelle
Ich weiß nicht wann, aber ich stelle mir vor, der Grund, warum es verwendet wird, ist eine Kombination aus: Teer ist traditionell (es ist sehr alt); einfache Verwaltung über eine Befehlszeile; Unter Beibehaltung des Dateisystems werden Informationen angezeigt, die ZIP oder RAR möglicherweise nicht enthalten. Durch den Two-Pass-Prozess ist die Komprimierung effizienter (eine große Datei komprimiert besser als viele kleine Dateien).
bzip2 (.bz2) scheint gzip (.gz) zu verdrängen, da es eine bessere Komprimierung bietet, ähnlich wie gzip selbst die frühere Komprimierung (.Z) verdrängt.
quelle
Im Wesentlichen sind Archivieren und Komprimieren zwei verschiedene Vorgänge. Das tar.gz zeigt sehr deutlich die Absicht: Ein komprimiertes Archiv, wohingegen ein .zip oder .rar nur komprimierte Inhalte anzeigt.
quelle
tar
ist traditionell in Unix, kombiniert Dateien, komprimiert sie aber nicht unbedingt. Genauso einfach ist es, sie mit .g oder .bz oder .b2 zu komprimieren.Zip
undrar
sind in der Windows-Welt anständig und verbreitetquelle
Es ist traditionell, allgegenwärtig und funktioniert. Außerdem dachte ich, es sei etwas Selbstverständliches.
Aktualisieren
Ich entschuldige mich dafür, dass ich vergesse, dass die meisten Leute nicht wissen, was ich weiß oder Erfahrung als Administrator in heterogenen Umgebungen haben.
Tradition wie in einer Sitte oder Praxis im Laufe der Zeit verankert. Wir wissen, dass es eine geschichtliche Grundlage hat, da tar von Tape ARchive abgeleitet ist, das auf die alte Bandsicherungstechnologie verweist. Es hat eine lange Geschichte in den verschiedenen Unix-Betriebssystemen, die bis 1979 in der 7. Ausgabe von Unix zurückreichen, wo es tp ersetzte. Linux-Systeme sind in der Regel eine Verschmelzung von Linux-Kernel und GNU-Software, zu der GNU tar gehört. All diese Teerhistorie bedeutet, dass die Mehrheit der erfahrenen Techniker weiß, wie man es benutzt, ohne auf die Dokumentation zurückgreifen zu müssen, weil es tief verwurzelt ist. Für neuere Benutzer gibt es eine Menge Dokumentation, da es die Software schon so lange gibt.
Allgegenwärtig wie in Erscheinung oder überall zu finden. Ein etwas akzeptierter Missbrauch liegt vor, wenn das Erscheinungsbild nicht universell ist, sondern in einem ausreichenden Prozentsatz der Bevölkerung, um als allgegenwärtig akzeptiert zu werden. 7. Edition Unix ist der Vorfahr der größten Unix - Versionen einschließlich Sun OS / Solaris, AIX, HP - UX, AIX, BSD, etc . Es gibt auch ein hohes Maß an Kompatibilität zwischen den verschiedenen Implementierungen von tar unter Unix . Da MacOS (seit OS 10) auf BSD basiert, hat es auch tar. Linux verwendet GNU-Software, die GNU Tar enthält, sodass tar für alle Linux-Versionen verfügbar ist. AND, obwohl nicht als eingebaute Version verfügbar, gibt es unter Windows viele Implementierungen von tar, einschließlich GNU Tar über cygwin und nativ. Insbesondere GNU Tar ist auf den meisten Unices und Windows verfügbar, sodass es die gute Wahl für Dateimigrationen unter verschiedenen Betriebssystemen ist.
Funktioniert so, wie es lange Zeit ohne größere Änderungen funktioniert hat. Es ist sofort auf allen gängigen Plattformen verfügbar (mit Ausnahme von Windows, wo es als zusätzliche Software verfügbar ist). Das Format wird auch auf allen wichtigen Plattformen unterstützt, was den Austausch zwischen Plattformen erleichtert. Es wird immer noch nicht nur verwendet, um leicht zu portierende Archive zu erstellen, sondern eine Tar-Pipe ist auch ein Standard-Unix-Idiom zum Kopieren von Verzeichnisbäumen, insbesondere in heterogenen Umgebungen. Kurz gesagt, es gibt es schon und es wird immer noch intensiv genutzt, weil es das tut, was es gut macht.
quelle