2008/12/14

開発用サーバをEtchからLennyにUpgradeした

(1)apt-lineをlennyに書き換える。

$ sudo vi /etc/apt/source.list
deb http://ftp.debian.or.jp/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free

(2)一発でdist-upgradeが通らなかったので、aptitude upgradeする。

$ sudo aptitude update
$ sudo aptitude upgrade

(3)aptitude dist-upgradeする。

$ sudo aptitude update
$ sudo aptitude dist-upgrade

(4)MeCabのVersionが0.93から0.97に上がったため、既存のScriptがSegmentation Faultしまくった(最初原因がわからずハマった)。併せてmecab-rubyをUpdate。
SourceForgeからmecab-ruby-0.97.tar.gzをGETして、

$ sudo tar xvzf mecab-ruby-0.97.tar.gz
$ cd ./mecab-ruby-0.97
$ ruby extconf.rb
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:1

あれ、mkmfが無い。ruby-devをインストールする必要があるらしい。

$ sudo aptitude install ruby-dev

やり直し

$ ruby extconf.rb
$ make
$ sudo make install/usr/bin/install -c -m 0755 MeCab.so /usr/local/lib/site_ruby/1.8/i486-linux

test.rbを実行すると結果が文字化けする。

$ ruby test.rb
filename: /var/lib/mecab/dic/debian/sys.dic
charset: EUC-JP

げ、辞書がEUC-JPなのか。Mecabのインストールと辞書のUTF-8化 - 森薫の日記を参考に辞書をUTF-8化する。

$ sudo /usr/lib/mecab/mecab-dict-index -d /usr/share/mecab/dic/ipadic -o /var/lib/mecab/dic/ipadic -f euc-jp -t utf-8 -p
$ cd /usr/local/src/mecab-ruby-0.97/
$ ruby test.rb
filename: /var/lib/mecab/dic/debian/sys.dic
charset: utf-8

ばっちり分かち書きできた。