残念ながら、.tar.gzアーカイブの単一のメンバーを解凍するには、アーカイブ全体を処理する必要があり、それを修正するためにできることはあまりありません。
これは、.zip(およびのような他の形式の.rar)アーカイブがはるかにうまく機能する場所です。これは、zip形式に含まれるすべてのファイルの中央ディレクトリがファイルの中央を指す直接オフセットzipであるため、アーカイブメンバーをすべて処理せずにすばやく抽出できるためです。
処理.tar.gzが非常に遅い理由を尋ねるかもしれません。
.tar.gz(しばしばとして短縮.tgz)は、.tarコンプレッサーでgzip圧縮されたアーカイブです。gzip1つのファイルでのみ機能するストリーミングコンプレッサーです。gzipストリームの一部を取得したい場合は、全体として圧縮を解除する必要があり、これが.tar.gz(および.tar.bz2、.tar.xzおよびに基づいた他の同様の形式のために)本当にそれを殺すものです.tar。
.tar形式は実際には非常に単純です。これは単に512バイトのファイルまたはディレクトリヘッダー(名前、サイズなど)のストリームであり、それぞれにファイルまたはディレクトリの内容が続きます(必要に応じて0バイトで512ブロックサイズにパディングされます)。ヘッダーの512ブロックが完全にヌルである場合、これは.tarアーカイブの終了を意味します。
一部の人々は、.tarアーカイブのメンバーでさえ迅速にアクセスできないと考えていますが、これは全く真実ではありません。.tarアーカイブに含まれる大きなファイルが少ない場合、実際に次のヘッダーをすばやくシークできるため、必要なアーカイブメンバーを数回のシークで見つけることができます(ただし、アーカイブメンバーと同じ数のシークが必要になる場合があります)。.tarアーカイブに多数の小さなファイルが含まれている場合、これは、圧縮されていない場合でもメンバーの迅速な取得が事実上不可能になることを意味します.tar。