Debian日記

最近物忘れが激しいので日記をつけることにする(^^;

2000.10.18 / いろいろ
 MozillaのM18がリリースされたようなので、早速とってきてビルドしてみた。今のところ快調に動いている。/usr/localに置くと一般ユーザーが言語セット等のプラグインを入れることができなくて不便なので、できたバイナリは~/bin/mozilla-M18に置いてある。

 CoolなシステムモニタであるGKrellMはPotatoにも含まれているのだが、最近バージョン1がリリースされたようなので、Woodyからソースパッケージを持ってきてコンパイルしてみた。取ってきたバージョンは1.0.0-1。特になんの手直しをすることもなくそのままdpkg-buildpackageでパッケージング出来たので、それを使っている。
 が、GKrellMはGTKのロケールを初期化してないので日本語が化ける。(メニューの日本語カタログはあるみたい)そこで、gkrellm-1.0.0/src/main.cの中のmain関数の gtk_init(&argc, &argv); の直前に gtk_set_locale(); を挿入してパッケージングしておいた。これでメニューの日本語が化けない。
 うーん、あっちの人ってあんま他の言語環境のこと考えてないんかな。

2000.10.7 / mozilla preM18のビルド
 Netscape6のPR3も出たことだし、mozillaでも使ってみようと思い、ソースをとってきて作ってみることにした。
 基本的には前回作ったM16と同じなのだが、いつのまにかlibIDLというライブラリが必要になっているようなので、mozillaをビルドする前にlibIDLをインストールしておく必要がある。libIDLはPotatoのパッケージにはないので、ソースをこのへんからとってきてmakeして/usr/local以下にインストールした。

 その後は、M16の時と全く同様。

 使ってみた感じとしては、デザインが前よりも格段にましになっている(笑)し、安定性も相当向上している。日本語対応も完璧で、Netscapeの4.x系を日本語化したものよりは遥かに安定しているように感じる。というわけで、しばらくメインブラウザとして使ってみることにした。プラグインに関してはどうなっているのかいまいち分からないが、とりあえず普段みているページには必要ないのでいいだろう。

 XでTrueTypeフォントも使えるようになったし、普通にネットサーフィンする分にはLinuxはWindowsとほぼ同等(むしろ、真ん中ボタンクリックで新しいウインドウを開いてくれる点が便利)になった感がある。

2000.10.7 / Potato再インストール開始
 新しくDebian用にHDDを購入した(というか、前つかってたのが壊れた)ので、Potatoを新規インストール。また1から全て設定し直しになってしまったので、設定しながらこのページのまだ書いてなかった記事を書いていくことにする。

 前回ちゃんと記録してなかったから自分ですら尽く忘れてしまってて、かなり苦労しそう。

2000.7.1 / galeonのmake
 mozillaのM16が動くようになったので、galeonのmakeをやってみる。makeは簡単で、展開したディレクトリで
$ ./configure
$ make
		
とやるだけである。
 実行するには、start_galeonとやるのだが、うちの環境ではなぜかSegVしてしまう。原因不明。(^^;
 せっかくM16まで準備したのに……なんで?(;;)

2000.7.1 / mozilla M16のビルド
 久しぶりにGNOMEのOfficial Siteに行ってみたら、galeonというGeckoをエンジンに使ったGNOME対応ブラウザがあるのを発見。まだdebパッケージにはなっていないようなので、ソースをDLしてmakeしてみることにした。
 因に、galeonのOfficial Siteはここである。

 ソースを取ってきてはみたものの、Geckoエンジンを使うには、どうやらmozillaのM16が入ってないといけない(libgtkenbedmozというライブラリが要る)みたいなので、何とかしてM16を入れることにする。
 potatoのmozillaはM14だし、woodyのmozillaもM15なのでdebパッケージは諦めてバイナリのtar ballを取ってきてみたが、libstdc++のバージョンが違うため動かず。
 そんなわけで、最後の手段としてmozilla M16をソースからmakeすることにした。

 まず、ソースだが、mozilla.orgから取ってくる。あらゆるプラットフォームのソースが一緒になっているらしく、ファイルサイズはなんと22Mくらい。(因に、バイナリtar ballは7Mくらい)
 取ってきたら、
# tar xzvf mozilla-source-M16.tar.gz
		
として展開。mozillaというディレクトリが作られ、その下にソースが展開される。やってみたらわかるが、とんでもない量のソースが出てくる。(^^;
 で、makeするわけだが、make自体はいたって簡単で、
$ cd mozilla
$ ./configure
$ make
		
というお決まりのパターンでOK。
 ただ、makeには物凄い時間がかかる。(Pentium3@800EB、SDRAM128M@PC133CL3、HDD DTTA351010で50分強)
 makeが終了すると、mozilla/dist以下に実行に必要な物がリンクされているので、mozilla/dist/binに移動して
$ ./mozilla
		
とやると起動する。
 このままではデバッグコードが入っているし、最適化もされていないので、実行ファイルサイズがやたらにでかい。
 デバッグコードなしで、最適化してmakeするには、
$ ./configure --disable-debug --enabe-optimize
$ make
		
とすれば良い。

 あと、インストール?はどうやったらいいのか良くわからなかったので、mozilla/dist/bin以下を/usr/local/mozilla以下にコピーして、/usr/local/binに以下のような内容のスクリプトを作っておいた。とりあえずこれで動くが多分いい方法ではないのでまねしないように。(笑)
#!/bin/sh
cd /usr/local/mozilla
./mozilla
		
2000.6.22 / Emacsのアップグレード
 WnnやCannaでの日本語入力ができなくなっていたemacs20.6で、日本語入力ができるようになったのでアップグレード。
 WnnとCannaの入力用elispモジュールのバージョンが上がって使えるようになったようだ。尚、20.5a用のパッケージだったemacs-dl-wnn-20.5aはpotatoツリーから消え、emacs-dl-wnnに一本化されたようだ。

 でも、emacs20.6以下にはなんかバグがあるらしく、20.7以上にしたほうがいいらしい。んなこと言ってもpotatoにないんだけどな。(^^;
 リリースまでにもう一回バージョン上がったりするんだろうか。

 しかし延びまくるなぁ。<リリース
 まぁそれだけバグが減ってるからいいんだけど。(^^;

2000.6.12 / IP Forwardingの設定
 昨日書いたDiabloの設定だが、あれではうまく行かないことが判明。ANKのページを参考にしてipportfwでやるようにするとうまく行ったので、設定のためのスクリプトをそのままここに書いておく。
# get current global IP
EXTIF="tap0"
EXTIP=`/sbin/ifconfig | grep -A 4 $EXTIF | awk '/inet/ { print $2 } ' | sed -e s/addr://`

LOCAL='192.168.0.'

# change port-forwarded target
/usr/sbin/ipmasqadm portfw -d -P udp -L $EXTIP 6112
/usr/sbin/ipmasqadm portfw -a -P udp -L $EXTIP 6112 -R $LOCAL$1 6112
/usr/sbin/ipmasqadm portfw -l
		
 これで、このスクリプトを呼び出すときにローカルアドレスの最後の部分を引数につけてやると、192.168.0.[引数]というホストでDiabloの通信が出来るようになる。

2000.6.11 / potatoでmanページが表示されない?
 potatoでは、manページの置場所が/usr/man以下から/usr/share/man以下に変更されたらしく、Slinkからpotatoにアップデートした場合、manページが表示されなくなるというトラブルが起こる。
 Slinkを使っていた場合、man-db-jaがインストールされていると思われるが、potatoではman-dbの方に日本語manが取り込まれているため、man-dbをいれてやれば日本語manページが表示されるようになる。
 そんなわけなので、man-db-jaをpurgeしてman-dbを入れてやれば問題は解決する。(man-db-jaの設定ファイルが古かったということなのか?)

  # dpkg --purge man-db-ja
  # apt-get install man-db

としてやればOK。

2000.6.11 / /etc/mailname
 emacsを起動したときにいつも「/etc/mailnameがない!」と文句を言われてしばらく待たされていたので、/etc/mailnameを作っておくことにした。
 /etc/mailnameには、メールアドレスのドメイン部分(@より後ろ)を書いておく。こうしておくと、メールアドレスが必要になったときに、

  ユーザー名@"/etc/mailname"

というアドレスが自動生成されて使われる。
 が、ISP経由で接続している場合などはこれでは困るので、環境変数EMAILに自分のe-mailアドレスを設定しておくといいこともあるらしい。

2000.6.11 / PPxPのリダイヤル設定
 PPxPでリダイヤルさせるには、設定ファイルのなかのDIAL.LISTの所で、

  set DIAL.LIST 512-1024/リダイヤルする回数

という風に書けばいい。また、複数の番号に対して順にダイヤルするには、スペースで区切って電話番号を羅列すればいい。

  set DIAL.LIST 512-1024/3 256-2048/3

とすれば、512-1024に3回、256-2048に3回ダイヤルするようになる。
 また、リダイヤルするまでの時間は、DIAL.INTERVALで設定する。

  set DIAL.INTERVAL 8

で8秒経ったらリダイヤルする。

 因に、リダイヤル規制を回避させるには、電話番号の前に市外局番や184や186等をつけたものをつかえばいい。(^^;
 が、調子に乗ってDIAL.LISTに電話番号を書きすぎると設定ファイルを読み込ませたときにPPxPがハングするので注意。(笑)

2000.6.11 / IP Forwarding for ICQ & AoE/AoK & Diablo
IP Forwarding for ICQ

 ipmasqadm autofw -A -r udp 4000 4000 -h 192.168.0.3
 ipmasqadm autofw -A -r tcp 4020 4200 -h 192.168.0.3

IP Forwarding for Age of Empires/Kings

 ipmasqadm autofw -A -r udp 1100 7000 -h 192.168.0.3
 ipmasqadm autofw -A -r tcp 1100 5000 -h 192.168.0.3
 ipmasqadm autofw -A -r udp 47624 47624 -h 192.168.0.3

IP Forwarding for Diablo

 ipmasqadm autofw -A -r udp 6112 6112 -c tcp 116
 ipmasqadm autofw -A -r udp 6112 6112 -c tcp 118

 尚、ここでの192.168.0.3は転送先マシンのIPアドレス。
 AoE/AoKの設定は大量のポートに対して設定をしてるので、いかにも弊害ありそうだが、実際にSquidとぶつかって問題が起こる。(笑)
 もうちょっと狭い範囲でなんとかならないものなのか。

2000.6.11 / Kernel2.2でipautofw
 Kernel2.2になってから、2.0系とはIP Masqueradeの設定コマンドが変わってしまったせいで、ipautofwが使えなくなっている。(次のKernel2.4ではまた変わるらしい)
 Kernel2.2でipautofwの機能を実現するには、ipmasqadmというコマンドを使って、

  # ipmasqadm autofw [オプション]

とすればよい。オプションは、ipautofwの時と同じでよい。
 なお、このautofwを使うためには、Kernelコンフィグのときにautofwが使えるように設定されている必要がある。
 具体的には、最低限

  CONFIG_EXPERIMENTAL=y
  CONFIG_IP_MASQUERADE=y
  CONFIG_IP_MASQUERADE_MOD=y
  CONFIG_IP_MASQUERADE_IPAUTOFW=y/m

の設定をしておく必要がある。

 このautofwはどうやら古いバージョンとの互換性をとるためだけにあるらしく、2.2系ではできるだけportfwを使うことが奨励されているらしい。
 が、このportfw、ダイヤルアップしたときに自分に割り当てられるIPを設定しないといけないし、ある範囲のポートに対して一括設定することもできない(らしい(^^;)ので、使い勝手はよくないみたいだ。
 因に、portfwを使うには、Kernelコンフィグで、上の設定のあと(最後のautofwはなくてもいいが)、

  CONFIG_IP_MASQUERADE_IPPORTFW=y/m

とする必要がある。

2000.6.10 / emacsのバージョンダウン
 potatoのアップグレードでリリース直前だというのに、emacsが20.6に上がったりしたせいでWnnからの日本語入力ができなくなっていた。しかし、なんで今頃バージョン上がるんだ。フリーズしてるんじゃないのか。
 WebやMLの検索等で調べてみたが、emacs20.6用のWnnモジュールがdebパッケージになっていないみたいだったので、仕方なく20.5aにバージョンダウン。

 まず、

  # dpkg -r emacs20-dl-el

とした後、/var/cache/apt/archivesで

  # dpkg -i emacs20-dl_20.5a-2_i386.deb
  # dpkg -i emacs20-dl-el_20.5a-2_all.deb
  # dpkg -i emacs-dl-wnn-20.5a_0.4.1-6_i386.deb

としてやればバージョンダウンできる。

 emacsのバージョンアップは時々依存関係のトラブルを起こすので、バージョンダウンしたら何か問題起こるかもと思ったが、なんの問題もなくあっさりできた。

 因に、potatoにはmule2が含まれているのでそっちを入れてもWnnが使えるようになる。


Debian雑記帳に戻る