W2K SP4とXP SP1がSoftware Update Services経由で配られるようになった。 ポリシーをかいておくと強制的にServicePackが当たると思われる。 すでに当たってるマシンばっかだからすぐにはテストできないけど。
env は自分の設定した PATH を反映した後にプログラムを検索する。envdir は自分の設定したPATHを参照せず、envdir呼び出し前のPATHを参照する。
11月11日〜11月13日に vodafone.ne.jp への変更が行われる。
svscan にTERMシグナルを送っても、svscan管理下のプロセスにtermシグナルを送るわけではないので、あんまり意味なし。 というかsvscanを再起動するとかなりヒドイ目にあう。
というわけで、jailのsvscanをdaemontoolsの管理下に置くのは止めておいた方がいい。
ports/sysutils/daemontools でやってくる svscan.sh を参考に、jailの内側と外側にバラした。
JAIL内側のスクリプト。親から見るとおき場所は /var/jail/192.168.1.61/etc/rc.jail.svscan
#!/bin/sh
sh /etc/rc
PREFIX=/usr/local
MINSEGMENT=10240
MAXSEGMENT=20480
MAXFILESIZE=10240
MAXFD=100
MAXCHILD=40
ulimit -d ${MINSEGMENT}
ulimit -f ${MAXFILESIZE}
ulimit -m ${MAXSEGMENT}
ulimit -n ${MAXFD}
ulimit -s ${MINSEGMENT}
ulimit -u ${MAXCHILD}
SVSCAN=$PREFIX/bin/svscan
SVDIR=/var/service/
echo -n " svscan"
exec env PATH=$PREFIX/sbin:$PREFIX/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH \
$SVSCAN $SVDIR 2>&1
/usr/local/etc/rc.d/svscan-192.168.1.61.sh
#!/bin/sh
J=/var/jail/192.168.1.61
IP=192.168.1.61
if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
echo "$0: Cannot determine the PREFIX" >&2
exit 1
fi
KILLALL=/usr/bin/killall
SVC=${PREFIX}/bin/svc
SVPROC=svscan
SVSCAN="jail $J mail.example.com $IP /etc/rc.jail.svscan"
READPROCTITLE=$PREFIX/bin/readproctitle
SVDIR=$J/var/service/
case "$1" in
start)
echo -n " svscan"
exec env PATH=$PREFIX/sbin:$PREFIX/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH /bin/csh -cf "$SVSCAN $SVDIR |& $READPROCTITLE service errors: ................................................................................................................................................................................................................................................................................................................................................................................................................ &" > /dev/null
;;
stop)
echo -n " svscan: "
$KILLALL $SVPROC
$SVC -dx $SVDIR/* $SVDIR/*/log
;;
*)
echo "Usage: $0 start | stop"
;;
esac
すっかりFletsGroupAccess経由がメインなこのごろ。
デフォルトルートをFlets網が通してくれなくて面倒だなあと思ってたら、 IPv6用に掘っていたトンネルにIPv4のデフォルトルートを振ったらそれだけで通った。もっと早くやるんだった…