ACTSYNC(8)

名前
actsync, actsyncd - ニュースグループの同期

形式
actsync [-b hostid] [-d hostid] [-g max] [-i ignore_file]
       [-I hostid] [-k] [-l hostid] [-m] [-n name]
       [-o fmt] [-p min_%_unchg] [-q hostid] [-s size]
       [-s spool_dir] [-t hostid] [-T] [-v verbose_lvl]
       [-z sec] [host1] host2

actsyncd [-x] actsync.cfg [debug_level [debug_outfmt] ]

機能説明
actsync(8) により二つの active(5) ファイルを同期、比較、マージすることができます。 このコマンドでは、 他サイトや他のファイルにあるニュースグループのリストと同じにさせるために自サイトでニュースグループを追加、 変更、削除することができます。 同期は正確である必要はありません。 ニュースグループのリストのローカルな差異を保ちつつ保護することができます。 また、あるニュースグループのエラーをみつけ、修正することもできます。

actsync(8) (や actsyncd(8)) を周期的に起動するにはいくつか理由があります。 その理由は次のとおりです。

ニュースグループを追加、変更、削除するためのコントロールメッセージが 自サイトに到着できなかった。

自サイトの control.ctl(5) が古いか不完全である。

新しいニュースグループの記事がコントロールメッセージが到着する前(ときには数日前)に到着する。

コントロールメッセージが正しくないかもしれなくて、 control.ctl(5) での制限が無視されていた。

自サイトの active(5) ファイルが使いものにならなくなってしまっている。

host1 か host2 のいずれかが ``.'' か ``/'' で始まる場合、 active(5) のフォーマットとなっているファイル名とみなします。 getlist(1) コマンドを他サイトの active ファイルのコピーを得るために使用することもできます。 ファイルからのニュースグループの情報はホストから得たかのように扱うこともできます。 この man ページでの host1 と host2 は、ファイル名にもなり得ますがホストと呼ぶことにします。

引数となるホストが ``.'' あるいは ``/'', で始まっていない場合、引数はホスト名か IP アドレスとみなします。 この場合、 actsync(8) は NNTP を使用して指定したサーバの active ファイルのコピーを得ます。

active ファイルの情報をどのように得たかにかかわらず、 actsync(8) の動作は変わりません。

ホストが一つのみ指定されている場合、このホストは host2 とみなします。 host1 が指定されていない場合、host1 は環境変数 NNTPSERVER あるいは inn.conf(5) での server 値で指定されているデフォルトのローカル NNTP サーバであるとみなします。

デフォルトではニュースグループの同期は両ホストで見つかったすべての ニュースグループについてのものとなります。 両ホストのうちのあるニュースグループを無視するように actsync(8) に指示することより、ニュースグループのサブセットについて同期させることもできます。

actsyncd(8)デーモンは actsync(8) を設定、起動するための便利なインタフェースを提供します。 ホストにまず接続することができなければ、このデーモンは 9 回のリトライを 6 分おきに行います。 このデーモンはフォアグラウンドで動作し、出力を標準出力と標準エラー出力に対して行います。

actsyncd(8) に -x オプションが渡されていれば、 ctlinnd reload を使用する代わりに ctlinnd xexec を使用してあらたに変更された active ファイルをロードします。

このデーモン用の設定ファイルは actsync.cfg で指定します。 actsync.cfg ファイルには次のような 4 行が必要です。

host=host2
spool=/var/news/spool/articles
ignore_file=ignore_file
flags=actsyncd (8) オプション

キーワードは行頭から始まらなければならず、 ``='' の前にはホワイトスペースがあってはいけません。 空行は無視されます。 ``#'' で始まるコメントは無視されます。 その他の行は未定義の結果となり得ます。

host 行は同期で参照する host2 を示します。 spool 行はニュースのスプールのあるトップディレクトリを示します。 ignore_file 行は actsync(8) で使用されるファイルのうち追加、変更、 削除の対象とするニュースグループを制御するファイル名を示します。 flags 行は actsync(8) に渡したいすべてのオプションを示します。

-i ignore_file 、-o format 、-S spool_dir は flags= 行で指定してはいけません。 これは actsyncd(8) が自動的に行うためです。

オプション
actsync(8) のオプションは次のとおりです。

