複数のcoreを使って圧縮、解凍を行います。
xz版 pixz
epelリポジトリで提供されているようで
[root@c ~]# yum --enablerepo=epel install pigz
とかでインストールを行う。
[saber@c ~]$ tar cvf - ./sample-A/movie_frames ./sample-B/movie_frames | pigz > images.tar.gz
とパイプ(|)で繋いでpigzに流す。*他にtarのオプションとしても使えるけど
この場合、マシンにある全てのコアを使って圧縮を行います。
圧縮に使うコアを限定したいなら
[saber@c ~]$ tar cvf - ./sample-A/movie_frames ./sample-B/movie_frames | pigz -p 2 > images.tar.gz
とします。これで2coreを使って圧縮してくれます。
また、gzipなので圧縮のレベルも選べて、0から9、そして最大の11が選べる。数字が低ければ軽い圧縮だが速い。
数字が大きければ、高い圧縮を行いますが、時間が相当掛かります。
[saber@c ~]$ tar cvf - ./sample-A/movie_frames ./sample-B/movie_frames | pigz -1 -p 2 > images.tar.gz
メモ
まとめたファイルを直接別のマシンに転送したいのなら
[saber@c ~]$ tar cvf - ./sample-A/movie_frames ./sample-B/movie_frames | pigz -1 -p 2 | ssh root@c10 "cat > /usb/images.tar.gz"
とかとする。
tiffファイルに圧縮は微妙。時間が掛かるだけに思える。mrcは物に寄るのでしょうが、良く効く。
圧縮して出来たファイルはgzipで固めたものと同じとして扱えますので、
(確認)
[saber@c ~]$ tar tvfz images.tar.gz
(解凍)
[saber@c ~]$ tar xzvf images.tar.gz
とかで利用できます。
一応、解凍作業自体も pigz で複数coreを使って解凍できる。
[saber@c ~]$ pigz -p 2 -cd images.tar.gz | tar tvf -