ストレージのサイズの観点から、アーカイブして圧縮する、または圧縮してアーカイブする方が効率的ですか?

ストレージのサイズの観点から、アーカイブして圧縮する、または圧縮してアーカイブする方が効率的ですか?

古いファイル(1000以上)をアーカイブしようとしていますが、2つのオプションを考えています

  1. 個々のファイルをgzipで圧縮し、zipファイルを作成する

  2. tar cvzfファイルのグループを使用して gzip を作成する

スペースの保管という点で最も効率的なものが何であるかはわかりません。

ベストプラクティスを理解するのに役立つ情報はありますか?

答え1

gzip と zip を併用するのは冗長です。zip には独自の圧縮機能がありますが、gzip ほど圧縮率が高くない場合や、そうでない場合もあります。結果のアーカイブから個々のファイルを抽出する場合は、zip を使用する方が適切でしょう。

tar を使用してファイルを収集し、その後 gzip を使用すると、ファイル内だけでなくファイル間でも圧縮できるため、圧縮率が高くなる可能性があります。ただし、アーカイブ内の内容の一覧を取得するには、ファイルをまとめて解凍し、個々のファイルを抽出する必要もあります。常にアーカイブ全体を抽出する場合は、これは意味がありません。

また、これをすべて1つのステップで実行することもできます。たとえば、

tar cf - somedir | gzip -9 > somedir.tar.gz

または同等

tar czf somedir.tar.gz somedir

あるいは、xz (または z の代わりに J オプション) を使用すると、圧縮時間が大幅に長くなりますが、さらに高い圧縮率が得られます。(ただし、長期アーカイブの場合は、圧縮にかかる時間は気にしないかもしれません。)

関連情報