Linux で 7-zip が使いたくて EPEL のリポジトリから p7zip をインストールしてみた。
OS が x86_64 なので p7zip-9.20.1-2.el6.x86_64.rpm がインストールされた。よし圧縮してみよう。
[root@server01 LOG]# 7za a -m0=PPMD archive/log2013_06.7z *2013_06* 7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=ja_JP.UTF-8,Utf16=on,HugeFiles=on,1 CPU) Scanning Creating archive archive/log2013_06.7z Compressing console_server01_2013_06_22@18_18_57.log Compressing console_server01_2013_06_23@18_26_00.log 68% /usr/bin/7za: line 2: 1431 セグメンテーション違反です "/usr/libexec/p7zip/7za" "$@"
セグメンテーション違反で停止。method が LZMA なら進むけど PPMd だとセグメンテーション違反になる。なんだそれ?以前ためしたときは大丈夫だったのに…。違いは… 64bit だ!というわけで 32bit 版のほう、p7zip-9.20.1-2.el6.i686.rpm を入れて同じ操作を試してみた。
[root@server01 LOG]# 7za a -m0=PPMD archive/log2013_06.7z *2013_06* 7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=ja_JP.UTF-8,Utf16=on,HugeFiles=on,1 CPU) Scanning Creating archive archive/log2013_06.7z Compressing console_server01_2013_06_22@18_18_57.log Compressing console_server01_2013_06_23@18_26_00.log Compressing console_server01_2013_06_29@05_11_42.log Compressing logasio_server01_2013_06_22@18_18_58.log Compressing logasio_server01_2013_06_23@18_26_03.log Compressing logasio_server01_2013_06_29@05_11_42.log Everything is Ok
おわった。何事も無く。7-zip で PPMd を使うときは 32bit 版のバイナリにしておいた方が良いってコトかな。