PPP が生きている限り、オンラインでニュースを読むことができます。これ用に使え るプログラムは星の数ほどあります。簡便な代替策としては、 rtin や trn があり ます。
ニュースを読むために設定しなければならないのは、大抵の場合( .profile で一度 指定しておしまいというのが普通の方法です)以下のことだけです。
export NNTPSERVER=news.acme.net
送信時の From アドレスを正しく設定するためには、以下の指定が必要なプログラム もあります。
export NNTP_INEWS_DOMAIN=acme.net
非接続時にニュースを読めるようにして、電話代を節約すると同時にニュースと柔軟 に付き合えるようにするためには、何らかのローカルニューススプールをつくる必要 があります。それには若干の設定をしなければなりません。また、ある程度の大きさ のディスクの空きも不可欠です。ひとたびスプールを作ってしまえば、後はだいたい のことが自動で実行できます。時々気を配ってやらなければならない項目はあります が、大したものではありません。
二種類の方法を以下に御紹介しましょう。
ここで御紹介する方法は、C News というニュースサーバと NNTP というプロトコル を利用するものです。C News はもともと我々の用途とは異なる使用局面を想定した ものですが、本書の目的にとっても有用なものです。もっと新しいパッケージである INN というニュースサーバーを使ってみたいという方もいらっしゃると思いますが、 これは C News 以上に資源を蕩尽します。いずれにせよ、この両方を組み込むことの ないように注意してください。両雄並び立たずなのです。
ニュースの維持作業はすべて news というユーザー名でログインしている間に済ませ るというのが鉄則です。また設定ファイルはどれもを /usr/lib/news に置く必要も あります。このためには root でひとまずログインした上で、改めて su news; cd を実行するのが良いかもしれません。
設定ファイルの中では以下のものがもっとも大切です。
active
は購読中のニュースグループの概観を与えるものです。これを更新
するには addgroup
という命令を使用します。用例: addgroup
comp.os.linux.networking y
organization
にはヘッタのorganization
という項目に記入した
い名称を記入します。本文書の場合なら、
Dirk Gently's Holistic Detective Agency
となります。
mailname
には本文書の例なら、 acme.net と記入します。
mailname
whoami
にはあなたのサイト名を Path:
以下に指定します。ここ
での設定では NewsX を使っているので、
sys
sys
はニュースの取得、再配布を司るものです。以下の例は acme.net を
パスに追加するプロバイダを想定したもので、このプロバイダが唯一のニュース取得
源となっています。この例は、受信したニュースをすべて受け入れる・未読のニュー
スだけをacme.net に投稿する・投稿するニュースはあらかじめ手元のサイトに送付
されているということを示しています。この例は簡素なもので、すべてのニュースグ
ループを一つのところから取得する用になっています。/all
という指定は
配布を指定するもので必ず必要です。F
は、投稿する記事が一つのファイ
ルに集められているということを示しています。
ME:all/all:: acme/acme.net:all,!junk/all:FL:
送り出すニュース用のサブディレクトリを作成します。私共は以下のようにしました。
mkdir /var/spool/news/out.going/acme
mailpaths
mailpaths
は moderate された グループ宛ての投稿を管理するものです。し
かし、これは普通プロバイダに委ねる仕事です。
C News には毎日必要な管理作業があります。しかし一度指定してしまえば、この仕
事は news というユーザで crontab -e
命令を実行するという方法で済ま
せてしまうことが可能です。以下の推奨例を御覧下さい。必要なものは押さえてあり
ます。
# maintain incoming and outgoing batches 10,40 * * * * /usr/lib/newsbin/input/newsrun # expire C News, once a day 30 0 * * * /usr/lib/newsbin/expire/doexpire # monitor and report if needed 00 2 * * sat /usr/lib/newsbin/maint/addmissing 40 3 * * * /usr/lib/newsbin/maint/newswatch 50 3 * * * /usr/lib/newsbin/maint/newsdaily
newsrun
は記事の授受を司り(一時間に二回起動)、doexpire
は
古くなった記事を削除する(毎日00:30に起動)ものです。その後の三つの命令は様々
な監視業務、エラー訂正作業を行うためのものです。
上記の諸作業がきれいに処理されていることをコンピュータ起動時に確認する必要が
あります。ルートになって、以下の一行を /etc/rc.d/rc.local
に付け加
えてください。
su news -c /usr/lib/newsbin/maint/newsboot
ニュースは NewsX というプログラムを用いて NNTP サーバーから購読することも できます。このプログラムの所在は以下の通りです。
ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz ftp://ftp.sn.no/user/egilk/newsx-0.9.tar.gz
NewsX の組み込みは至って簡単です。以下のような古典的な方法で行えます。
make su make install exit
ここで概要を紹介した方法で組み込みを行った場合、このほかに必要なのは addgroup
を使って購読したいグループを作成することだけです。
記事を取り寄せるには、news というユーザーとして以下の命令を実行します。(PPP あるいは同様の方法を用いるものとします)。
newsrun newsx acme news.acme.net newsrun
-d
というオプションを付けると、画面上に記事がずっと表示され続きます。
詳細については、NewsX の付属文書を参照してください。
NeewsX はニュース記事の投稿をも司ります。
古くなった記事を処理するためには、explist というファイルが必要です。以下の例 に付した解説は、ニュースの管理にはどのような作業が必要かを説明するためのもの です。
# hold onto history lines 14 days, nobody gets >120 days /expired/ x 14 - /bounds/ x 0-1-120 - # 以下のグループの記事は二ヶ月保存 comp.sources,comp.os.linux.all x 60 - # ごみは捨てる junk,control x 2 - # その他は二週間保存。書庫化は行わない。 all x 14 -
代替案:小規模のニューススプールなら、 control
というニュースグルー
プを作る必要がないことも少なくありません。利用する量に比べて情報流通量が大き
すぎるからです。重要な点は、記事は削除されるのにグループは自動的に作成されて
しまうということにあります。newgroup を含む制御メッセージが話をめちゃくちゃ
にしないように気をつけてください。newgroupperm というファイルを使って、何を
許容するかを指定します。
comp.os.linux tale@uunet.com yv all any nq
この例は、comp.os.linux 以下のすべてのグループを作り(y)、ユーザーニュース を通知する(v)場合のものです。これ以外のものは全部、表示せず(q)無視されます (n)。手作業ですべてのグループを作るのであれば、二行目だけで十分です。
代替案: NewsX の代わりになるものとしては suck、 slurp (postit と組み合わせ て使用する)があります。Slurp は NNTP NEWNEWS を使用します。NNTP NEWNEWS は 処理量の多いニュースサーバーで活躍しているものです。
今一つの別解は統合パッケージである leafnode
を組み込むという方法
です。これは、個人がニューススプールを利用する際に必要となる作業をすべて処
理するものです。設定も容易です。入手先は以下の通りです。
http://www.troll.no/freebies/leafnode.html
C News と同様に、ニュース管理の作業は news というユーザーで行う必要があり ます。
leafnone のホームディレクトリは /usr/lib/leafnode
です。組み込
むためには、以下の作業を行います。
cd /usr/lib/leafnode tar -xzvf leafnode-0.8.tgz cd leafnode-0.8 make su make install
ルートとしてログインしている間に、 /etc/inetd.conf
の中の NNTP
を制御している部分を変更します。
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnod e
次のようにして再起動します。
killall -HUP inetd
exit
を実行して、news というユーザーに戻ります。/usr/lib/leafnode/conf
の NNTP サーバーに関する部分を変更します。こ
こでの例なら以下のようにします。
server = news.acme.net
crontab -e
を用いて news というユーザとして 以下の命令を実行す
るようにすれば、あとは leafnode がすべてを引き受けてくれます。
# expire Leafnode, once a day 0 4 * * * /usr/local/sbin/texpire
news というユーザーとしてニュースを送受するには、以下の命令を用います。 (PPP が立ち上がっていることを前提としたものです)
/usr/local/sbin/fetch
ニュースを読もうとするユーザーは "オンライン(接続時)用ニュース閲覧ソフトの 設定法" の項で説明した方法を用いてください。ただし、ローカルマシンに関する 以下に示す設定は例外です。
export NNTPSERVER=localhost
必要な作業はこれですべてです。最初に fetch
を実行したときに、購
読できるニュースグループの一覧が取得できます。 次いで leafnode は利用者が
どのグループを購読しようとしているかを調べ、次回起動時用にはこれを利用しま
す。
代替案: leafnode
の代りに nntpcache
を使うこともできま
す。これは以下の場所にあります。
ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz