MAKEACTIVE(8)

名前
makeactive - active ファイルのリカバリツール

形式
makeactive [ -m ] [ -o ]

機能説明
makeactive は find(1) を起動して、ニューススプールである /var/news/spool/articles 以下のすべてのディレクトリを得ます。 この場合、ピリオドを含んだり、 lost+found という名前のディレクトリは無視します。 その他のすべてのディレクトリについて数字だけのファイル名を探し、 記事番号の最大と最小値を決めます。 このプログラムの出力は active(5) ファイルの一連の行になります。 ニュースグループが moderated であるとか、削除されているかを知る方法は無いため、 すべての第四フィールドは y となります。 また、ニュースグループでない中間階層のディレクトリも記事が無いニュースグループとして作成されます(例えば、 ``comp.sources.unix'' というニュースグループは実際にはありますが、 ``comp.sources'' は実際にはありませんが作成されてしまいます)。

オプション

-m  ``-m'' オプションを使用すると、 makeactive はできるかぎり最大と最小の記事番号の調整を行おうとします。 ニュースグループに記事が見つかれば、記事番号は見つかったものを反映したものとなります。 ニュースグループに記事が見つからなければ、古い active ファイルの最大の記事番号はそのまま保持し、最小記事番号は最大記事番号より 1 大きいものに設定します。 このオプションは ``-o'' を使用する場合にのみ使用することができます。

-o  ``-o'' オプションを使用すると、 makeactive はすでに存在している active ファイルを読み込み、すべてのニュースグループのリナンバリングを行います。 active ファイルの第四フィールドが存在していればそれをそのまま使用します。 このコマンドは、 innd(8) が throttle されているか、起動されていない以外は ctlinnd(8) ``renumber'' コマンドと同じです。 標準の active ファイルに出力をリダイレクトして、このオプションを使用してはいけません。

終了ステータス

makeactive はエラーの場合、0 以外の終了ステータスになります。

使用例

このプログラムの典型的な使用例を次の /bin/sh コマンドで使用可能なスクリプトとして示します。
    ctlinnd throttle "Rebuilding active file"
    TEMP=${TMPDIR-/var/tmp}/act$$
    if [ -f /var/news/etc/active ] ; then
        if makeactive -o >${TEMP} ; then
            mv ${TEMP} /var/news/etc/active
        fi
    else
        if makeactive >${TEMP} ; then
            # moderated やエイリアスされたニュース
            # グループを保持するために編集する
            ...
            mv ${TEMP} /var/news/etc/active
        fi
    fi
    ctlinnd reload active "New active file"
    ctlinnd go ''

履歴
InterNetNews 用に Rich $alz <rsalz@uunet.uu.net> により記述されました。

関連項目
active(5)、 ctlinnd(8)、 dbz(3)、 filechan(8)、 history(5)、 innd(8)、 newsfeeds(5)、 makehistory(8)、 newsrequeue(8)