#author("2019-02-21T15:10:25+00:00","default:sysosa","sysosa") #author("2019-07-20T05:19:53+00:00","default:sysosa","sysosa") 本家様 [[https://zlib.net/pigz/>+https://zlib.net/pigz/]] 複数のcoreを使って圧縮、解凍を行います。 xz版 [[pixz]] ***インストール [#j7592dbb] epelリポジトリで提供されているようで #code(nonumber){{ [root@c ~]# yum --enablerepo=epel install pigz }} とかでインストールを行う。 ***使い方 [#y3f9e753] #code(nonumber){{ [saber@c ~]$ tar cvf - ./sample-A/movie_frames ./sample-B/movie_frames | pigz > images.tar.gz }} とパイプ(|)で繋いでpigzに流す。&color(red){*};&size(10){他にtarのオプションとしても使えるけど}; この場合、マシンにある全てのコアを使って圧縮を行います。 圧縮に使うコアを限定したいなら #code(nonumber){{ [saber@c ~]$ tar cvf - ./sample-A/movie_frames ./sample-B/movie_frames | pigz -p 2 > images.tar.gz }} とします。これで2coreを使って圧縮してくれます。 また、gzipなので圧縮のレベルも選べて、0から9、そして最大の11が選べる。数字が低ければ軽い圧縮だが速い。 数字が大きければ、高い圧縮を行いますが、時間が相当掛かります。 #code(nonumber){{ [saber@c ~]$ tar cvf - ./sample-A/movie_frames ./sample-B/movie_frames | pigz -1 -p 2 > images.tar.gz }} &color(white,blue){メモ}; まとめたファイルを直接別のマシンに転送したいのなら #code(nonumber){{ [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 [#h6f6127c] tiffファイルに圧縮は微妙。時間が掛かるだけに思える。mrcは物に寄るのでしょうが、良く効く。 ***解凍 [#de47a40a] 圧縮して出来たファイルはgzipで固めたものと同じとして扱えますので、 #code(nonumber){{ (確認) [saber@c ~]$ tar tvfz images.tar.gz (解凍) [saber@c ~]$ tar xzvf images.tar.gz }} とかで利用できます。 一応、解凍作業自体も pigz で複数coreを使って解凍できる。 #code(nonumber){{ [saber@c ~]$ pigz -p 2 -cd images.tar.gz | tar tvf - }}