kernel をコンパイルしなおしてみたり(これはこれで、HDD の probe に失敗するなどいろいろ問題が出たが現状では無関係)、IPv4 アドレスで直接 mount してみたりといろいろ手をつくしてみた。が、mount できるマシンの間で共通点を考えてみた。それは woody でもなく sarge でもなく sid であるということ。そこでファイル置き場 NFS サーバ、親玉サーバをどちらも sid にしてみたところ、NFS まわりの問題は一挙に解決。なんなんだ一体。
残るは slapd が -4 じゃないと起動しない件だが...。
slapd -4 だと起動するが、slapd のみだと問い合わせがいった瞬間に落ちる件。SIGSEGV を食らっているのはいいのだが、core が出てこないのでなかなかやっかい。
ついに突き止めた。servers/slapd/daemon.c の hosts_ctl でクラッシュしている。何気なく tcpdmatch ssh ::1 としてみると、クラッシュ。てことは...tcp-wrappers ipv6 自体がだめなのか?
そこで、USAGI の CVS から tcp-wrappers を持ってきてパッケージ化。slapd はというと...うまくいった。成功。
実際は、/etc/hosts.allow に
ALL: [::1]/128 ALL: [xxx:xxx:xxx:xxx::]/64
前者の追加、および、後者の「[xxx:xxx:xxx:xxx::/64]」からの変更が必要だったが。
TTF を追加したことだし、MozillaFirebird GTK2 XFT2 を試してみた。TabbrowserExtensions や Adblock は問題なく動く。ただ、708090-lite theme が駄目だった。SkinVersion が 1.2 から 1.5 になっているためのようだ。708090-lite を install したあと、chrome/chrome.rdf の c:skinVersion="1.2" を c:skinVersion="1.5" にすれば使えるようになったが、こんなんで本当にいいのか?
懸案だった bridge firewall を設置。仮想インタフェイス br0 に対してバンバン FORWARD ルールを登録してやれば OK だった。途中何度かミスがあったがきちんと動いている模様。
XFT 対応の BlackBox (CVS HEAD) を取ってきたが、menu を開くと core dump してしまって駄目。0.65.0 に対する patch があったが、機能していないのか、設定の仕方がまずいのか、駄目。
ということで、素で XFT 対応している FluxBox を試してみる。ところが、素では日本語が通らなかった。調べてみると、momonga-linux のほうの FluxBox には対策 patch が当たっているとのこと。これをもらってきて deb パッケージ作成。
ところが、何か妙なコンパイルエラーが大量に発生。調べてみると、GCC 3.3.1 だと strftime の有無の検出に configure で失敗するらしく、#undef HAVE_STRFTIME となり #ifdef HAVE_STRFTIME 〜 #else 〜 #endif の else 部内で大量にエラーが発生するようだ。つうか、どう見ても strftime がないことを考慮したコードじゃないんだが。ここは無理矢理 #define HAVE_STRFTIME 1 して逃げ(と調べたら書いてあった)。
次に、assert がないというエラーで停止。こちらは #include <cassert> を追加して対処(と調べたら書いてあった)。
これで FluxBox で快適 XFT 環境完成。
bridge firewall マシンの /etc/hosts が間違ってたので修正。
slapd 走らせてるマシンの、自身に対する slapd への connection が大量にあるのは、/etc/{libnss-,pam_}ldap.conf のホスト名のせいかなぁ、という気がしたので /etc/hosts に自身のエントリを追加しといた。あんまり関係ないかなぁ。
news$ rm -f /var/lib/news/histroy* news$ /usr/lib/news/bin/makehistory news$ rm -rf /var/spool/news/overview/* news$ /usr/lib/news/bin/makehistory -O news$ /usr/lib/news/bin/makedbz -f history -i root# /etc/init.d/inn2 start news$ tcsh news% foreach f (`awk '{print $1}' active`) news> /usr/lib/news/bin/ctlinnd renumber $f news> end
間違えて root で作業すると /var/lib/news や /var/spool/news が root 所有になって、innd が起動しなくなるので注意。あと tcsh 起動して foreach 使ってるのはダサダサ。
slapd 走ってるマシンでの libnss-ldap.conf と pam_ldap.conf での host 指定を ::1 にしてみた。意味があるかどうかはわからないが。
KDEのフォント環境をさらに充実させようのパッチを試してみた。
まず fontconfig に fontconfig-2.2.0-fix-jp-20030426.diff と fontconfig-2.2.0-slighthint.patch を当ててみる。
次に libxft2 に fcpackage.2_1-Xft-2.0.1-fix-cjk-20030409.diff と fcpackage.2_1-Xft-loadtarget.patch を当ててみる。
freetype に freetype-2.1.3-ttcmap4.patch と freetype-2.1.4-autohint-cjkfonts-20030626.patch を当てようかと思ったら、Debian sid では既に取り込まれていたようだ。
で、試しにやってみたところ、ボールドやイタリックがきちんと出るように、欧文がくっきり見えるようになった。これはいい。ところが autohinter を有効にすると、何だか日本語が潰れてしまったのでそれは設定で無効にした。
http://pciids.sourceforge.net/pci.ids を取ってきて /usr/share/misc/pci.ids を更新するコマンドのようだ。
前回試した MozillaFirebird GTK2 XFT2 (http://pryan.org/firebird/houbaa/) は、何故かページのソースが見られないというバグ?を持っていたので、http://pryan.org/firebird/guidob/ に入れ換えてみた。Tabbrowser Extensions と 708090-lite、 まっちゃんの Mozilla 用 JLP (FB 0.6.1 0.1) の都合から、20030731 版を入れてみた。問題なく動作。
いろいろ調べてみると、事実誤認があったので UNICON に戻した。それだけじゃ何なので、文章にしてみた。> ./unicon.html
IODATA GV-BCTV4/PCI (ユニットは SHARP 2U5JF5440) を使っているのだが、そこらへんに何か変更が入ったのだろうか。tuner.c の diff を取ってみると、
{ "SHARP NTSC_JP (2U5JF5540)", SHARP, NTSC, /* 940=16*58.75 NTSC@Japan */ - 16*137.25,16*317.25,0x01,0x02,0x08,0x8e,940 }, + 16*137.25,16*317.25,0x01,0x02,0x08,0x8e,732 }, // Corrected to NTSC=732 (was:940)
あからさまに怪しい部分を発見。再度 732 を 940 に戻してみると、きちんと映るようになった。
ふっとんだ際に備えて、/etc/nsswitch.conf を
passwd: compat ldap
から
passwd: files ldap
に変更。
/etc/ldap/ldap.conf に
#SIZELIMIT 12 #TIMELIMIT 15
という部分があったので、有効にしてみた。デフォルトだと両者とも無制限だった模様?
ldap.conf の LIMIT 設定はあまり意味がなかった模様。さらに調べてみると、/etc/ldap/slapd.conf のほうにも LIMIT 設定を発見。
timelimit 30 #sizelimit 500
時間制限を 30 秒(デフォルトは 3600 秒 == 1 時間)にしてみた。サイズ制限はよくわからないのでデフォルトを書いといてコメントアウト。
さらに調べてみると、/etc/{libnss-,pam_}ldap.conf にも LIMIT 設定発見。
#timelimit 30 #bind_timelimit 30
これらを有効に。さらに、/etc/libnss-ldap.conf には
#idle_timelimit 3600
という部分を発見。これを 30 秒にして有効に。
さてこれでどうなるか。
ESTABLISHED が 1800 程度のところでおかしくなった。
Aug 23 21:25:01 XXXXXXXX slapd[25907]: warning: cannot open /etc/hosts.allow: Too many open files Aug 23 21:25:01 XXXXXXXX slapd[25907]: warning: cannot open /etc/hosts.deny: Too many open files
というのが大量に出ていたので、やはりファイルディスクリプタを消費し切ってしまったのだろう。
いろいろ調べたがこれといった解決策がない。SuSE メーリングリストでの現在進行形 の報告をこれからの観察対象とし、ここは
echo "150000" > /proc/sys/fs/file-max
及び /etc/sysctl.conf への
fs.file-max = 150000
にて対処。
観察対象スレッドは次の通り。
echo "150000" > /proc/sys/fs/file-max は意味がなかったようだ。停止した状態で file-nr を見ても file-max にはまるで到達していない。どうもそれぞれの process が descriptors limit に到達してしまっている感じ。
http://www.redhat.com/archives/shrike-list/2003-April/msg02537.html
から始まる thread によると、glibc update 後におかしくなったということ。そういえばいくつか思い当たるフシがあるのだが...(2.2.5 → 2.3.2 にした後からこの忌しい問題が発生しているような気がする)。とりあえず、nscd を停止してみた。これで slapd の file descriptor の増減を見れば、犯人が掴めるはず。
ところが。予想に反して nscd を停止しても slapd の使用している file descriptor は減ることもなく増え続け、ESTABLISHED が 1800 程度のところで全 slapd の descriptor 使用数は全て同数の 1023。次に怪しいのは libnss-ldap か...。
tDiaryのログをnamazuを使って検索。、XREA + tDiary + Namazu を参考に、namazu 検索小窓をつけてみた。
起動したらいきなり maintenance mode に。すわ HDD 崩壊かと思いきや、
REGSITER ^snd/controlC0 CFUNCTION GLOBAL symlink /proc/asound/oss/sndstat /dev/sndstat
の部分でエラーが出ていたのでよーく見てみると...。#207528 の件だった。
前 | 2003年 8月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
[amd64 | audacious | comp | debian | gkrelluim | kip | misc | movie | research | rime | unicon | vdr | work | えふえふ]
書いてる人: dai
パッチ等(無保証)