Aktado
aktad****@users*****
2011年 9月 2日 (金) 05:12:38 JST
coz さん,おはようございます。 aktado です。 #遅ればせながら,第2水準までの常用漢字完成,おめでとうございます。 #予定より早かったということは,お子様の夏休みの宿題も順調だったと #いうことでしょうか。:-) さて,xz 圧縮についてですが,私もいろいろな形式で試してみたところ, やはり xz, lzma, 7z といった LZMA 系のアルゴリズムを採用している ものの方が飛び抜けて圧縮効率が高いことが確認できました。 7156260 mplus-TESTFLIGHT-042.tar.xz 7159415 mplus-TESTFLIGHT-042.tar.lzma 8821434 mplus-TESTFLIGHT-042.7z 27691765 mplus-TESTFLIGHT-042.tar.bz2 28890259 mplus-TESTFLIGHT-042.tar.gz 28945584 mplus-TESTFLIGHT-042.zip 29945980 mplus-TESTFLIGHT-042.lzh 50462720 mplus-TESTFLIGHT-042.tar (圧縮なし) テキストデータに対してはこれほどまで大きな差は出なかったので, 「多少圧縮効率が悪くても標準的な gzip 形式の方がよい」と考えて いたのですが,考えを改めました。十分に検討する価値があると思い ます。 また,ダウンロードするサイズを小さくするという点では,たとえば フォントファミリごとにリリースを分割することも検討してはどうで しょうか。リリースにかかる手間が増えるかもしれませんが… itouhiro さん: > % tar Jcv -g --level=9 -f mp042.txz mplus-TESTFLIGHT-042/ > とコマンド1回で、さらに圧縮レベルを指定しても > mp042.txz 11M (11071180 bytes) > です。コマンドは2回に分けて実行したほうがよいようです。 GNU tar マニュアルを見てみると,--level は圧縮レベルを指定する ものではないようです。差分バックアップのダンプレベルを指定する もので,通常ファイルに書き出す際にはあまり意味がないものと思い ます。圧縮レベルとしてはデフォルトの 6 が使用されているのでは ないでしょうか。 tar で圧縮レベルを指定するには,以下のようにすればよいようです。 2回に分けた場合と,ほぼ同じ圧縮率になります。 % env XZ_OPT="-9" tar Jcv -f mp042.txz mplus-TESTFLIGHT-042/ しかし, tar で --xz (-J) オプションが追加されたのも比較的最近の version 1.22 (2009-03-05) なので,対応していない版の tar がまだ 使われているケースは結構ありそうです。 gzip と同じく,以下のようにすれば tar が xz に対応していなくても 構いません。 % tar cf - mplus-TESTFLIGHT-042/ | xz -9 -c > mplus-TESTFLIGHT-042.tar.xz > Ubuntu 11.04に最初から xz-utils が入っていたかは > 覚えていませんが、ない場合 Ubuntu 11.04 では dpkg が xz-utils に依存しているので,ほぼ標準 でインストールされていると思います。 8.04LTS では xz-utils パッケージがなくて,lzma がそれに相当して います。sourceforge.jp のシェルサーバでも同様でした。 > そのxz圧縮ファイルをWindowsで開く方法ですが、 > フリーの解凍ソフト 7-Zip 9.20 (http://sevenzip.sourceforge.jp/) > で解凍できることを確認しました。(WindowsXP) 7Zip は同じ sourceforge.jp 内で,ダウンロードランキング上位に 挙がっているので,案内しやすいかもしれませんね。 MacOS X では,検索した限りですが The Unarchiver というソフト ウェアが xz 形式に対応しているようです。 http://wakaba.c3.cx/s/apps/unarchiver.html -- Aktado <aktad****@users*****>