インデックスアーカイブ形式?

インデックスアーカイブ形式?

圧縮ファイルアーカイブを作成し、ここから個々のファイル/ディレクトリをすばやく抽出できる必要があります。

問題は、例えばtar.bz2がこの種の操作に最適な選択ではないようです。 200Mbアーカイブ(50000ファイル)から単一の4kbファイルを抽出するには、マイコンピュータで17秒かかります。

アーカイブから単一のファイルをすばやくエクスポートできる(Linuxで動作する)アーカイブ形式はありますか?

答え1

ピクセルxz の並列インデックスバージョンです。

# Compress:
tar -I pixz -cf foo.tar.xz ./foo

# Decompress:
tar -I pixz -xf foo.tar.xz

# Very quickly list the contents of the compressed tarball:
pixz -l foo.tar.xz

# Very quickly extract a single file:
pixz -x dir/file < foo.tar.xz | tar x

答え2

Zip形式は各ファイルを個別に圧縮し、それをアーカイブコンテンツディレクトリと共に単一のアーカイブファイルに結合します。

答え3

すでに述べたzip形式に加えて、darユーティリティdumpもこの問題をうまく処理し、zipとは異なり、Unix権限を維持します。darファイル全体を一度に圧縮するtar / gzipメソッドに置き換えるため、固定アーカイブオプションを使用したくないので、より良い圧縮を提供しますが、必要に応じてファイル全体を解凍する必要があるため、個々のファイルを抽出する時間が長くなります。になります。ファイルが見つかりました。 dump多数の小さなファイル(数万個)でうまく機能し、マルチスレッド圧縮を実行できますが、ext [234]ファイルシステムのみを読み取ることができます。

答え4

.tar.gz解凍速度は速いですが、圧縮サイズは最悪です。編集者:Ignacio Vazquez-Abramsが私を忍者にしました。

関連情報