JF より:この文書は、1994年以来更新されていません。現在とは 状況が異なると思われるので、ご注意ください。
Linux 一般で、また特に SLS 版 Linux で USENET ニュースのソフトウェアを 使用する際によく出る質問や意見に答えるのが、この文書の目的です。
以前 comp.os.linux.announce に投稿されていた旧 UUCP-NEWS-MAIL-FAQ の続 編が、この NEWS-HOWTO や、 UUCP とメールの HOWTO 文書です。
この文書の最新版は定期的に comp.os.linux.announce, comp.answers, news.answers に投稿されます。また sunsite.unc.edu の /pub/Linux/docs/HOWTO ディレクトリをそのままコピーしている FTP サイト からも取得できます。
この文書に関するメールでの意見はどんな物にも感心があります。間違いや追 加して欲しい事があれば私にお知らせ下さい。
私は、受け取るメールは全て読みますが、全部に返事を出す訳ではありません。 暇があるか、変更に価値があるか、その日の血圧はどうか :-)、等を考慮の上 で、この文書を希望に沿って改善します。
お怒りは静かに /dev/null に葬られますので、わざわざ送る意味はありませ んよ。
この文書の構成に関する意見は、HOWTO のまとめ役である Matt Welsh 氏 <mdw@sunsite.unc.edu> に送って下さい。
News-HOWTO は Vince Skahan に著作権があります。
そのままの形であれば、いかなる媒体や電子的であろうと、複製や配布に著者 の許可は必要ありません。翻訳についても、だれが翻訳したかを明記していれ ば、同じように許可は必要ありません。
短い引用として使用するときにも、著者の同意は先でなくてもかまいません。 この文書を大幅に書き換えたり、不完全な形で配布する場合には、原本のコピー か、原本の在処を添付して下さい。
営利目的での再配布も、もちろん許可します。けれども、配布の際には著者に 連絡して下さい。
この情報を必要とするたくさんの人への宣伝の、促進を願っています。けれど も HOWTO 文書の著作権も保持したいと思っていますので、 HOWTO の再配布の 予定などは、連絡して下さい。
HOWTO をより良くするための情報であれば、なんでも教えて下さい。もし質問 があれば、 Linux HOWTO のまとめ役である Matt Welsh に連絡して下さい。 連絡は、電子メールであれば mdw@sunsite.unc.edu に、電話であれば +1 607 256 7372 にお願いします。
もちろん、私は本文書の内容についての責任を否認します。本文書に含まれて いる概念、例などを使用するのは、全てあなたの責任で行って下さい。
内容によって以下のようにニュースグループが分かれています。
news.admin.misc : ネットワークニュース管理に関する一般的な話題
news.admin.policy : USENET の利用方針
news.admin.technical : ネットワークニュースの保全について(査読あり)
news.software.b : B-News 互換ソフトウェアに関する論議
news.software.nn : nn ニュースリーダに関する論議
news.software.nntp : ネットワークニュース転送プロトコル関連
news.software.readers : ネットワークニュースリーダ関連
news.sysadmin : システム管理者向け
news.announce.newusers : 新規ユーザへの説明(査読あり)
news.newusers.questions : 新規ユーザのためのQ&A
これが全てではありませんが、役立つ本を下に紹介します。
・「Managing UUCP and USENET」(O'Reilly and Associates)
【訳注:日本語訳は「UUCP システム管理」(アスキー)】
USENET に接続する時に使うプログラムやプロトコルを解説し、市販されてい
る本の中では最高だと思います。
・「Unix Communications」(Waite Group)
UNIX の通信について、あらゆる事柄がうまく解説されています。
・「Practical Unix Security」(O'Reilly and Associates)
【訳注:日本語訳は「UNIX セキュリティ」(アスキー)】
一般的な UUCP の安全対策について、良く書かれています。
・「The Internet Complete Reference」(Osborne)
インターネットで利用できるさまざまなサービスや、ニュースで紹介される情
報のための素晴らしい one-stop-shopping のソースや、メール、その他のさ
まざまなインターネットの資源について説明されている、良い参考書です。
Linux で USENET ニュースを動かすのは特別な事ではありません。ですからニュー スに関する一般的な質問は comp.os.linux.* には投稿しないで下さい。
本当に Linux に特化した問題でない限り、上にも書いたニュースグループに 質問して下さい。Linux に特化した質問とは次の様な物です。「SLS 1.03 に 入っている bash1.12 で INN を動かすためのパッチはありますか?」
もう一度繰り返します。
ニュースに関する質問を comp.os.linux に投稿する理由はもう存在しません。 Linux でのニュースシステムに関する質問も news.* で扱っています。
あなたが comp.os.linux.* に Linux に特化しない一般的な質問を投稿したな ら、答えは得られないでしょう。 USENET ニュースのエキスパートは上に書い ているニュースグループしか見ていないでしょうし、大概 Linux は動かして いません。
comp.os.linux.* に Linux に特化しない一般的な質問を投稿しても、あなた の質問の答えを得るために、しばしばあなたや他の人の時間を浪費するだけで す。
Linux の USENET ニュースでは、特殊なハードウェアは必要ありません。利用 するソフトウェア、スレッドデータベース、およびニュース記事を保持するこ とができるディスク領域(最低でも10M程度)が必要なだけです。
この文書で扱っている全てのソフトウェアは、インターネットの大抵の FTP サイトから入手できます。
まずは ftp.uu.net の /news を見るのがいいでしょう。
newspak-2.1.tar.z に入っている設定ファイルや解説文には、各処の自由に使 えるソースファイルから UUCP、ニュース、メールなどのソフトウェアを構築 し、 Linux で動かすための情報があります。これは大抵 sunsite.unc.edu の /pub/Linux/system/Mail ディレクトリにあります。
最近の *nix 用ニュース転送ソフトウェアには、Cnews と INN の2つがあり ます。古い Bnews は、今後バージョンアップもサポートもされないことが作 成者から公式に宣言されました。
ニュース転送ソフトウェアは、記事の投稿を受け付け、配送し、ニュースリー ダで読めるようにするソフトのことです。
UUCP の Permissions ファイルに絶対パスで rnews を記述し、ニュースリー ダから inews と mail が利用できるように設定すれば、何処に置いてもかま いません。
重要:Cnews と INN の混用は厄介なだけです。どちらか一つだけを使いましょ う。 Cnews と NNTP の Reference Release は始めから相性よく作られていま すから、両方インストールしても問題ありません。
Cnews は現在標準的に使用されているニュースソフトウェアです。 1988 年に 公開され、改良が続けられています。
Cnews の主な利点は、その完成度にあります。文字通り世界中の幾千のシステ ムで動作していますので、知られている全ての *nix マシンで動作するでしょ う。
欠点は、モデム経由での UUCP 接続しか考えられていないために、リアルタイ ムにインターネットで配送し読むためには NNTP ソフトウェアを追加しなけれ ばならないことでしょう。
さらに各種ニュースリーダ用の外部スレッドパッケージが必要です。しかし現 在でも、少しは役に立つ NOV パッケージへの接続が可能ですし、もうすぐ公 開される Cnews cleanup release では正式に対応するという話です。
いずれにせよ、安定してる、文書が豊富、どんな質問にも答えてくれる経験豊 富な管理者が沢山いる、等の理由から、 USENET の管理を始める人はまず Cnews を動かすのが良いでしょう。
sunsite にある newspak-2.1.tar.z には、Linux で Cnews を動かすための設 定ファイルや、bash1.12 で doexplode をメイクする際に発生する問題 (Linux のアーカイブサイトに置かれている bash1.13 を使えば発生しません が ) を回避するためのパッチが含まれています。
ドキュメントを読めば、 Cnews Performance Release はまったく問題なくイ ンストールできます。 Cnews Performance Release のインストールはマニュ アルを読んでください。ソースファイルを入手し、展開して、マニュアルの手 順に従うだけです。
newspak に含まれている build.def は最初に build を実行し、単に /usr/include のファイルから答えを調べて、生成されたものです。
コンパイルは何回か止まるでしょう。いずれも gcc で問題になる atoi() と atol() マクロを、 doit.bin からコメントアウトしなければなりません。
また、 bash 1.12 のバグを回避するように doexplode に次のパッチが必要で す。このパッチを使わなければ下流サイトには何も送られません。
( Steve Robbins 氏 <steve@nyongwa.cam.org> から )
if [ ! -f $f ] ; then continue; fi # この行を追加
# case "$f" in # この行をコメントアウト
# "out.master/[0-9]*") break ; # この行をコメントアウト
# esac # この行をコメントアウト
Cnews に詳しい Henry Spencer 氏によると、 doexplode と bash で現在問題 になっているコードについては、新しいリリースでの修正項目になっているそ うです。
Linux 用の bash 1.13 β版でもこのパッチが必要かどうかは現時点では不明 です。私は、新しい bash とライブラリでパッチ無しに切替えましたが、落ち た事はありません。 ( 何が良かったのかは分かりませんが :-)
少なくとも、/usr/local/lib/news にある以下のファイルは編集しなければな りません。
active : active ファイル
batchparms : バッチパラメータ
explist : 記事の時効の設定
mailname : メールでリプライするためのヘッダ内の名前
mailpaths : 査読のあるニュースグループへの投稿用アドレス
organization : あなたの組織名
sys : ニュースグループの取捨を選択
whoami : Path: 行に設定するホスト名
まず、専用のユーティリティがあるファイルを直接エディタなどでいじるのは 止めた方が良いでしょう。特にニュースの配送と active ファイルの設定では、 それぞれ addfeed や addgroup などのコマンドを使って下さい。迷った時に は、ソースに含まれている文書を何度も読んで下さい。
その他は全部 cron から起動します。私の crontab の news に関する部分は 下のようになっています。
# 他システムから送られてきた圧縮済みデータの取得
20 * * * * /usenet/sw/news/bin/input/newsrun
# 送信用のファイルをまとめる
0 * * * * /usenet/sw/news/bin/batch/sendbatches myfeedsite
# 時効記事の削除
59 0 * * * /usenet/sw/news/bin/expire/doexpire
# ニュースを監視し、必要なら報告
10 5 * * * /usenet/sw/news/bin/newsdaily
00 5 * * * /usenet/sw/new/bin/newswatch
# 受信ニュースデータの処理の停止( 6:30am - 4:00pm )
30 6 * * * /usenet/sw/news/bin/input/newsrunning off
00 16 * * * /usenet/sw/news/bin/input/newsrunning on
INN は比較的新しく、完成度が高まるにつれ人気が出てきました。主な利点は、 スピードと nntp パッケージを統合して含んでいることです。主な欠点は、新 しいことと、標準的な *nix でもインストールや動作が必ずしもすんなりとは 行かない事でしょう。また、メモリ使用量とスピードの兼ね合いになりますが、 常に動いているデーモン(innd)と、オーバチャネルになる可能性を秘めたス レッド用デーモンを用いて動作するのも欠点でしょう。
新しい USENET 管理者は、B-news か Cnews のどちらかを経験するまでは、 INN は止めた方がいいでしょう。Linux 上でも高速で信頼性がありますが、ニュー ス管理の初心者用の文書はありません。(ただし、実際には、設定がわかれば 後は比較的簡単です。)
INN はパーミッションにとても厳重ですから、それらを修正しないで下さい。
INN はまた、同時に動かされている TCP/IP の品質にとても厳格です。現在の Linux では必ずしも当てはまりませんが、 Linux の有名なアーカイブサイト から Linux 用の INN を入手される事をお勧めします。
( Arjan de Vet 氏 <devet@info.win.tue.nl から )
私は、Linux で INN 1.4 を動かすためのパッチと設定キットを作りました。 ftp.win.tue.nl の /pub/linux/ports ディレクトリにある inn-1.4-linux.tar.gz です。
INN は /bin/sh の互換品に非常に依存します。私は Linux 用に公開され、普 通のアーカイブサイトに置かれている bash 1.13 β版を使っています。 bash 1.12 では、(他にもあるでしょうが)ニュースグループを正しく扱えない等 のいくつかの問題が起きます。
基本的に Arjan の手順に従えば全て設定できますので、要約だけ書きます。
INN を動かすのなら、Arjan 氏が勧めるように syslogd のファイルを確実に 定義しましょう。大変、役に立ちます。
INN の壮観な (!!!!) FAQ が、 rtfm.mit.edu に毎月出されています。一見の 価値はありますので、読んで下さい。
INN サイトの管理と配送は、cron を使うこと以外ありません。基本的に必要 な crontab は、下のようになります。
# 日常の管理、または時効になった .overview データベースと、記事の削除
1 0 * * * /usenet/sw/inn/bin/news.daily expireover delayrm < /dev/null
# 記事の送信
5 * * * * /usenet/sw/inn/lib/send-uucp
( bash1.13 を使っているのなら、上の < /dev/null はいりません )
その他のニューストランスポートエージェントとして、以下のものも Linux で動くことが知られています。
dynafeed, nntp1.5.11, slurp1.05
「最良のニュースリーダ」というものは存在しません。よって、 たくさんの 良く知られたニュースリーダが Linux で使えます。たとえば、 Linux の有名 な配布版には、 tin, trn, nn が含まれています。
ニュースリーダは、操作が簡単だったり、ユーザで色々設定できたり、スレッ ドが使えたり、(興味のある記事だけ選択し、もしくは興味のない記事を見な くする等)ファイル操作が使えたりなど好みで選べます。
Cnews もしくは INN でインストールされた inews と、投稿への返信メールを 送るための mail プログラムが全てのニュースリーダから利用できれば、好き な所(パス)に置くことができます。
この章では、いくつかの良く使われているものについて、簡単に説明します。 ただし、私はいくつかの理由により nn を使っています :-)
Tin は、初心者でも簡単に使えるように作られた、一般的なスレッドニュース リーダです。ファイルの削除と NOV スレッドがサポートされています。 INN を動かしているなら、デフォルトで NOV の .overview ファイルを読んで、イ ンデックスファイルには何も書きません。
Linux で Tin をコンパイルするには、基本的にソフトウェア(特に inews ) の在処について makefile を編集し、 make linux とタイプするだけです。パッ チを当てる必要はありません。
基本的に tin -u とするだけで、インデックスファイルが更新され、スレッド が使えるようになります。
NNTP を使えるようにするには、 NNTP_ABLE を定義してコンパイルして下さい。 そうすると、ローカル用の tin と NNTP 用の rtin に結果が反映されます。 tin -r は rtin と同じように動作します。
Ian Lea 氏は、 make daemon で tind を作って、下の crontab エントリで動 かすことを勧めています。
# データベースにスレッドを使う
35 * * * * /usenet/bin/tind -u
trn は rn から派生したスレッドニュースリーダです。trn3.3 では( trn の スレッドパッケージである) mthreads もしくは( INN のスレッダである) NOV のいずれかを選択することが出来ます。
コンパイルするには Configure を動かして、結果のデフォルト値を与えるだ けです。lib4.4.1 と( Linux アーカイブサイトで公開されているβ版ですが) bash-1.13 を持っているなら、 Configure は正常に動作するでしょう。新し い Configure を動かすためには、 bash1.13 と libs4.4.1 の両方が多分必要 となるでしょう。
Linux で trn を動かすための設定ファイルが、 sunsite に置いてある newspak-2.1.tar.z に含まれています。
システムに合わせてパスを変更するぐらいのとても簡単なこと以外では、trn の config.sh をエディタ等で編集しない方が良いでしょう。変更したなら、 make depend, make, make install を実行する前に、 Configure -S を実行し て下さい。
bash1.12 を使っている Linux では大抵 Configure が失敗しますが、最初か ら newspak に含まれている config.sh を使えば Configure -S だけは正常に 動作します。
NNTP を使うようにコンパイルするには、(僭越ながらあなたのシステムで Configure が実行できれば) Configure からの質問に yes と答えるだけです。 newspak の未来のリリースには、NNTP 利用者向けの config.sh と、有害な :-) bash を使っている人がローカル用に使える現在の config.sh を含む予定 です。
trn には、あらゆる挙動を制御するため何十ものコマンドラインスイッチが存 在します。詳しくは trn のマニュアルを読んで下さい。私は必要な全てのス イッチを簡単に設定するために、下のようにしています。
将来の newspak には、私の .trnrc が例として含まれる予定です。
trn3.2 以上のバージョンであれば、 NOV もしくは mthreads のスレッドがサ ポートされ、ユーザが選択できます。そこで、(これは Configure の質問に ありますが)両方のスレッド機構を使えるようにソフトウェアを構築されるこ とを勧めます。実行時に、NOV を使う時には trn -Zo 、 mthreads を使う時 には trn -Zt とタイプします。
mtheads データベースを構築するには、 news 用の crontab の中で下のよう にします。
# trn 用スレッドデータベース
35 * * * * /usenet/bin/mthreads all
Linux で動かすには、 Linux 用の設定ファイルに置き換えて make するだけ です。 nn6.4.18 の Linux 用設定ファイルは sunsite の newspak-2.1.tar.z に含まれています。また、公開された nn6.5 への更新用の 6.5b2 でも動作し ます。
コンパイルが終了したら、以下のことをして下さい。
詳細は nn のドキュメントを見て下さい。Linux 上で nn をコンパイル、設定、 動作させることは、デーモンではなく cron で nnmaster を動かすこと以外、 他の *nix で nn を動かすこととなんら違いはありません。Linux で nnmaster をデーモンとして動かす場合、このデーモンが適切に起動されると は限りません。(cron で動かしても結局は同じ事ですが。)
下は、nn 用の簡単な crontab エントリです。
# nn に必要なファイルを集めるための、 nnmaster の実行
25 * * * * /usenet/sw/nn/lib/nnmaster
# 時効になった nn データベースの削除
0 4 * * * /usenet/sw/nn/bin/nnadmin =eyw
# nngoback 用に active ファイルをコピーして、7日間保存する
0 3 * * * /usenet/sw/nn/lib/back_act 7
Linux でインストール、動作できると言われているニュースリーダの内の一部 を書きます。
tass, xrn, gnus
以下の人たちは、この文書を書くに当たって情報を提供してくれました。
Ed Carp, Steve Robbins, Ian Taylor, Greg Naber, Matt Welsh, Iain Lea, Arjan de Vet
抜けている人がいれば、ごめんなさい。
ニュースリーダはメールを送るために /bin/mail を呼ぼうとしますが、多分 それが良くないのでしょう。SLS 版の /bin/mail を mailx-5.3b.tar.z のも のに置き換えて、( elm のように) mail グループでモードが 2755 として 作成して下さい。mailx-5.3b.tar.z は、 sunsite.unc.edu の pub/Linux/system/Mail ディレクトリに置かれています。
それ以外では、ローカルシステムで議長がいるニュースグループを議長がいな いかのように設定し、どこかの上流サイトが記事を黙って削除した(いくつか のシステムソフトウェアであって、人ではない)場合も考えられます。2〜3 週間毎に news.admin に投稿される checkgroups 記事が到着した時に、 checkgroups を実行して確認して下さい。
あなたがインストールした配布版の /etc/passwd と /etc/group ファイルに news ユーザとグループが存在するかと、パーミッションをチェックして下さ い。これらはまだ、 Linux 標準のアカウントになっていないようです。
/usr/local/lib/news/setnewside をルートに setuid する以外は、 /usr/local/lib/news ディレクトリのファイルの所有者は news.news でなけ ればいけません。
news にはどんな uid と gid を使ってもかまいません。
多分、 cron で newsrun を起動していないか、 sys ファイルの編集を失敗し たか、 /usr/spool/news/out.going 以下のディレクトリ等が存在しないのか もしれません。
ニュースグループの作成やニュースの配送を、active や sys ファイルを(エ ディタを使って)編集して設定してはいけません。このような設定は /usr/local/lib/news/bin/maint にあるユーティリティを使って行って下さい。
いくつかの Linux で問題がありますし、 performance release 以前のバージョ ンでも、手頃なシステムで安定して高速に動作するものが含まれていますので、 オプションになっています。まだ信じられない人のために、 Cnews の README.new ファイルからいくつか引用します。
「C news の Performance Release 1993/02/20 版は、 1992/03/02 版からい くつかのインストールの問題点と重大なバグだけを改良したものです。」
「このリリースは、 cleanup release と呼ばれるものへの大体の中間点です。」
「古い Cnews で問題のない人は、スケジュールが遅れ公開されていませんが、 cleanup release を待った方がいいでしょう。」
主に、SLS1.01 が出来た頃のコンパイラとライブラリが、 Performance Release に全然ふさわしくなかったからでしょうが、これらは現在改良されて います。
Linux をセットアップしてすぐに使うことを想定していて、ニュースリーダと ニューストランスポートプログラムで nntp を利用するものとしないものの両 方を管理する手間が非常に大きくなるのを避けたかったからです。また、ロー カルな情報を含んでコンパイルすると、実行時に設定ファイルの内容で置き換 えられないからです。
/etc/mtab が読まれていないのでしょう。( /etc/mtab の)モードを 644 に 設定して下さい。これは、ルート所有のファイルが全ユーザのリードが許可さ れないような umask で、ルートによってマウントされたファイルシステムを アンマウントする時に起こります。
古いバージョンの Linux には、 Cnews がハングしてしまうような壊れた sed が含まれていました。古い SLS 版の上に重ねてインストールしたなら、 /bin や /usr/bin にあるのが新しい sed であるか確認して下さい。
はい、できます。 trn3.3 は現在サポートされていますし、 tin は次のバー ジョンでサポートされる予定です。
Cnews の Performance Release やその他いろいろなニュースリーダに接続で きます。
NOV をサポートしている nn6.5 のベータコピーを使っていますが、 Linux で きちんと動いています。私は、 nnmaster を動かさずに (!) 、 nn を動かし ています。 uniwa.uwa.edu にコピーを置いています。
ローカルのみに重要な情報がコンパイル時に設定されていまい、実行時に自動 的に決定することができないからです。
( mdw@sunsite.unc.edu (Matt Welsh 氏) )
usenet:*:13:1::/:
ユーザ id (上では 13 )が重複していないか、確認して下さい。グループは
何でもいいですが、ここでは daemon (gid 1) を使っています。
wonton.tc.cornell.edu
<サーバ名> <ユーザネーム> <パスワード>
ニュースサーバ(上記の SERVER_FILE の中のもの)が shoop.vpizza.com で、
そのマシンで投稿するためにはユーザネームが news、パスワードが floof の
ユーザの権限が必要だとしましょう。この場合、稿するために必要な権限を持っ
ているのであれば、 /usr/local/lib/news/nntppass )に、下の行が必要です。
shoop.vpizza.com news floof
chown usenet /usr/local/lib/news
chmod 755 /usr/local/lib/news
chown usenet /usr/local/lib/news/nntppass
chmod 600 /usr/local/lib/news/nntppass
( nntppass ファイルに書かれている)パスワードは暗号化されていないので、
(ユーザ usenet と root 以外には)読めなくします。
$ inews -h << EOF
Newsgroups: misc.test
From: me@foo.bar.com
Subject: Testing
Reply-To: my-real-address@wherever.edu
This is a test.
EOF
入力すると、 inews が記事を投稿し、上の Reply-To の行にあるアドレスに、 misc.test のテストレスポンダから返事が送られてきます。どうか c.o.l.* :) のような実際のグループで、投稿のテストはしないで下さい。
( mdw@sunsite.unc.edu (Matt Welsh 氏) )
#define ROOTID
の行を
#define ROOTID 0
に変更して下さい。
if (kill(processnum, SIGEMT)) {
となっていれば
if (kill(processnum, 0)) {
に変更して下さい。
#ifdef で変えればいいと思われるでしょうが、 final.c の中の sigignore()
で問題が発生しますので、 SIGEMT を 0 に定義してはいけません。
これでできあがりです。 rn は(いくつかのニュースリーダと同じように)ニュー スグループファイルを扱うために大量のメモリを使用することを忘れないで下 さい。 rn を最初に実行する時は、ニュースグループを調査して .newsrc ファ イルを作るために少し遅くなるでしょう。せっかちな人は、他の人が使ってい る .newsrc ファイルをコピーして下さい。