web-dev-qa-db-ja.com

大きなファイルと高速インデックス用のアーカイブソフトウェア

私は現在、いくつかのファイルをアーカイブするためにtarを使用しています。問題は、アーカイブがかなり大きく、多くのデータが含まれており、リストと抽出時にtarが非常に遅いことです。

アーカイブから単一のファイルまたはフォルダーを抽出する必要があることがよくありますが、現在、ファイルの外部インデックスはありません。

それで、Linuxの代替手段があり、非圧縮のアーカイブファイルを作成し、ファイル属性を保持し、高速アクセスリストテーブルを使用できますか?

私は10から100GBのアーカイブについて話しているので、1つのファイルにアクセスするのに数分待つのはかなり非現実的です。

とにかく、この問題を解決するためのトリックは大歓迎です(ただし、単一のアーカイブはオプションではないため、rsyncなどはありません)。

前もって感謝します!

編集:私はアーカイブを圧縮していません、そしてtarを使用して私はそれらが遅すぎると思います。 「遅い」について正確に言うと、私はそれが欲しいです:

  • アーカイブコンテンツの一覧表示には、アーカイブ内のファイル数の直線的な時間がかかるはずですが、定数はほとんどありません(たとえば、すべてのファイルの一覧がアーカイブの先頭に含まれている場合、非常に高速になる可能性があります)。
  • ターゲットファイル/ディレクトリの抽出には、(ファイルシステムの送信)ターゲットサイズに比例した時間がかかるはずです(たとえば、40GBディレクトリで2MB PDFファイルを抽出する場合は、本当に欲しいです)数分もかからない...数秒ではないにしても)。

もちろん、これは私の考えですであり、要件ではありません。アーカイブにそれぞれのオフセットを持つすべてのファイルのインデックスが含まれていて、そのようなインデックスが適切に編成されている場合(ツリー構造など)、このようなパフォーマンスを実現できると思います。

4
AkiRoss

Serverfaultで同様のトピックを見つけました。

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

私はDARを見ています。これは私が必要としているもののようですが、他の提案のためにこの質問を開いたままにしておきます。

1
AkiRoss

-ms=offオプションを使用して pixz 、または p7Zip を確認してください。

pixzは少し高速で、tarファイルでうまく機能し、権限を保持し、はるかに優れたLinuxCLIを備えています。

7Zipは、より優れたクロスプラットフォームサポートを備えています。

詳細については、 ここ を参照してください。

2
ostrokach

tarが要件でない場合、クイック検索ではarでインデックス付きアーカイブが許可されることが示されます。

0
UtahJarhead