-b hostid
    このオプションは actsync(8) に ``bork.bork.bork'' 形式のニュースグループ名を削除の対象にさせます。 すなわちニュースグループ名の最後の 3 つの階層が同じになっているものについてです。 例えば、次のニュースグループ名には先の bork 形式の名前になっています。

    alt.helms.dork.dork.dork
    alt.auto.accident.sue.sue.sue
    alt.election.vote.vote.vote

    hostid の値はどちらのホストについてこの動作を行うかを決めます。

    0	いずれのホストについても行わない
    1	デフォルトのローカルサーバ
    2	相手サーバ
    12	両方のサーバ
    21	両方のサーバ

    デフォルトでは -b 0 で、先の bork 形式のニュースグループは削除の対象とはなりません。

-d hostid
    このオプションは actsync(8) にすべて数字からなる階層部分を持つニュースグループ名を削除の対象にさせます。 hostid の値は -b と同じです。 例えば、次のニュースグループ名には数字からなる階層部分を持ちます。

    alt.prime.chongo.23209
    391581.times.2.to_the.216193.power.-1
    99.bottles.of.treacle.on.the.wall
    linfield.class.envio_bio.101.d

    すべて数字からなる階層部分を持つニュースグループのディレクトリは他の ニュースグループの記事番号と衝突し得ます。 例えば、上で示した最初のニュースグループのディレクトリは

    alt.prime.chongo

    というニュースグループの記事番号 23209 と同じパスになります。 デフォルトでは -d 0 となっていて、 両方のサーバについての数字からなる階層部分を持つニュースグループは削除の対象とはせずそのまま処理されます。

-g max
    max 以上の階層を持つニュースグループを削除の対象とします。 例えば、 -g 6 は次のニュースグループを削除の対象とします。

    alt.feinstien.votes.to.trash.freedom.of.speech
    alt.senator.exon.enemy.of.the.internet
    alt.crypto.export.laws.dumb.dumb.dumb

    しかし、次のニュースグループは削除の対象とはしません。

    alt.feinstien.acts.like.a.republican
    alt.exon.admendment
    alt.crypto.export.laws

    max が 0 の場合、この機能は無効となります。

    デフォルトでは、この機能は無効となっています。

-i ignore_file
    ignore_file によりどのニュースグループを追加、変更、削除の対象とするかを制御することができます。 このファイルはどのニュースグループを追加、変更、削除の対象とし、 どのニュースグループを追加、変更、削除の対象としないかを指定する一連のルールから構成されます。

    デフォルトでは、このルールは両方のサーバに適用されます。 これは -I hostid オプションを使用することにより変更することができます。

    デフォルトでは、すべてのニュースグループを追加、変更、削除の対象とします。 ignore_file が指定されていないか、このファイルにルールが記述されていなければ、 すべてのニュースグループを追加、変更、削除の対象とします。

    空行や ``#'' はコメントとみなされ、無視されます。

    ルール行はホワイトスペースで区切られたトークンから構成されます。 ルール行は次の二つの形式のうちのいずれかとなります。

    c	newsgroup	[type ...]
    i	newsgroup	[type ...]

    ルールが c で始まっていれば、指定したニュースグループを追加、変更、削除の対象とするようになります。 ルールが i で始まっていれば、指定したニュースグループを追加、変更、削除の対象としないようになります。 newsgroup フィールドは特定のニュースグループか wildmat(3) パターンとなります。

    一つ以上の type が指定されていれば、ルールは指定された type のニュースグループにのみ適用されます。 type は active(5) ファイルの第四フィールドに相当します。 type は次のうちのいずれかです。

    y
    n
    m
    j
    x
    =group.name

    active ファイルとは異なり、 group.name はニュースグループ名か wildmat(3) パターンになります。 また、 ``='' だけの場合は ``=*'' に相当します。

    一つのルール行で同じ type を繰り返すことはできません。 例えば、各行に ``='' で始まる type を複数持たせることはできません。 しかし、同じニュースグループに対して複数のルール行を使用することにより複数の ``='' type の効果を得ることができます。

    デフォルトでは、すべてのニュースグループは追加、変更、削除の対象となります。 このファイルを使用すると、各ニュースグループはこのファイルをもとに順番に調べられます。 あるニュースグループが複数行に一致する場合、ファイル中の最後に一致する行が使用されます。

    例えば、次のような内容のファイルを想定します。

    i *.general
    c *.general m
    i nsa.general

    ba.general というニュースグループは moderated でなければ追加、変更、削除の対象となりません。 mod.general というニュースグループは moderated ならば追加、変更、削除の対象となります。 nsa.general というニュースグループは moderated であっても追加、変更、削除の対象となりません。

