Was macht ein Tar-Archiv suchbar?

1

Es scheint, dass ein durchsuchbares Tar-Archiv einen großen Unterschied machen kann, wenn Sie nur einige Dateien auflisten oder extrahieren. Leider ist die Manpage wirklich knapp an Informationen. Es scheint, dass komprimierte Archive nicht auffindbar sind [1], aber dieser Beitrag liefert keine Beweise. Gibt es eine zuverlässigere Informationsquelle zu diesem Thema?

[1] https://serverfault.com/questions/59795/is-there-a-smarter-tar-or-cpio-out-there-for-efficiently-retrieving-a-file-store

Peltier
quelle
1
Was ist falsch an dieser Antwort ?
DavidPostill
@ DavidPostill: Es ist nichts falsch an dieser Antwort, es ist nur eine Antwort auf eine andere Frage.
Peltier
"Ja wirklich?" "GNU tar erstellt also standardmäßig" durchsuchbare "Archive." und "Komprimierte Archive sind nicht" durchsuchbar ", weil der aktuelle (1.26) GNU-Teer die Komprimierung auf ein externes Programm verlagert". Beantworten Sie Ihre Frage nicht?
DavidPostill
Das war nicht die ursprüngliche Frage und liefert keine stützenden Beweise. Ich stimme jedoch zu, dass es ein guter Anfang ist.
Peltier
Der unterstützende Beweis ist der Quellcode.
DavidPostill

Antworten:

1

Der Dateiheader für jede Datei enthält die Größe im Archiv. Dadurch kann der Dateiinhalt übersprungen werden, wenn er nicht benötigt wird. Tar sucht nur nach dem nächsten Header, der dem Dateiinhalt folgt. Es gibt eine Dokumentation zum Header-Format.

Komprimierte TAR-Dateien sind genau das. Sie können ein nicht komprimiertes und komprimiertes TAR-Dateiformat mit dem entsprechenden Dekomprimierungsprogramm (häufig gunzip) oder Komprimierungsprogramm (gzip) frei umschalten. Bei einigen Tar-Programmen ist dies die einzige Option. Die tar-Datei selbst bleibt suchbar, auch wenn sie komprimiert ist.

Was nicht suchbar ist, ist das komprimierte Format. Die Komprimierung erfolgt durch Auffinden einer relativ kleinen Anzahl von Bytes, um die zu komprimierenden Daten darzustellen. Datenblöcke mit relativ wenigen Bytewerten oder wiederholten Bytefolgen lassen sich gut komprimieren. Datenblock mit vielen unterschiedlichen Bytewerten und wenigen wiederholten Bytestings lässt sich nicht oder nur schlecht komprimieren. Bei einigen Daten kann die Komprimierung die Größe der Datei erhöhen. Das Komprimierungsverhältnis für Blöcke in der Datei variiert. Die Varianz kann für eine TAR-Datei extrem sein, die aus sehr komprimierbaren Dateien und relativ nicht komprimierbaren Dateien bestehen kann.

In den komprimierten Daten gibt es keinen Mechanismus, um nach einer Position in den nicht komprimierten Daten zu suchen. Während einige Komprimierungsprogramme die Suche nach einer einzelnen Datei mit einem komprimierten Archiv ermöglichen, ist die einzige Datei, auf die das komprimierte Archiv Zugriff haben würde, die TAR-Datei. Tar-Dateien werden mit solchen Tools selten komprimiert, obwohl komprimierte oder unkomprimierte Tar-Dateien beim Archivieren von Dateigruppen enthalten sein können.

BillThor
quelle