inn | SunOS (1.5.1) | NetBSD (2.1) | ないとうさん

History file for inn

 history file には、一行毎に(自分の持っている記事と最近処理した記事について)
<6n1p8r$5hq$1@news2.dti.ne.jp>  898953117~-~898918491   fj.books/220
のように
記事の Message-ID   時刻情報   記事の位置
が書いてある。 そうして、この一番左にある Message-ID を鍵に検索して、 grephistory や、innd などが、 記事を既に持っているかどうか、いつ消去するか、 どの位置PATH にあるかなどを知るために使われる。

Message-ID が全世界にたった一つしかないように作られる工夫が されているのは、全てその文字列を基にして (到着記事について)

などの処理が行なわれるからである。

時刻情報は、実はさらに細かく、~ で区切って三つの時刻を持っている。 簡単には


到着時刻 ~ 消去時刻 ~ 記事に書いてある Date: の時刻
となっていて その単位は秒で、 1970/01/01 にはじまり 2038/01/19 12:14:07 に終わる 32 bit 長 の値である。(試しに perl -e 'print scalar(localtime(2**31-1)),"\n"' と入力して見ると、上の数字に意味が見出せると思う)。 また、ここに書かれている数字を人間が分る時刻に直すには /usr/local/news/bin/convdate -c 数字とすれば良い。 時に数字でなく代りにマイナス記号(-)が書いてあることもある。 真中の消去時刻は、 記事を持っていても Expire: という情報が中に書いていない時と、 既に消去されてしまった時にはそのように (-) が書かれる。

また、 history.dir history.hash histor.index は Message-ID から上記の情報を 早く取出すためのデータベースである。

その他: man history が参考になる。 その時には、setenv MANPATH /usr/local/news/man のようなおまじないが必要かも知れない。 この文章はその man history のほんの一部を取出して日本語にしたもの と考えてもらってもいい。 また、 grephistory '<3594BB4E.14CBD090@yb3.so-net.ne.jp>' などのように、 grephistory Message-ID とすると記事がどこにあるか教えてくれる。