YPFILES(5) — UNIX Programmer’s Manual
名称
ypfiles − イエローページデータベースおよびディレクトリ構造
解説
イエローページ(YP)ネットワーク検索サービスは、ディレクトリ構造体系の /etc/yp 中の dbm ファイルのデータベースを使用します。 dbm データベースは 2つのファイルから成っており、 dbm(3X) ライブラリパッケージへのコールによって作成されます。1つは ファイル名拡張子 .pag を持っており、もう 1つは .dir を持っています。例えば、 hosts.byname という名前のデータベースは、 hosts.byname.pag と hosts.byname.dir の 2つのファイルによって構築されます。YP で提供される dbm データベースは YP map と呼ばれます。YP domain は、名前の付けられた YP マップのセットです。各 YP ドメインは、マップを含んだ /etc/yp のサブディレクトリとして構築されます。YP ドメインはいくつでも存在できます。 各ドメインは任意の数のマップを含むことができます。
YP 検索サービスそのものはマップを必要としませんが、システムの 他の部分での一般的な操作ではマップが必要です。YP の提供する マップのリストはありませんが、与えられたドメイン中にマップがあり、 クライアントがそれについて問い合わせを行った場合、YP はリストを 提供します。一貫してアクセス可能なマップは、ドメインを提供する 全 YP サーバ上になければなりません。コピーされたマップとの間で データの一環性を提供するためには、各サーバ上の /usr/lib/crontab 中に ypxfr を定期的に実行させるエントリを作らなければなりません。これに ついての詳しい情報については、ypxfr(8) をご覧ください。
YP マップは、2つの明らかな“キーと値”のペアを含んでいなければ なりません。最初のキーは YP_LAST_MODIFIED で、値として、10文字 の ASCII 順位数を持っています。順位数は、そのマップが作成され た時の UNIX 時刻(秒単位)でなくてはなりません。次のキー は YP_MASTER_NAME で、値として、YP マスタの名前を持っています。 makedbm は、両方の“キーと値”のペアを自動的に生成します。両方の“キーと値” のペアを含まないマップも YP で提供できますが、 ypserv プロセスで、“Get order number(順位数を得る)”リクエストま たは“Get master name(マスタ名を得る)”リクエストのために 値を返すことはできなくなります。さらに、これら 2つのキーの 値は、 ypxfr がマスタ YP サーバからスレーブへマップを転送するときに使用されます。 ypxfr がマップをどこで得るのかを算出できない場合、 またはローカルコピーがマスタのコピーより新しいのかどうか決定 できない場合は、 ypxfr を実行するときに、特別なコマンド行のスイッチをセットしなければなりません。
YP マップは、マスタサーバ上でのみ生成および変更されなければな りません。マップは、 ypxfr(8) を用いてスレーブにコピーされます。これは、異なるアーキテクチ ャを持つマシン上で実行される YP サーバ間の潜在的なバイトオー ダーの問題を避けるためと、dbm ファイルに必要なディスクスペー スの量を小さくするためです。YP データベースは ypinit(8) を用いることにより、マスタ、スレーブ双方のために初期セットア ップを行うことができます。
サーバのデータベースがセットアップされた後、マップによってはその 内容が変化する可能性があります。一般に、データベースの ASCII ソース 版はマスタ上に存在し、標準的なテキストエディタで変更されます。その更新は、 /etc/yp/Makefile を実行することにより、YPマップに編入され、またマスタからスレ ーブに伝達されます。SUN の供給する全マップは、 /etc/yp/Makefile 中にエントリを持っているため、YPマップを追加する場合は、その 新マップをサポートするために、このファイルをエディットしてください。 makefile は、マスタ上に YP マップを生成するために makedbm を使用し、変更したマップをスレーブに伝達するために yppush を使用します。 yppush は、すべての YP サーバをリストしているマップ ypservers のクライアントです。これについての詳しい情報については、yppush(8) を ご覧ください。
関連事項
makedbm(8), ypinit(8), ypmake(8), ypxfr(8), yppush(8), yppoll(8), ypserv(8), rpcinfo(8),
NEWS-OSRelease 3.3