.\" $Revision: 1.12 $
.TH HISTORY 5
.SH 名前
history \- 存在している記事と expire した記事の記録
.SH 機能説明
.\" =()<.I @<_PATH_HISTORY>@>()=
.I /var/news/etc/history
では受け取ってはいますがすでに expire
している記事の情報とニュースシステムで現在保持しているすべての記事の記録を保持しています。
一般的な環境においては、このファイルのサイズは非常に大きくなります。
.PP
このファイルはテキスト行から構成されています。
各行が一つの記事のエントリに相当します。
このファイルは通常記事を受け取った順になっていますが、このようになることが必要であるわけではありません。
.IR innd (8)
は記事をファイルにする毎に各行を追加し、
.IR expire (8)
では古い記事を削除し、古いエントリを除去しながら新しい history ファイルを作成します。
.PP
各行は次の
.IR \et
のようにタブで区切られた次に示すような二つあるいは三つのフィールドから構成されます。
.RS
.nf
<Message\-ID>   \et   date
<Message\-ID>   \et   date   \et   files
.fi
.RE
.PP
.I Message\-ID
フィールドは角括弧(<>)を含む記事の Message-ID ヘッダの値です。
.PP
.I date
フィールドはチルダ(``~'')で区切られた三つのサブフィールドから構成されます。
すべてのサブフィールドはテキスト形式の数字で、1970 年 1 月 1 日 00:00:00 UTC
からの秒数 \(em
.IR すなわち
.IR time_t
.IR 形式になります。これについては、
.IR gettimeofday (2)
を参照してください \(em で表されます。
第一サブフィールドは記事の到着した時間です。
記事のファイルが存在していれば、第二サブフィールドは記事の Expires
ヘッダの値あるいは、Expires ヘッダがなければハイフン(``-'')になります。
記事がすでに消去されていれば、第二サブフィールドはハイフンになります。
第三サブフィールドは記事の Date ヘッダすなわち記事がいつポストされたかの値になります。
.PP
.I files
フィールドは一つ以上のスペースで区切られる一連のエントリです。
各エントリはニュースグループ名、スラッシュ、記事番号から構成されます。
記事が削除されていればこのフィールドは空になります。
.PP
例えば、comp.sources.unix と comp.sources.d にクロスポストされていて、
1991 年 2 月 10 日にポストされ(3 分後に受け取り)、expire の期限が
1991 年 5 月 5 日となっている記事の history
行は次のよう(ここでの表示は二行になっていますが)になります。
.RS
.nf
<312@litchi.foo.com>  \et  666162000~673329600~666162180  \et
    comp.sources.unix/1104 comp.sources.d/7056
.fi
.RE
.PP
テキストファイル以外にもそのファイルに関連した
.IR dbz (3)
データベースがあり、そのデータベースにより Message-ID
フィールドをキーとしてファイル内でそれに関する行が始まるオフセットを求めます。
歴史的な理由により、キーの最後には \e0 (ファイル内では付いていませんが)が付きます。
.SH 履歴
InterNetNews 用に Rich $alz <rsalz@uunet.uu.net> により記述されました。
.de R$
リビジョンは \\$3 で、日付は \\$4 です。
日本語訳は kondou@uxd.fc.nec.co.jp によって行われました。
..
.R$ $Id: history.5,v 1.12 1996/09/06 10:39:06 brister Exp $
.SH "関連事項"
dbz(3)、
expire(8)、
innd(8)、
news-recovery(8)
