小さなファイル(画像)が事前に圧縮されたフォルダを圧縮する最善の方法は何ですか?

小さなファイル(画像)が事前に圧縮されたフォルダを圧縮する最善の方法は何ですか?

データベースに保存するために単一のファイルに圧縮したい約50 GBの画像とビデオファイル(〜35,000ファイル)を含むフォルダがあります。これらの小さなファイルにコピーされたデータを実際に活用し、合理的な圧縮を提供するための圧縮オプション(またはオプション付きのユーティリティ)はありますか?標準の「tar czf」などは、十分に大きなデータブロックを考慮せず、圧縮されていないディレクトリとほぼ同じサイズのファイルを返すようです。

(はい、通常は大容量ファイルを圧縮できないことを知っています。パターンを検出できるものを探しています。通り過ぎる文書。 )

(注:最終的な目標は、私が写真を整理するために書いているアプリにこの機能を追加することです。これは単なるテストケースです。「ただtar cjfを使用してください」と答えるのはあまり役に立ちません。

答え1

この試み、

gzip=-9 tar -cvzf videos_backup.tgz </path/to/videos>

ディレクトリ内のファイルの圧縮にはしばらく時間がかかることがあります。

答え2

私はこれを使用します:

tar cvf images.tar file1 file2 ...
gzip -9 images.tar  

すべてのファイルを1つにマージしてからそれから圧縮すると、すべての共通部分が1つのファイルに保存されます。どのように機能するかは、選択した圧縮プログラム(および提供するオプション)によって異なります。さまざまなオプションやプログラムを試してみてください(たとえばgzip、おそらく勝ちたいのxzですが可能です)。一部のプログラム/オプションは非常に遅く、メモリが制限されていると問題が発生する可能性があります。bzip2xz

関連情報