-I hostid
    このオプションは ignore_file を適用するサーバを制限します。 hostid の値は -b と同じです。

    このオプションは -m というマージのためのオプションとともに使用する場合に有用となるかもしれません。 例えば、

    actsync -i actsync.ign -I 2 -m host1 host2

    は、host1 上の現状のすべてのニュースグループはそのままになります。 host1 のニュースグループと、host2 の追加、変更、削除の対象となるニュースグループを比較するのみです。

    デフォルトでは、 -I 12 となっていて、 -I hostid オプションにしたがって両サーバのニュースグループが追加、変更、削除の対象となります。

-k  デフォルトでは、 host1 上でエラーとなるすべてのニュースグループは削除の対象となります。 単にこれは actsync(8) がこのようなニュースグループを有効なものとはせず使用しないようになるだけです。 このオプションは -m とともに使用するとどのニュースグループも削除の対象とならないようになります。

-l hostid
    host1 や host2 でのニュースグループの ``='' type のフラグの問題をエラーとして適用するサーバを指定します。 hostid の値は -b と同じです。 ``='' type のニュースグループは第四フィールドが ``='' で始まる active のニュースグループエントリになります。 すなわち、ニュースグループは他のニュースグループに相当するということです。

    自分自身に相当するニュースグループや自分自身にループするようにチェーンしているニュースグループは問題があります。 チェーンが 16 より長いニュースグループは問題があります。 存在しないニュースグループに相当するニュースグループは問題があります。 ある種の問題のあるエラーを持つニュースグループに相当するニュースグループは問題があります。 しかし、追加、変更、 削除の対象とならないニュースグループに相当するニュースグループは問題となりません。

    デフォルトでは ``12'' で、 両方のサーバで問題があるとされたニュースグループはエラーとなり、 削除の対象となります。

-m  同期せずにニュースグループをマージします。 デフォルトでは、ニュースグループが host2 には無くて、 host1 に存在すれば、そのニュースグループは削除する対象となります。 このオプションによりこの処理をしなくなり、 host1 に固有のニュースグループを保持することを可能にしています。

-n  name
    ニュースグループの作成は ctlinnd(8) コマンドにより行われます。 デフォルトでは、作成者の名前には actsync が使用されます。 このオプションは作成者の名前を name に変更します。

-o  fmt
    このコマンドの表示出力や動作のフォーマットを指定します。 fmt は次のうちのいずれかになります。

    a	active(5) のフォーマットで出力
    a1	active(5) のフォーマットで出力し、
    	host1 のエラーでない追加、変更、削除の対象
    	とはなっていないニュースグループを出力
    ak	active(5) のフォーマットで出力するが、
    	作成されるすべてのニュースグループは host2 で
    	の最大と最小(active の第二と第三フィールド)の
    	値を使用する
    aK	active(5) のフォーマットで出力するが、
    	host2 に存在するニュースグループはすべて
    	その最大と最小(active の第二と第三フィールド)
    	の値を使用する
    a1k	active(5) のフォーマットで出力するが、
    	作成されるニュースグループはすべて host2 で
    	の最大と最小(active の第二と第三フィールド)の
    	値を使用し、host1 のエラーでない追加、変更、
    	削除の対象とはなっていないニュースグループを出力
    a1K	active(5) のフォーマットで出力するが、
    	host2 にあるニュースグループはすべて
    	その最大と最小(active の第二と第三フィール
    	ド)の値を使用し、host1 のエラーでない追加、変更、
    	削除の対象とはなっていないニュースグループを出力
    ak1	a1k に相当
    aK1	a1K に相当
    c	ctlinnd(8) のフォーマットで出力
    x	出力せず、直接 ctlinnd(8) を実行
    xi	出力せず、直接 ctlinnd(8) をインタラクティブ
    	に実行

    a、a1、ak、aK、a1k、a1K、ak1、 aK1 により、 ctlinnd(8) コマンドの代わりにあらたな active ファイルを生成することができます。 作成されたニュースグループ最大と最小の値にはそれぞれ 0000000000 と 0000000001 を使用します。 ak と aK では最大と最小(active の第二と第三フィールド)の値は変わってきます。 ak の場合、作成したニュースグループは host2 の最大と最小の値を使用します。 aK の場合、ニュースグループのうち host2 にもあるものはすべて host2 の最大と最小の値を使用します。

    c の場合、 ctlinnd(8) コマンドの形式で出力します。 actsync(8) は単に ctlinnd(8) コマンドを標準出力に出力する以外は何もしません。 host2 との同期(あるいは -m が指定されていればマージ)は、この出力を sh(1) にパイプで渡すことにより変更が可能となります。 sh(1) に解釈されると無効となるような文字が ニュースグループや type に含まれているかもしれないということに悩む場合は x か xi を使用するのがよいかもしれません。 host1 がどのように host2 と同期(あるいはマージ)するかを知るには、この出力フォーマットは便利です。

    x を使用すれば、直接同期(あるいは -m が指定されていればマージ)することができます。 このフォーマットにより直接 ctlinnd(8) コマンドを行うために actsync(8) は execl(2) システムコールを使用します。 exec を使用しているため、無効な文字を含むニュースグループが シェルに対して無効(あるいは危険)なことを行うおそれはありません。 このような処理の出力は verbose レベルが少なくとも 2 であれば見ることができます。

    actsync(8) コマンドは -o x が指定されていると、各コマンドが実行される前に 4 秒待ちます。 -z sec オプションを参照してください。

    xi では標準出力にインタラクティブにプロンプトを出力し、標準入力より入力を読み込みます。 この方式により変更をおこなうことができます。

    active(5) 形式の出力を行う場合注意しておくことがあります。 これはその出力を使用する前に、 actsync(8) が 0 の終了ステータスとなっていることを確認しておく必要があるということです。 また、この出力には -p 100 を使用していても -i ignore_file で追加、変更、削除の対象とはなっていない行は含まれていないということを理解しておくべきです。

    デフォルトでは、 -o c となっています。

