.tar
CR2
JPG
tar
アーカイブ自体からこれらの種類のファイルを除外するためにそのオプションを使用することを見たことがありますが、--exclude
これは私が望むものではありません。代わりに、すでに圧縮されているファイルを含めたいのですが、rsync
sの圧縮と同様に圧縮をスキップします--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
、個々のファイルを知らずに圧縮を適用することと実質的に同じです。