Upgrade to 7.0-RELEASE(2)
サーバをどうにか…なのだが、先に Kernel のリビルドから。手順は前回と変わらず。
6.x 系のときと同様に TCP_DROP_SYNFIN をつけると config でこける。下記のとおり 7.0 からはデフォルトとのこと。
The TCP_DROP_SYNFIN kernel option is now included in the kernel by default. The net.inet.tcp.drop_synfin sysctl variable still defaults to 0.
FreeBSD 7.0-RELEASE Release Notes
あと、"options SCTP" を残す場合は、"options INET" および "options INET6" の両方が有効でないとけいないらしい。INET6 コメントアウトした状態で SCTP 残してたら make depend は通ったけどコンパイルで
/usr/src/sys/net/rtsock.c:897: undefined reference to `sctp_addr_change'
とか言われてこける。
それなりに軽量化できた。
# find /boot/kernel* -type f -name kernel -exec ls -l {} \; -r-xr-xr-x 1 root wheel 4401879 Apr 3 23:25 /boot/kernel/kernel -r-xr-xr-x 1 root wheel 9219468 Mar 30 22:59 /boot/kernel.old/kernel
で、問題は pthread がないとかいうところなのだが、某掲示板の
188 :名無しさん@お腹いっぱい。:2008/01/05(土) 07:04:58
7.0 の libpthread って、libthr にシンボリックリンクされてるんだな。
で SCHED_RR が使えない…。
これは困ったぞ。
189 :名無しさん@お腹いっぱい。:2008/01/05(土) 08:12:38
>>188
/etc/libmap.conf で libthr.so.3 のかわりに libkse.so.3 が使われるように
指定すればおk。
190 :名無しさん@お腹いっぱい。:2008/01/05(土) 09:44:06
>>189
うわー、サンクス。libkse なんてあったんや。知らんかった。
今やってみたけど、ちゃんと動いてるよ。
という情報を鵜呑みにして libmap.conf でマッピングしてみたが、
/libexec/ld-elf.so.1: /usr/lib/libkse.so.3: version LIBTHREAD_1_0 required by /usr/local/sbin/httpd not found
といわれて解決せず。うーむ。うだうだとつぎはぎだらけで復旧させてするより、いっそのことアプリごとに全部 portupgrade かけてしまうのが早いのか。
とりあえず今日はぼちぼち寝る。