-p min_%_unchg
    デフォルトでは、 actsync(8) コマンドには大量の変更に対するガードがかかっています。 host1 で追加、変更、削除の対象となっているニュースグループのうち、 変更しないものが min_%_unchg パーセントより少なければ(出力、実行等)何も行わず、 actsync(8) は 0 以外のステータスで終了します。 min_%_unchg は 66.666 のような浮動小数点とすることもできます。

    host1 でのエラー、削除、追加、変更した行を変更とします。 -o ak や -o aK による第二、第三フィールドの変更は -p では変更とは見なしません。

    actsync(8) に変更量を制限しない場合、 -p 0 を使用してください。 actsync(8) にどのような変更も認めないようにするには -p 100 を使用してください。

    active(5) 形式の出力を行う場合注意しておくことがあります。 これはその出力を使用する前に、 actsync(8) が 0 の終了ステータスとなっていることを確認しておく必要があるということです。 また、この出力には -i ignore_file で -p 100 が使用されていても追加、変更、削除の対象とはなっていない行が含まれていないということを理解しておくべきです。

    デフォルトでは、host1 で追加、変更、 削除の対象となっているニュースグループのうち変更しないものが 96% までとなっていれば変更されません。 すなわちデフォルトでは -p 96 となっています。

-q hostid
    デフォルトでは、すべてのニュースグループのエラーは標準エラー出力に報告されます。 このオプションにより host1 や host2 でのニュースグループのエラーを出力しなくなります。 hostid の値は -b と同じで、デフォルトでは 0 です。

-s size
    size>0 となっていれば、 size 以上の長さを持つニュースグループ名は追加、変更、削除の対象とします。 長さのチェックはローカルと相手サーバの両方に対して行われます。

    デフォルトでは、 size は 0 となっていて長さのチェックは行わないようになっています。

-S spool_dir
    個々の新しいニュースグループ(すなわち host2 で見つかったニュースグループでローカルのホスト上に無いものは)毎に、 spool_dir 配下のニュースグループのディレクトリが存在するかどうかを調べます。 このニュースグループのディレクトリが存在していれば、 有効なエントリの最大と最小(active の第二と第三フィールド)の値を見つかった記事の番号の範囲を反映させるために変更します。

    このオプションは -o a 、 -o a1 、 -o ak 、 -o aK 、 -o alk 、 -o alK 、 -o ak1 、 -o aK1 のオプションとともに使用する場合にのみ有効となります。 -S spool_dir により本来使用されることになるはずの最大と最小(active の第二と第三フィールド) の値をスプールを調べて実際に存在する記事番号で上書きすることになるでしょう。 これは、ニュースグループはすでに削除されていても expire されていない記事が あるようなニュースグループで記事番号の衝突がないようにするために 重要な強く使用が推奨されるオプションです。

