YPPUSH(8)

名称
yppush - NIS データベースの更新を強制的に伝搬させる

書式
yppush [-d domain] [-t timeout] [-j #parallel jobs] [-h host] [-p path] [-v] mapname

解説
yppush は、NIS ドメインにおいて、更新した NIS データベース(もしくは マップ) を NIS マスタサーバから NIS スレーブサーバへ配布します。 通常、NIS マップが更新された場合に NIS マスタの /var/yp/Makefile からのみ起動されます。 /var/yp/Makefile はデフォルトでは yppush を起動しない事に注意して下さい: これを変えるにはまず、Makefile 中の “NOPUSH=True” エントリをコメントアウトしなければなりません (デフォルトの FreeBSD の設定は小さなネットワークに 単一の NIS サーバがある状況を想定しています; この様な設定では yppush は不要です)。

デフォルトでは、 yppush はドメイン内のスレーブサーバ名を決定するために ypservers マップを検索します。 宛先ホスト(もしくはホストのリスト)は手動でコマンドラインから指定可能です。 スレーブサーバのリストが与えられると、 `マップ転送' 要求を各スレーブに送信します。 今度はスレーブが、 ypxfr(8) を使用して、NIS マスタサーバからマップのコピーを読み取ります。 コピーされるマップ名と ypxfr(8) が yppush に `コールバック' して転送を完遂するために必要な特別な情報とが、 各リクエストに含まれます。 コールバックにおいて yppush が ypxfr(8) から受け取るエラーメッセージは全て標準エラー出力に出力されます。

以下のオプションが使用可能です:

-d domain
    ドメイン名を指定します。 ローカルホストの NIS ドメイン名がデフォルトで使用されます。 ローカルホストのドメイン名が設定されていない場合には、 このフラグでドメイン名を指定しなければなりません。

-t timeout
    タイムアウト値を秒単位で指定します。 このタイムアウトは、 yppush がリスト中の次のスレーブサーバ宛にマップ転送要求を送る前に 返答をどれくらい待つかを制御します。

-j #parallel jobs
    yppush は通常、転送を逐次的に行います。すなわち、 マップ転送要求を一つのスレーブサーバに送り 次のスレーブサーバに取り掛かる前に返答を待つということです。 多くのスレーブがいる環境では、 同時に複数のマップ転送を開始し、転送を並列に行う方が効率が良くなります。 -j フラグにて並列処理するジョブ数を指定します: yppush は指定された数の転送をすぐに開始し、返答を待ちます。 並列ジョブ数がスレーブ数より少ない場合は、 yppush は指定されたジョブ数の処理のみを開始し、返答を待ち、 処理が完了してから残りの処理に取り掛かります。

    yppush はコールバックを非同期に取り扱う事に注意して下さい。 これはどういうことかというと、 全てのマップ転送要求を送信する前であろうとも、 ypxfr(8) からコールバック情報を受け取るとすぐに、 この情報を表示する事を意味します。

-h host
    ypservers マップ中のサーバのリストの代わりに、 ユーザが指定するマシンもしくはマシンのグループ宛にマップを転送できます。 複数のホストを指定するためには、複数の -h フラグを使用します。

-p path
    デフォルトでは、 yppush は全てのローカル NIS マップは /var/yp 以下に格納してあると期待しています。 -p フラグにて別のパスを指定することにより、 システム管理者が NIS マップを別の場所に格納する状況に対処できます。

-v  冗長モード: yppush の実行時にデバッグ情報を表示させます。 このフラグを 2 回指定すると、 yppush はより冗長に情報を表示します。

関連ファイル
/var/yp/[domainname]/ypservers
    ある NIS ドメインにおける全てのサーバ名を格納した NIS ypservers マップ

関連項目
yp(8), ypserv(8), ypxfr(8)

バグ
NIS v1 における NIS マップ転送機構は NIS v2 におけるものとは異なります。 このバージョンの yppush は NIS v2 システム宛のマップ転送のみをサポートしています。

作者
Bill Paul <wpaul@ctr.columbia.edu>