YPSERV(8)

名前
ypxfr - NIS データーベースをリモートサーバーからローカルホストに転送する

書式
/usr/lib/yp/ypxfr [ -f ] [ -c ] [ -d target domain ]
[ -h source host ] [ -s source domain ]
[ -C taskid program-number ipaddr port ]
[ -p yp_path ] mapname ...

説明
ypxfr は NIS データーベースを NIS サーバーからローカルホストに NIS サービスを用いてコピーする。 ypxfr は通常 ypinit から起動されるか、 yppush からマップ転送要求を受け取った ypserv によって起動される。 ypxfr は一時的なマップを /var/yp/domain ディレクトリに生成し (このディレクトリは存在していなければならない。 domain はローカルホストのデフォルトドメイン名である)、 そのマップのエントリを取得して内容を書き込み、マップのパラメータ (マスターとオーダー番号) を取得する。 転送が成功したら、古いバージョンのマップは削除され、 この一時的なマップの内容がそこに書き込まれる。 次に ypxfr は "clear current map" 要求をローカルの ypserv に送ろうと試みる。

インタラクティブな形式で実行されると、 ypxfr は出力を標準エラー出力に書き出す。しかし制御端末なしで 起動された場合には、出力は syslog に記録される。

ypxfr が用いられるのは、複数の NIS サーバーが用いられているような 環境においてである。あらゆるマップに対して、そのマップの原本を 保持している NIS マスターサーバーが一つだけ存在する。他のサーバは すべて NIS スレーブサーバーとなり、マスターサーバーでマップが 更新されるたびに、新しい版のマップをコピーする。 通常は一台の NIS サーバーにすべてのマップの管理を集中させる。

これらすべての NIS サーバーの間でマップの内容を一致させておくためには、 ypxfr を cron ジョブとして定期的に動作させると良い。あまり変更されないマップは 一日に一回更新すればよいだろうし (システムの使用率が最低となるような 夜遅くが好まれる)、頻繁に変更されるマップ ( passwd.byname や passwd.byuid など) は一時間に一回くらい更新する必要があるかもしれない。 これらの例は /usr/lib/yp の ypxfr_1perday, ypxfr_2perday, ypxfr_1perhour などに示してある。とりあえず動かしてみるには、 これらを用いてみると良いだろう。

NIS マスターサーバーで /var/yp/Makefile が実行されたら、 通常はその更新内容を yppush を用いて伝播させるべきである。 しかし大きなネットワークの場合には、通信障害などによって NIS スレーブの同期がマスターとずれることもあるだろうから、 このように ypxfr を使うのは良いことである。

オプション
以下のオプションがサポートされている。

-f  マップの転送を強制する。通常の動作では、 NIS マスターにあるマップがローカルホストにすでに存在するコピーよりも 新しくないと判断されると、 ypxfr はマップの転送を行わない。このフラグを指定すると、 どのサーバーの版が最新であるかを問わず、強制的に転送が行われる。

-c  ローカルで動作している ypserv プロセスに "clear current map" 要求を送らない。 ypxfr が ypinit から起動された場合や、 ypxfr の起動時に ypserv が動作していない場合などには通常このフラグを指定する。さもないと ypxfr はローカルの ypserv と通信できない旨のエラーを出し、転送は失敗する。

-d domain
    デフォルトの NIS ドメインの代わりに用いるドメインを指定する。

-h source host
    マップに書かれているマスターの情報を無視して、マップを host から取得する。 host が指定されない場合には、 ypxfr は NIS サービスにマスターの名前を問い合わせて、そこからマップを取得しようとする。 このオプションは ypxfr がマップの取得先とする NIS マスターサーバーを保証するために用いられる。

-s source domain
    マップの取得先とするソースドメインを指定する。 そのマップをドメインを通して同じものとしたい場合に有効。

-C taskid progam-number ipaddr port
    このオプションは ypserv によってのみ用いられる。 ypserv が ypxfr を起動するときに、 ypxfr が yppush プロセスをコールバックする先 ( IP アドレス ipaddr のホストの、予約済みプログラム番号 progam-number、 ポート番号 port が、トランザクション taskid へのレスポンスを待っている) を指定する。

-p yp_path
    マップのディレクトリを yp_path/[domainname] に変更する。デフォルトは /var/yp/[domainname] である。

mapname
    転送するマップの名前を指定する (複数指定可)。

ファイル
/var/yp/[domainname]/[maps]

関連項目
ypserv(8), yppush(8), ypinit(8), cron(8), crontab(5)

作者
Thorsten Kukuk <kukuk@suse.de>