-t hostid
    host1 や host2 のトップ階層のみしかないニュースグループを不適切なものとして削除の対象とします。 hostid の値は -b と同じです。 ただし、次のニュースグループについては常にトップ階層のみしかないニュースグループとして適切なものと見なします。

    control
    general
    junk
    test
    to

    例えば、次のニュースグループではトップ階層のみしか無いため不適切なものとみなします。

    dole_for_pres
    dos
    microsoft
    windoes95

    デフォルトでは、相手( -t 2 )サーバの不適切なトップ階層のみのニュースグループが削除の対象となります。

-T  このオプションにより、 host2 にのみ存在する新たな階層のニュースグループを作成しないようにします。 host2 にのみ chongo.was.here があれば、通常は host1 にそれを作成します。 しかし host1 に 'chongo.*' に相当するニュースグループが無くてこのオプションが指定されていれば chongo.was.here は無視され、 host1 では作成されません。

-v verbose_lvl
    デフォルトでは actsync(8) は verbose になっていません。 このオプションにより verbose level を次のように制御します。

    0	デバッグやステータスの報告はしない(デフォルト)
    1	処理が必要となったり終了すればサマリを出力
    2	処理が必要となったり終了すれば動作、実行結果、
    	サマリを出力
    3	動作、実行結果、サマリを出力
    4	すべてのデバッグを出力

-z sec
    -o x が指定されていれば actsync(8) は各コマンドを実行する前に sec 秒待ちます。 これにより大量の ctlinnd(8) コマンドが必要な場合に innd(8) がその処理にかかりきることを避けることができます。 -z 0 とすることにより待たないようにすることができます。

    デフォルトでは actsync(8) は -o x が指定されていれば、各コマンドを実行する前に 4 秒待ちます。

使用例
以下を実行すると、ローカルでのニュースグループと uunet でのニュースグループの比較をします(何も変更しません)。

actsync news.uu.net

以下を実行すると、全デバッグと処理の報告が出力される以外は上記と同じです。

actsync -v 4 news.uu.net

以下を実行すると、他サイトと同じニュースグループを持つようにすることができます。

actsync -o x master

これはスレーブサイトがマスタサイトに同期をとったり、 内部サイトがゲートウェイとの同期をとる場合に有効です。

以下を実行すると、ローカルニュースグループと uunet のローカルなニュースグループを除いて uunet と比較します。 差異がみつかればそれが出力されます。

actsync -v 2 -i actsync.ign news.uu.net

actsync.ign の内容は次のとおりです。

# 異なるであろうため to.* は比較しない
#
i	to.*
# どこへも配送しないローカルなニュースグループ
# したがって比較しないように無視する
#
i	nsa.*
# ローカルな好みのニュースグループであるため、uunet
# が配送しなくてもそのままにしておく
#
i	ca.dump.bob.dorman
i	ca.keep.bob.dorman
i	alt.tv.dinosaurs.barney.die.die.die
i	alt.tv.dinosaurs.barney.love.love.love
i	alt.sounds.*	=alt.binaries.sounds.*

以下を実行すると、上記と同じ ignore_file を使用してインタラクティブに news.uu.net とニュースグループの同期をとります。

actsync -o xi -v 2 -i actsync.ign news.uu.net

追加、変更、削除の対象としないとしたニュースグループはそのままにしておいて actsync.ign を変更することもできます。

# 異なるであろうため to.* は比較しない
#
i	to.*
# どこへも配送しないローカルなニュースグループ
# したがって比較しないように無視する
#
i	nsa.*
# ローカルな好みのニュースグループであるため、uunet
# が配送しなくてもそのままにしておく
#
i	ca.dump.bob.dorman
i	alt.tv.dinosaurs.barney.die.die.die
i	alt.sounds.* 	=alt.binaries.sounds.*
# moderated となっていたり gnu の階層以外の
# テストニュースグループには同期しない
i	*.test
c	*.test	m	# moderated なテストニュースグループを調べる
c	gnu.*.test
c	gnu.test	# すでに存在している場合

次の actsync.cfg を使用することにより自動処理のセットアップを行うことができます。

# 同期するサーバ(host2)
host=news.uu.net
# ignore_file の場所
ignore_file=/var/news/etc/actsync.ign
# ニューススプールディレクトリ
spool=/var/news/spool/articles
# actsync(8) オプション
#
# 自動実行し、何かあれば報告
#	そうでなければ何も出力しない
#	uunet の active file の問題は報告しない
#	有効なエントリは無視する
flags=-o x -v 2 -q 2

