Zipファイルから1つのファイルを抽出するのは高速な操作なので、TARにも当てはまると思いましたが、TARファイルに圧縮がない場合でも、ファイルの抽出に時間がかかることがわかりました。 。 OS Xでホームフォルダをバックアップするためにtarを使用していたので、1つのファイルが必要でした。 tarはファイルの場所を認識していないため、抽出する前に300GBのファイル全体をスキャンする必要がありました。これは、TARがほとんどのバックアップシナリオにとってひどいフォーマットであることを意味するので、私のオプションを知りたいです。
では、単一のファイルをすばやく抽出するのに適したアーカイブファイル形式はどれですか?
この質問は実際には圧縮に関するものではありませんが、アーカイブと圧縮(Zipなど)を組み合わせたリスト形式の回答は問題ありません。その場合、「 solidcompression "」が重要になります。
抽出の速度と効率が主な懸念事項のようです。LinuxまたはmacOSを使用していると想定しているため、特別なファイル属性(Zipおよび7zは無視します)を保持したいと思います。その場合、優れたアーカイブ形式は次のようになります。
ext [2/3/4]ファイルシステム-ファイルをどこかにコピーするだけで、1つのファイルを抽出するのは、マウントして読み取るのと同じくらいすばやく簡単です。元のファイル。必要に応じて、アーカイブファイルシステム全体を単一のアーカイブファイル内に配置できます。十分な大きさのファイルを作成し、フォーマットしてマウントするだけです(-o loop
オプションはもう必要ありません)。
長所:
素晴らしいボーナスは、アーカイブファイル全体に暗号化(LUKS)を簡単に追加できること、またはファイルシステムがサポートするその他の暗号化(eCryptFS、EncFSなど)を簡単に追加できることです。
Rsyncベースのバックアップソリューションを簡単に使用することもできます。
ファイルの追加/削除は簡単です(アーカイブファイル全体のサイズまで)。
短所:
resize2fs
、ファイルを縮小するにはtruncate
などのツールが必要です(またはその逆で展開できます)。 )。macOS を使用していて、ext以外のものが好きな場合に備えて、すでに使用しているのと同じファイルシステム。 macOSのmountコマンドは、単一の大きなアーカイブファイルでも機能すると確信しています。
圧縮も必要な場合は、通常、ここでソリッドアーカイブと低速読み取りが役立ちます。一部のファイルシステムは直接圧縮をサポートしています(btrfs、reiserfs/reiser4、ext用に計画されていますか?)が、私は次のようにします。
SquashFS -これは圧縮キングである可能性があり、ファイル属性を保存し、単一ファイルの迅速な抽出を可能にします(マウントとブラウジング)実際にはすべてのファイルの)。アーカイブにも最適で、圧縮レベルを調整できるので、使用してください。
または、増分バックアップおよびオーバーレイマウントと組み合わせて、優れた「部分バックアップだが完全ファイル」ソリューションを実現することもできます。
短所は、アーカイブのサイズを拡大または縮小したり、ファイルを追加/削除したりすることが不可能なことです。
または、既存のバックアップ製品(Time Machine?)を使用します。
とにかく7z/Zipのようなアーカイブを本当に使用したいが、ファイル属性を保持したい場合は、各ファイルを個別にtarして(属性を保存して)、個別のtarファイルを7z/Zipアーカイブに保存できます。面倒な追加手順が必要ですが、単一の(tarされた)ファイルを簡単に抽出し、すべてを再圧縮せずにアーカイブを展開または縮小できます(完全なアーカイブでない場合)。