News Leafsite mini-HOWTO Florian Kuehnert, sutok@gmx.de v0.3, 4 January 1998 この HOWTO は、leafnode というフリーのソフトウェアを使って、ネットニュ ースに小さな末端のシステムとして参加するための設定について説明していま す。質問、提案、感想は Florian Kuehnert (sutok@gmx.de) まで書き送って ください。この文書に間違いを発見した方は、どうか私に連絡してください。 (C) 1998 by Florian Kuehnert. [訳注: 日本語訳に関する間違いは、土屋雅稔 (tsuchiya@pine.kuee.kyoto- u.ac.jp) まで。] [日本語訳の SGML 化に関する間違いは、早川 仁(cz8cb01@linux.or.jp) ま で。] 1. 何故 leafnode を使うのですか? ネットワークに常時接続されていないコンピュータでネットニュースを読みた いと思った場合、普通は INN や CNews といったニュースサーバーをインスト ールしなければいけません。また、nntp や uucp によって上流のニュースサ ーバーから記事の転送を受ける必要があります。それらのサーバーシステム は、あなたが必要とする以上の機能を含んでいますから、leafnode をインス トールすることをお勧めします。 leafnode は、ずっと簡単に使える小さいシステムですが、いくつかの欠点も あります。leafnode は処理速度が遅く、また異常な状況では記事を喪失する 場合があります。ですから、大規模なニュースサーバーとして leafnode を用 いることは勧められません。しかし、INN を設定するために時間を費やしたく ない個人ユーザーにとっては leafnode は適当なシステムです。 2. 何処で leafnode が手に入りますか? leafnode は、ftp://ftp.troll.no/pub/freebies/ から入手できます。Troll Tech AS で働いている Arnt Gulbrandsen によって開発と保守が行なわれてい ます。最新のバージョンは 1.4 で、Debian などのいくつかのシステムには leafnode が含まれています。バージョン 1.4 では、いくつかの重大なバグが 修正されていますので、必ず 1.4 以降のバージョンを利用してください。 [訳注: leafnode-1.4 は GNUS の特定のバージョンと組み合わせて利用するこ とができないなどの幾つかの RFC 違反があることが知られています。しか し、 leafnode のメンテナンスは現在止まっています。従って、leafnode を 元にして幾つかの改良が施された leafnode+ を利用する方が良いでしょう。 leafnode+ は、http://www.io.com/~kazushi/leafnode+/ などから入手可能で す。] 3. インストール方法 leafnode の配布には、簡単なインストールの手引きが付属していますが、こ こで一緒にやってみましょう。あなたのシステムにバージョン 1.4 以降の leafnode が付属している場合、そのバイナリを利用すれば、1〜4のステップ を省略できます。 1.) 別のニュースサーバーが動作していないか、確認してください。次のよう なコマンドを入力すると、 $ telnet localhost nntp 何らかのエラーメッセージが表示されるはずです。もしも、接続に成功したな らば、シェルに戻って、INN か CNews か、とにかくあなたのシステムで動作 しているニュースサーバーを取り除き、/etc/inetd.conf の nntp に関する行 をコメントアウトします。 2.) ユーザー名 news のユーザーが存在しているか /etc/passwd を確認して ください。いなかったら、作ってください。(以下のように adduser というコ マンドを使うか、 $ adduser news あなたのシステムに付属しているツールを使います。) 3.) ソースを展開して、ディレクトリを移動します。 $ tar xzf leafnode-1.4.tar.gz $ cd leafnode-1.4 4.) プログラムをコンパイルして、インストールします。 $ make; make install 5.) /usr/lib/leafnode/config を編集します。(システムに付属しているバイ ナリを使っている場合は、/etc/leafnode などのようにファイルの位置が変 わっているかも知れません。) あなたが契約しているプロバイダのニュースサ ーバーを "server =" という行に指定してください。 6.) /etc/nntpserver を編集します。このファイルには、あなたのコンピュー タのホスト名を記述します (単に localhost とするか、hostname というコマ ンドで調べられるホスト名を使います)。/etc/profile や /.bash_profile などの設定ファイルで指定されている環境変数の値も適切な値に変更してくだ さい。 7.) /etc/inetd.conf を編集します。行頭が nntp となっている行がないか確 認してください。もしもあったら、# を先頭に挿入してコメントアウトしてく ださい。その上で、次のような内容の行を挿入します。 nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode このように設定することによって、だれか(例えばあなた)が、あなたのコン ピュータの nntp ポートに接続すると、leafnode がサーバーとして起動する ようになります。 8.) ネットワークに接続して、root 権限か news 権限で、fetch を実行しま す。fetch は、あなたのプロバイダのニュースサーバーが提供しているニュー スグループのリストを取得します。これにかかる時間は、接続の速度とプロバ イダが提供しているニュースグループの数に依存します。 9.) 好みのニュースリーダーを起動してください (slrn や (r)tin 、knews がいいでしょう)。そして、あなたが読みたいと思うニュースグループを購読 するように設定します。ただし、この段階ではそれらのニュースグループは空 のままです。 10.) 購読登録したニュースグループの記事を取り寄せるために、もう一度 fetch を実行します。 4. leafnode をメンテナンスする方法 ここまでの設定で、ニュースシステムは動くようになりましたが、いくつかす るべきことが残っています。/usr/lib/leafnode/config を編集して、記事を 保存する期間を設定します。つまり、投稿からこの日数以上経過した記事は削 除されます。標準では、この期間は20日間となっています。記事の流量が多い ニュースグループをいくつか購読している場合には、20日間は長すぎるので、 4日間または1週間程度が適当でしょう。この期間は、全てのニュースグループ に対して共通に設定できます ("expire = n" という内容の行が、全てのニュ ースグループに共通の保存期間の設定です)。また、ニュースグループ毎に個 別に設定することもできます。foo.bar という名前のニュースグループの記事 の保存期間を n 日と設定するには、次のようにしてください。 groupexpire foo.bar n leafnode が古い記事を削除するわけではありません。texpire という別のプ ログラムが記事の削除を行います。texpire は、cron によって自動的に実行 しても、コマンドラインから手動で実行しても構いません。あなたのコンピュ ータが24時間稼働しているならば、ユーザー news の crontab に次のような 行を追加すると良いでしょう (ユーザー news としてログインして crontab -e を実行するか、root 権限で crontab -u news -e を実行するかしてくださ い。)。 0 19 * * * /usr/local/sbin/texpire このように指定すると、毎日19時00分に cron によって texpire が実行され るようになります。より細かく調節するには、crontab のマニュアルを確認し てください。あなたのコンピュータに常に電源が入っているわけではない場 合、 fetch の動作が遅いと感じたときに texpire を手動で実行すれば良いで しょう。cron から texpire を実行した場合と全く同じように動作します。 5. leafnode の動作について leafnode は、本物の NNTP サーバーとして動作します。つまり、別のコン ピュータから leafnode を利用することができます (インターネットや LAN などを経由して)。あるニュースグループを購読しようとすると、ニュースリ ーダーは leafnode にそのニュースグループに関する情報を送るように依頼し ます。そのニュースグループの記事が存在しなければ、leafnode は /var/spool/news/interesting.groups/ にそのニュースグループと同じ名前の 空のファイルを作ります。fetch が次に実行された時、そのニュースグループ の記事を取り寄せます。ある期間[訳注: 標準では1週間]、購読されなかった ニュースグループがあると、そのニュースグループの記事の取得を中止し、 /var/spool/news/interesting.groups/ からそのグループを表すファイルを削 除します。もしも、間違って記事の多いグループを購読してしまった場合は、 そのグループを表すファイルを手動で削除すれば、そのグループの記事を取り 寄せないようにすることが出来ます。 1週間では短すぎるでしょうか? 3週間の休暇から帰ってきてもネットニュース を読み続けたい場合にはどうすれば良いでしょうか? 不運なことに、leafnode には、その期間を変更するためのオプションは用意されていません。しかし、 leafnode.h を編集してコンパイルし直すことによってこの期間を変更するこ とができます。TIMEOUT_LONG 定数と TIMEOUT_SHORT 定数に、設定したい期間 の秒数を設定してください。cron を使うと、もっと簡単に解決することもで きます。 touch /var/spool/news/interesting.groups/* を毎晩実行するようにします。 [訳注: ただし、このように cron を使うと、ニュースグループの購読を中止 するためには、そのグループを表すファイルを手動で削除する必要がありま す。] 購読可能な全てのニュースグループを知りたい場合は、 /usr/lib/leafnode/groupinfo を参照してください。このファイルには、ニュ ースグループについての短い説明も含まれています。 転送可能なニュースグループのリストを作り直したい場合は、 /var/spool/news/active.read を削除してください(例えば、新しく作成され たグループを購読したい場合など)。fetch を次に実行した時に、このファイ ルを生成し、リストを作り直します。しかし、fetch は時々リストを作り直し ていますから、手動でこれを行う必要はないはずです。 6. どのニュースリーダーを使うべきでしょうか? Linux に決まったエディターがないのと同じように、決まったニュースリーダ ーもありません。私は、emacs 上で gnus を好んで使っていますが、これは もっとも柔軟な設定が可能なニュースリーダーです。slrn や tin を端末上で 使っている人もいますし、knews を X 上で使っている人もいます。trn や nn など他にも色々なニュースリーダーがありますから、好きなものを試してみま しょう。利用に適さない唯一のニュースリーダーは Netscape です。Netscape は、大きく、特長もなく、不安定で、投稿に失敗したりします。いずれにせ よ、あなた自身が決めてください。 とにかく、初めて使うなら、knews は悪くないと思います。knews は使いやす く、理解も容易ですから。 7. もっと情報を得るには? leafnode には、いくつかの文書が付属しています(INSTALL と README は必ず 読んでください。ソースファイルも極めて興味深いものです)。もしも、もっ と専門的で大規模なニュースサーバーについて知りたければ、INN FAQ を調べ てみましょう(INN に付属しています)。あなたの使っているニュースリーダー についての情報は、マニュアルや /usr/doc 以下のファイルにあるでしょう。 ニュースシステムに関する質問は、適当なニュースグループに投稿してくださ い(news.software 以下のニュースグループなど)。 [訳注: 日本語のニュースグループとしては、fj.news.system などがありま す。] この文書に関する質問、感想、訂正は、著者 (sutok@gmx.de) までメールして ください。 [訳注: 日本語訳に関する間違いは、土屋雅稔 (tsuchiya@pine.kuee.kyoto-u.ac.jp)まで。] 8. 謝辞 文書の校正をしてくれた Michael Schulz (michaels@home.on-luebeck.de) と、 "touch *" トリックを教えてくれた Cornelius Krasel(krasel@wpxx02.toxi.uni-wuerzburg.de) に感謝します。 [日本語訳に関する謝辞: 校正に関して協力してくださった JF メーリングリ ストの皆さんに感謝します。]