圧縮ファイルアーカイブを作成し、ここから個々のファイル/ディレクトリをすばやく抽出できる必要があります。
問題は、例えば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が私を忍者にしました。