次のページ 前のページ 目次へ

4. gnspool

この章では、gnspool のインストール、記事の取り込みの設定について解説します。既に、 gnspool を使っている人は、適当に読み飛ばして下さい。

4.1 インストール

適当なディレクトリに、gn-1.35 のソースを展開します。Linux 用の Makefile は、 gn-1.35/mkfiles/unix/linux という名前で用意されていますので、コピーして 下さい。

gn の config プログラムは、インストール先のディレクトリをチェックしますので、先 に必要なディレクトリを作っておきます。


mkdir /var/spool/news
mkdir /usr/lib/news
mkdir /usr/lib/news/bin
mkdir /usr/lib/news/man

次に、gn-1.35/src/ に移動して configur を実行します。

configur の実行時にインストール先などの指定を求められます。私は次のよう にしました。


BINDIR = /usr/lib/news/bin
MANDIR = /usr/lib/news/man
NEWSSPOOL = /usr/spool/news
NEWSLIB = /usr/lib/news
MAIL_KANJI_CODE = JIS
PROCESS_KANJI_CODE =    JIS
FILE_KANJI_CODE = JIS
DISPLAY_KANJI_CODE =    JIS
NEWSRC = ~/.newsrc

また、これらの設定は site.def を変更することによっても変更できます。が、 site.def を変更した後は、必ず、configur を再実行しましょう。

この後、make ; make install すれば、必要なファイルがインストールされる はずです。

4.2 ニュースを取り込むための設定

次のような内容の /usr/lib/news/.gnrc を作成します。.gnrc の設 定法の詳細については、gn(1) を参照して下さい。


NNTPSERVER      news.server
NAME            Hoge Hoge
DOMAINNAME      mydomain.or.jp
ORGANIZATION    dokoka
GENERICFROM     1
UNSUBSCRIBE     all,!fj.os.linux
ARTICLE_LIMIT   0
ARTICLE_LEAVE   0
SELECT_LIMIT    0
GNSPOOL_LANG    EUC
AUTHOR_COPY     /dev/null
NEWSRC          ~/.newsrc

この指定は、fj.os.linux のみを取り込むという指定です。この指定によって、ニュース サーバー上に存在する f.o.l の記事が全てスプールに取り込まれます。NAME, DOMAINNAME, AUTHOR_COPY 等の指定は、ニュースに投稿する際に必要になります。初回の 起動時は、大量の記事を取り込むためかなり時間がかかるので、注意して下さい。設定が 終ったら、
su news -c "/usr/lib/news/bin/gnspool -g -h news.server"

とコマンドを入力します。このコマンドによって、/var/spool/news の下に記 事が取り込まれ、/usr/lib/news/active が生成されているはずです。

誤動作を避けるため、NNTP Server はコマンドラインで明示的に指定して下さい。 gnspool は、.gnrc の設定よりも環境変数 NNTPSERVER を優先します。さらに、 su コマンドは現在の環境変数を引き継ぎます。従って、環境変数 NNTPSERVER が設定され ている状態で上記のコマンドを発行すると、意図しない NNTP Server に接続することがあ り得ます。次のスクリプトを用いると gnspool に .gnrc の指定を強制させるこ とができます。


#!/bin/bash
export NEWSLIB=/usr/lib/news
export NEWSSPOOL=/var/spool/news
gnrc=$NEWSLIB/.gnrc
export NNTPSERVER=$(/usr/bin/awk '/^NNTPSERVER/ {print $2}' $gnrc)
/usr/lib/news/bin/gnspool -g

環境変数 NEWSLIB, NEWSSPOOL の設定も加えてありますが、これはおまじないみたいなも のです。

/usr/lib/news/.gnrc に次の設定を加えると、上流のニュースサーバーでキャ ンセルされた記事がローカルスプールに存在する場合、その記事を消去するようになりま す。


REMOVE_CANCELED 1

すなわち、上流ニュースサーバーによってコントロールメッセージや Expire:, Supersedes: などのヘッダが処理された結果に追随します。

ただし、上流ニュースサーバーの expire 期限が経過した後もローカルの記事を残してお きたい場合には、この方法は使えません。

Message-ID による検索ができるようにするには、/usr/lib/news/.gnrc に、


USE_HISTORY     1

という行を加えて下さい。この行を加えると、/usr/lib/news/history が生成 されるようになります。


次のページ 前のページ 目次へ