tar、特定のファイル形式の圧縮を避けながら

tar、特定のファイル形式の圧縮を避けながら

.tarCR2JPG

tarアーカイブ自体からこれらの種類のファイルを除外するためにそのオプションを使用することを見たことがありますが、--excludeこれは私が望むものではありません。代わりに、すでに圧縮されているファイルを含めたいのですが、rsyncsの圧縮と同様に圧縮をスキップします--skip-compress

可能ですか?それでは、どうすればいいですか?

答え1

tarデフォルトでは、これらの機能はなく、2つの別々のtarファイル(1つは圧縮ファイル、もう1つは非圧縮ファイル)を持つようにフィルタリングできます。これはtar、前述の除外オプションを使用するか、またはを使用して達成できますfind

選択肢を受け入れたい場合はdar(ディスクアーカイブ)を使用して、各ファイルを個別に圧縮するかどうかを決定できます(-Z, --exclude-compression <mask>オプション)。また、ファイル全体を解凍せずに(ファイルが見つかるまで)、アーカイブ内の個々のファイルを回復することもできますtar

ほとんどの人はこの問題を完全に無視し、すべてのファイルを圧縮します。高速圧縮アルゴリズムを使用すると、大きな違いはありません。強力な圧縮にははるかに多くのCPU時間が必要ですが、サイズの縮小は無視できます(ymmv、データに大きく依存します)。何度もダウンロードするアーカイブラの場合、強力な圧縮はそれほど価値があるかもしれませんが、そうでなければ価値がないかもしれません。

答え2

GNUを使用してもこれを行う方法はありませんtar

tarファイルを収集し、結果ストリームを圧縮します。これはtar ... | gzip > somefile.tgz、個々のファイルを知らずに圧縮を適用することと実質的に同じです。

関連情報