そして次のように実行します。

actsyncd /var/news/etc/actsync.cfg

次のように引数に debug_level をつけることにより、サーバに影響を与えずに試しに actsyncd(8) を動作させることができます。

actsyncd /var/news/etc/actsync.cfg 2

debug_level により actsyncd(8) を -v debug_level (flags 行の -v オプションで上書きされますが)で actsync(8) 実行し、すべての変更が active(5) ファイルに反映されないようにし、新たな active ファイルを標準出力に出力し、 デバッグ出力を標準エラー出力に出力します。

actsyncd(8) の引数に debug_outfmt を与えると、データは標準出力に出力しそのフォーマットは -o a1 でなく -o debug_outfmt になります。 /bin/sh で次を実行すると、

actsyncd /var/news/etc/actsync.cfg 4 c >cmd 2>dbg

はデバッグモードで実行し、 active(5) ファイルを変更せず、cmd に ctlinnd(8) 形式のコマンドを出力し、dbgにデバッグ情報を出力します。

おもな階層についてのみ news.uu.net との差を調べるためには次の actsync.ign ファイルを使用します。

# デフォルトではすべて無視
i *
# おもなニュースグループを調べる
c	comp.*
c	gnu.*
c	sci.*
c	alt.*
c	misc.*
c	news.*
c	rec.*
c	soc.*
c	talk.*

そして次を実行します。

actsync -i actsync.ign news.uu.net

古い active とカレントのデフォルトのニュースサーバとの差を調べるためには次のように実行します。

actsync /var/news/etc/active.old -

カレントの active のニュースグループに問題があるものは何もせず報告のみするには次のように実行します。

actsync - -

ローカルサイトのニュースグループのエラーを見つけ、 *.bork.bork.bork 形式のくだらないニュースグループ名を削除するには次のように実行します。

actsync -b 2 - -

次により生成した active ファイルや

actsync ... flags ... -o x erehwon.honey.edu

次により生成した active ファイルは、

actsync ... flags ... -o c erehwon.honey.edu | sh

次により生成した active ファイルと等価です。

ctlinnd pause 'running actsync'
rm -f active.new
actsync ... flags ... -o a1 erehwon.honey.edu > active.new
rm -f active.old
ln active active.old
mv active.new active
ctlinnd reload active 'running actsync'
ctlinnd go 'running actsync'

上記 'pause'、'actsync'、'reload'、'go' 方式の方が速いということに留意してください。 しかし、ニュースグループはすでに削除されていても expire されていない記事があるようなニュースグループで記事番号の衝突がないようにするため、 -oa* のいずれかのオプションとともに -S spool_dir を使用することが強く推奨されます。 したがって、上記方式でより良く安全にするには次のように実行します。

ctlinnd pause 'running actsync'
rm -f active.new
actsync ... flags ... -o a1 -S /var/news/spool/articles erehwon.honey.edu > active.new
rm -f active.old
ln active active.old
mv active.new active
ctlinnd reload active 'running actsync'
ctlinnd go 'running actsync'

デフォルトでは上記処理は actsyncd(8) が行っていることと同じです。

注意事項
このツールは注意して使用しないとニュースグループへの意図しない変更や削除がされるかもしれません。 意図したことを行っていると確信するまでは、x の出力形式は使用するべきではありません。

大量の newgroup や rmgroup を行うと、 innd(8) を起動している多くのサーバは active ファイルをおかしくさせてしまうかもしれません。 これは actsync(8) のバグでは無く、サーバのバグです。 先に示した pause、actsync、reload、go の方式はこの問題を回避するには良いでしょう。

バグ
同じニュースグループが複数あらわれると、 actsync(8) すべてのニュースグループがエラーであるとします。 しかし、ニュースグループが削除の対象となっていれば、rmgroup だけは実行されます。

``x'' や ``xi'' で起動させると、 ctlinnd(8) のタイムアウトは 30 秒固定になります。 おそらく、タイムアウト値はコマンドラインから制御するべきでしょう。

関連項目
active(5)、 ctlinnd(8)、 getlist(8)

履歴
InterNetNews 用に Landon Curt Noll <chongo@toad.com> により記述されました。 日本語訳は kondou@uxd.fc.nec.co.jp によって行われました。