gnspool は .newsrc *1 に従って未読の記事をローカルディスクに取り寄せる
ためのツールです。
gn の -s オプションと併せて使用すると、ニュースサーバと接続せずに
NetNews を読むことができます。
*1 .newsrc: ニュースグループ毎に既読の記事番号を管理しているファイル
仕組みは、、、
a) gnspool はニュースサーバと同様のディレクトリ/ファイル構成
/usr/spool/news:
NetNews の記事が納められているディレクトリ
/usr/lib/news:
NetNews の管理用のファイルが納められているディレクトリ
をローカルマシン上に構築します。
.newsrc
ニュースサーバ | ローカルマシン
+--------------------+ V +--------------------+
| /usr/spool/news/〜 | gnspool | /usr/spool/news/〜 |
| /usr/lib/news/〜 | --------->| /usr/lib/news/〜 |
+--------------------+ +--------------------+
NetNews を読んだことがない(.newsrc を持っていない)ユーザがいきなり
gnspool を使用すると、超大量の記事を取り寄せることになります。
これは、時間的にもディスク容量的にも無理があります。
gn をオンラインモードで使用し、ニュースサーバ上にあるニュースグルー
プを調べ、必要のないニュースグループは
・u コマンドで unsubscribe(指定したニュースグループは読まない)にし
ておく
・gnrc で UNSUBSCRIBE に指定する
などの処理をおこなうことが必要です。
これにより gnspool 実行時に必要な記事だけを取得するようになります。
b) ニュースリーダは上記作成されたディレクトリ/ファイルをあたかもニュー
スシステムが作成したかのようにアクセスします。
ニュースサーバ ローカルマシン
+--------------------+ +--------------------+
| /usr/spool/news/〜 | | /usr/spool/news/〜 |
| /usr/lib/news/〜 | | /usr/lib/news/〜 |
+--------------------+ +--------------------+
| |
| <--- ほぼ同じ ---> |
V V
ニュースリーダ ニュースリーダ
ニュースシステムを(NNTP を使用せずに)アクセスするように設定された
ニュースリーダであれば、ニュースサーバをアクセスしているのと全く同
じように NetNews を読むことが可能です。
c) ポストする際は、ニュースシステムがないので、ニュースリーダ標準の仕
組み(通常 inews を使用)を使えません。
ニュースサーバ ローカルマシン
+--------------------+ +--------------------+
| /usr/spool/news/〜 | | /usr/spool/news/〜 |
| /usr/lib/news/〜 | | /usr/lib/news/〜 |
+--------------------+ +--------------------+
^
|
inews X
| |
ニュースリーダ ニュースリーダ
gn は -s オプションを付加することにより特別な仕組みを使ってポストし
ます。
ローカルマシン
+--------------------+
| 特別な仕組み *1 |
+--------------------+
^
|
|
gn -s
その他のニュースリーダに対しては擬似的にニュースシステムに見せかけ
る仕組み(gninews)を提供しています。
ローカルマシン
+--------------------+
| 特別な仕組み *1 |
+--------------------+
^
|
gninews
|
ニュースリーダ
「特別な仕組み」*1へポストがあると、gnspool はニュースサーバへ記事
をポストします。
ニュースサーバ ローカルマシン
+--------------------+
| /usr/spool/news/〜 | gnspool +--------------------+
| /usr/lib/news/〜 |<--------- | 特別な仕組み *1 |
+--------------------+ +--------------------+
*1 特別な仕組み:具体的には (/usr/spool/news/)news.out に一時的に蓄
積します。
d) (リプライ)メイルもほぼ同様です。
gnspool は(多分)こんな使い方ができます
(1)サブノートPCのHDに記事を落して持ち歩く
会社/学校でPCをネットワークに接続し
gnspool を使ってPCのディスクに落し
自宅/出先で NetNews を読み書きすることができます。
(2)FD/MOで記事を自宅に持って帰る
会社/学校のネットワークに接続されているPC/WSで
gnspool を使ってFD/MOに記事を落し
そのFD/MOを自宅に持ち帰り、
自宅のPCで読み書きすることができます。
(3)回線速度が遅くて NNTP *1 経由で gn を使うと遅くて仕方がない
gnspool を使ってローカルディスクに一時的に未読の記事を取り込み、
ローカルディスクの記事を読むことにより、素早く読むことができま
す。
*1 NNTP: NetNews をやり取りするプロトコル
(4)接続時間課金 *1 の回線
gnspool を使ってローカルディスクに一時的に未読の記事を取り込み、
ローカルディスクの記事を読むことにより、回線使用時間を短縮する
ことができます。
*1 接続時間に応じた費用がかかる回線
InterNet Provider に PPP で接続している場合、
・プロバイダに支払う費用(月額固定の場合を除く)
・公衆回線(NTT)に支払う費用
が必要となる
(5)gnspool + GNUS(or other NewsReader)
gnspool は /usr/lib/news/active *1 と /usr/spool/news *2 を作
ります。
一部制限がつきますが、gn 以外のニュースリーダ(GNUSなど)と組
み合わせて使うこともできます。
gnrc で購読するニュースグループを限定しておくと active には限
定されたニュースグループしか入りません。ニュースグループが多い
ために GNUS の起動が遅くてたまらない場合にも、もってこいでしょ
う。詳しくは docs.jp/gnspool/gnus を参照してください。
その外、mnews や WinVN などとも組み合わせて使用することが可能
です。
*1 /usr/lib/news/active: ニューススプールにある記事の番号を管
理しているファイル
*2 /usr/spool/news: ニュースの記事ファイルを置いておくディレク
トリ(ニューススプール)
gnspool で取り寄せた spool は、個人の .newsrc に依存します。
よって、取り寄せた spool を複数で共有する目的には使えません。
共有したい場合にはニュースシステムをインストールするか、DNAS *1 を使わ
れることをお勧めします。
*1 DNAS: 複数のニュースサーバをあたかも1台であるかのように見せる
ツール
**************重要*******************
gnspool+nntpd, gnspool+Inn を使って gnspool で取寄せたニューススプール
を共有する試みも公開されていますが、共有には十分注意してください。
・ローカルニュースグループの意図しなかった範囲へ記事の流出
記事を取得するニュースサーバ(以下元サーバ)上にローカルなニュー
スグループがある場合、そのニュースサーバから記事を取寄せ、さら
に外部に公開すると、元サーバでは意図していなかった範囲からロー
カルニュースグループが読めてしまいます。
例:
元サーバに omronsoft.confidential というニュースグルー
プが存在しており、omronsoft.co.jp 内からのアクセスだけ
が許可されていたとする。
omronsoft.co.jp 内のマシンで gnspool を使用し、このニュー
スグループを取寄せ、公開した。この取寄せたマシンはアク
セス制限をしていなかったため、Internet 上のすべてのマ
シンから omronsoft.confidential というニュースグループ
を参照できてしまった。
・ローカルディストリビューションの意図しなかった範囲へ記事の流出
元サーバ上にローカルなディストリビューションがある場合、そのサー
バから記事を取寄せ、さらに外部に公開すると、元サーバでは意図し
ていなかった範囲から記事が読めてしまいます。
例:
元サーバの fj.test に Distribution: local で記事がポス
トされた
gnspool を使用し、この fj.test を取寄せたマシンは
Distribution: を考慮せずに記事を転送した。
結果、Distribution: local な記事が外部に流出した。
以下、いろいろな使い方をもう少し詳しく記述します。
(1)サブノートPCのHDに記事を落して持ち歩く
ドライブCがHDであると想定し、
c:\lib, c:\spool をニュース用に、
c:\home をホームディレクトリとして使用するものとします。
準備
・c:\home に gnrc と newsrc を置きます。
これらは通常 gn で使用しているものです。
・gnrc を修正します。
gnrc に
/usr/lib/news に相当するディレクトリ
/usr/spool/news に相当するディレクトリ
の指定を追加します。
例:
NEWSSPOOL c:\spool
NEWSLIB c:\lib
各ディレクトリを作成します。
・環境変数の設定
set HOME=c:\home
を実行します。
初回の gnspool の実行(会社/学校にて)
gnspool
を実行します。
(1) c:\home\gnrc を読み込み
(2) パスワードの入力
(3) c:\home\newsrc を読み込み
(4) c:\lib\active と c:\spool 以下に記事を転送
が実行されます。
gn の実行(自宅/出先にて)
gn -s
を実行します。パスワードの入力がないこと以外は、通常の gn と全
く同じです。
ニューススプールとしてHDを使用すると、通常はHDのモータが回
りっぱなしとなり、出先の使用では電池が長持ちしません。
もしサブノートPCに RAM disk があり、かつ使わない時はHDDの
モータを止める設定があるなら、gnrc に POWER_SAVE ON を書くと良
いでしょう。
POWER_SAVE ON を書くと、選択したニュースグループの記事を一時的
に TMPDIR にコピーし、読む時は TMPDIR をアクセスします。
TMPDIR に RAMDISK を用いることにより、HD へのアクセスを短時
間かつ一時期にかためておこなうため、記事を読んでいる間はモータ
をOFFにすることが可能になり、電池を節約することが可能となり
ます。当然ページャなども RAM disk におきます。
POWER_SAVE を define しても、記事を読む度にHDにアクセスする
場合は、
command.com はどこからロードされるか?
shell=c:\command.com g:\ ...
~~~
ページャが使用するファイルは全部 RAM disk にあるか
termcap, $HOME/xxxrc など
カレントドライブは RAM disk か
などをチェックして下さい。
ただし、TMPDIR の disk full には注意して下さい。SELECT_LIMIT
を小さくしておくことを推奨します。
また大きなディスクキャッシュを持つ場合には、POWER_SAVE 2 とす
ると良いでしょう。選択したニュースグループの記事は、選択された
時点で全て読出されディスクキャッシュ上にキャッシュされます。
実際に読むときには、キャッシュされたファイルにアクセスしますか
ら、HDDのモータを止めることが可能です。
ポストした記事は NEWSSPOOL/news.out に、
リプライしたメイルは NEWSSPOOL/mail.out に、
一時的に保管されます。
2回目以降の gnspool の実行(会社/学校にて)
gnspool
を実行します。
(1) c:\home\gnrc を読み込み
(2) パスワードの入力
(3) c:\lib\newsrc を読み込み
(4) ポスト/フォローした記事があれば nntpserver へ転送
(5) リプライメイルがあれば smtpserver へ転送
(6) 既読の記事をc:\spool 以下から消去
(7) c:\lib\active と c:\spool 以下に記事を転送
が実行されます。
この利用形態の亜流(?)として、
五十嵐@富士ゼロックス(igarashi@q.ksp.fujixerox.co.jp)どのは、
WS 上で gnspool を実行し未読記事を取り寄せ、それを HP100LX に転送し
ネットワーク無しの gn で利用されているそうです。
(2)FD/MOで記事を自宅に持って帰る
ネットワークに接続されているPCのドライブAのFDで持ち帰ると想定して
説明します。
WS+mtools などでも同様のことができます。(3)(4)を参照下さい。
準備
・a:\ に gnrc と newsrc を置きます。
これらは通常 gn で使用しているものです。
・gnrc を修正します。
gnrc に
/usr/lib/news に相当するディレクトリ
/usr/spool/news に相当するディレクトリ
の指定を追加します。
例:
NEWSSPOOL a:\spool
NEWSLIB a:\lib
各ディレクトリを作成します。
・環境変数の設定
set HOME=a:\
を実行します。
初回の gnspool の実行(会社/学校にて)
gnspool
を実行します。
(1) a:\gnrc を読み込み
(2) パスワードの入力
(3) a:\newsrc を読み込み
(4) a:\lib\active と a:\spool 以下に記事を転送
が実行されます。
gn の実行(自宅にて)
gn -s
を実行します。パスワードの入力がないこと以外は、通常の gn と全
く同じです。
ポストした記事は NEWSSPOOL/news.out に、
リプライしたメイルは NEWSSPOOL/mail.out に、
一時的に保管されます。
2回目以降の gnspool の実行(会社/学校にて)
gnspool
を実行します。
(1) a:\gnrc を読み込み
(2) パスワードの入力
(3) a:\newsrc を読み込み
(4) ポスト/フォローした記事があれば nntpserver へ転送
(5) リプライメイルがあれば smtpserver へ転送
(6) 既読の記事をa:\spool 以下から消去
(7) a:\lib\active と a:\spool 以下に記事を転送
が実行されます。
(3)回線速度が遅くて NNTP 経由で gn を使うと遅くて仕方がない
(4)接続時間課金の回線
unix マシンを使用し、
$HOME/lib, $HOME/spool をニュース用に使用するものとします。
同様の方法にて、ノートPCにインストールした 386BSD などで、持ち出すこ
とも可能です。
準備
・$HOME に .gnrc と .newsrc を置きます。
これらは通常 gn で使用しているものです。
・gnrc を修正します。
gnrc に
/usr/lib/news に相当するディレクトリ
/usr/spool/news に相当するディレクトリ
の指定を追加します。
例:
NEWSSPOOL $HOME/spool
NEWSLIB $HOME/lib
各ディレクトリを作成します。
初回の gnspool の実行
gnspool
を実行します。
(1) $HOME/.gnrc を読み込み
(2) $HOME/.newsrc を読み込み
(3) $HOME/lib/active と $HOME/spool 以下に記事を転送
が実行されます。
gn の実行
gn -s
を実行します。通常の gn と全く同じです。
ポストした記事は NEWSSPOOL/news.out に、
リプライしたメイルは NEWSSPOOL/mail.out に、
一時的に保管されます。
2回目以降の gnspool の実行
gnspool
を実行します。
(1) $HOME/.gnrc を読み込み
(2) $HOME/.newsrc を読み込み
(3) ポスト/フォローした記事があれば nntpserver へ転送
(4) リプライメイルがあれば MAILER を使って smtpserver へ転送
(5) 既読の記事を$HOME/spool 以下から消去
(6) $HOME/lib/active と $HOME/spool 以下に記事を転送
が実行されます。
-f オプションを付加して起動すると、接続時の未読記事数の計算が
高速になります。
大量(数千)のニュースグループを持っているニュースサーバにアク
セスしているが、ごく一部しか購読していない
・gnrc で UNSUBSCRIBE に多くのグループを指定している
・多くのグループを「もう読まない(u)」している
場合に有効です。しかし、
・gnrc に UNSUBSCRIBE がない
・ほとんどのグループを「もう読まない(u)」していない
場合には、かえって遅くなることもあります。
ただし、ニュースグループが増減しても対応できないため、少なくと
も数回に1回は -f オプションを付加せずに起動することを推奨しま
す。-f オプションは、あくまで at own risk でご利用ください。
(5)gnspool + GNUS(or other NewsReader)
ノートPCにインストールした 386BSD などでニュースを持ち出し、GNUS を
使って読むことを想定します。
インストールなどは上記(3)(4)と同じです。個人で使うことを前提です
から、NEWSSPOOL,NEWSLIB は、デフォルトの /usr/spool/news,/usr/lib/news
で構わないでしょう。
gnrc に USE_HISTORY ON とすると、Cnews スタイルのヒストリを
/usr/lib/news/history として作ります。ニュースリーダによっては、元記事
を参照したり、メッセージIDによる記事の指定が可能かも知れません。
GNUS に関しては docs.jp/gnspool/gnus を、
mnews に関しては docs.jp/gnspool/mnews を、
WinVN に関しては docs.jp/gnspool/winvn をご覧下さい。
Copyright (C) yamasita@omronsoft.co.jp
Sep.10,1997
著作権は放棄しません。ただし、営利目的以外の使用/配布に制限は設けません。
オムロン ソフトウェア 技術開発部
山下 康成
yamasita@omronsoft.co.jp