最も「効率的な」アーカイブ変換

最も「効率的な」アーカイブ変換

あなたが私と同じなら、さまざまな形式(zip、tar、rar、tgz、tar.bz2など)のアーカイブがたくさんあります。私のものを整理している間、私は基本的に私のアーカイブを残すことにしました(コンテンツは通常archivemountまたはavfsを介してアクセスされます)。しかし、ほとんどの場合、私はこのアーカイブに書き込んでいませんが、時には私やアプリケーションはこのアーカイブに設定ファイル/インデックスファイル/説明ファイル/ストレイファイルなどを書き込むことができます。

しかし、私はこれらのアーカイブを整理するときに変換できる基本的な形式をしたいと思います。このアーカイブ形式のいくつかの要因は明らかです。他の形式をこの形式に簡単に変換できる必要があり、好ましくは直接アーカイブ内のファイルにアクセスするときにかなりのオーバーヘッドがあってはならず、サイズは考慮事項ですが、主な要素ではありません。アーカイブが抽出時に同じファイルサイズの2倍にならない限り。

今、私は人々が「最も良いアーカイブ形式は...」と答えると素直に期待するのではなく、この状況で使用できるさまざまなアーカイブ形式の長所と短所を理解したいと思います。

答え1

これはUnixの世界ではtar事実上のアーカイブ形式です。もちろん、読み書き可能な他の形式もありますが、これはtarファイルをまとめるときに好ましい形式です。

実際の問題は使用する圧縮システムのようです。圧縮は常に速度と圧縮比のバランスです。また、速度が影響を受ける部分に違いがある可能性があります。一部の解凍は効率的ですが、圧縮に時間がかかり、その逆も同様です。

自分に最適な方法を使用する必要があります。圧縮がまったくないことは、アーカイブに簡単にアクセスして更新できることを意味します。これはまた、バージョン管理およびバックアップシステムがデータrsyncをより深く確認し、より効率的な増分バックアップを実行できることを意味します。一方、圧縮をひどくすると、サイズが小さくなる可能性があります。gzipなどの形式は、bzip2最も一般的に使用されるロスレス圧縮形式ですが、他の形式lzmaも存在します。7zこれらのツールの多くには、同じアルゴリズムを使用するさまざまな圧縮率のオプションも含まれています。

答え2

時々違うよね

  • ストレージ権限が必要ない場合は、7zを選択してください。個々のファイルへのクイックアクセス(100 GB tarからファイルを抽出したことがありますか?)と優れた圧縮機能を提供します。私はfindとsedを使って権限回復スクリプトジェネレータスクリプトを書いたことがありますが、興味があれば探してみましょう。

  • 小さい(最大数GB)アーカイブの場合は、圧縮されたtarを使用します。速度が重要な場合は、より大きなアーカイブには使用しません。 xzはgzipより良いbzip2よりも優れています。一部のライブ/構造CDにはxzはありませんが、bzip2を持たないシステムはまだ見たことがありません。

  • 大きなファイルの場合、圧縮されていないtarは良い選択です。ほとんどの場合、速度は許容されます。アーカイブの内容によっては圧縮することは意味がないかもしれません。オーディオファイルとビデオファイルはすでに圧縮されているため、ロスレスアルゴリズムを使用して圧縮することはできません。

  • Starはtarができることをすべて行うことができ、スパースなファイルサポートも提供します。残念ながら、広く使用されていません。

答え3

zip圧縮が許可されている間、アーカイブ内のすべてのファイルに効果的にアクセスするために選択します。使用時に.tar.*z最初にアーカイブを解凍してから読んでください(それ自体tarは悪くありませんが、すべてを圧縮/圧縮解除する場合)。最良の結果を得るには一度だけ実行してください。)

関連情報