FreeBSD QandA 1308
Q. NIS/YP で + や - を含む行をもつ map を make しようとすると、
以下のメッセージが出て、その行は無視されてしまいます。
yp_mkdb: bad character at start of line: ...
A. FreeBSD 3.2-RELEASE 以前の yp_mkdb(8) では、マップのキーかデータの先頭に
`+' や `-' を使うと、警告メッセージを出してこの行を無視するようになって
います。それに対して、3.3-RELEASE 以降ではこのチェックは -f オプション
を指定したときだけ行われ、デフォルトではチェックは行わなくなりました。
しかし、これらの文字が passwd(5) や group(5) で特別な意味を持つことには
変わりませんので、これらのマップの処理だけ Makefile.yp で -f オプション
が追加されるようになっています。
3.2-RELEASE 以前を使っていて、どうしてもこのチェックを外したければ、
/usr/src/usr.sbin/yp_mkdb/yp_mkdb.c の /* Check for silliness. */
というコメントがついている if 文のブロックを削ってコンパイルしなおせば、
一応使えるようにはなります。
/* Check for silliness. */
if (*keybuf == '+' || *keybuf == '-' ||
*datbuf == '+' || *datbuf == '-') {
warnx("bad character at start of line: %s", buf);
continue;
}
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。