Leider müssen Sie zum Entpacken eines einzelnen .tar.gz
Archivmitglieds das gesamte Archiv verarbeiten, und Sie können nicht viel tun, um es zu reparieren.
Hier arbeiten .zip
(und einige andere Formate wie .rar
) Archive viel besser, da das zip
Format ein zentrales Verzeichnis aller darin enthaltenen Dateien mit direkten Offsets aufweist, die auf die Mitte der zip
Datei verweisen , sodass Archivmitglieder schnell extrahiert werden können, ohne das Ganze zu verarbeiten.
Sie fragen sich vielleicht, warum die Verarbeitung .tar.gz
so langsam ist?
.tar.gz
(oft abgekürzt als .tgz
) wird einfach .tar
mit gzip
Compressor komprimiert archiviert . gzip
Streaming-Kompressor, der nur mit einer Datei arbeiten kann. Wenn Sie einen Teil davon zu bekommen , wollen gzip
Strom, haben Sie es als Ganzes zu dekomprimieren, und das ist , was tötet es wirklich für .tar.gz
(und .tar.bz2
, .tar.xz
und andere ähnliche Formate basieren auf .tar
).
.tar
Format ist eigentlich sehr, sehr einfach. Es handelt sich lediglich um einen Stream von 512-Byte-Datei- oder -Verzeichnis-Headern (Name, Größe usw.), gefolgt von Datei- oder Verzeichnisinhalten (bei Bedarf mit 0 Byte auf 512-Blockgröße aufgefüllt). Wenn Sie für einen Header einen Block von insgesamt null 512 beobachten, bedeutet dies das Ende des .tar
Archivs.
Einige Leute denken, dass nicht einmal .tar
Archivmitglieder schnell darauf zugreifen können, aber das ist nicht ganz richtig. Wenn das .tar
Archiv nur wenige große Dateien enthält, können Sie tatsächlich schnell in den nächsten Header suchen und so das erforderliche Archivmitglied in wenigen Suchvorgängen finden (es können jedoch immer noch so viele Suchvorgänge erforderlich sein, wie Archivmitglieder vorhanden sind). Wenn Ihr .tar
Archiv viele winzige Dateien enthält, ist ein schneller Abruf von Mitgliedern auch ohne Komprimierung praktisch nicht möglich .tar
.