この節で示す表を見ると、Solaris 1 オペレーティング環境の NIS コマンド、Solaris 2 または Solaris 7 オペレーティング環境の NISコマンド、およびそれに対応する NIS+ コマンドの間の違いがわかります。
表 4-2 は、Solaris 2 および Solaris 7 でサポートされている NIS コマンドを示しています。
表 4-5 には、NIS アプリケーションプログラマ用のインタフェース関数と、それに対応する NIS+ API が示されています。詳細については、該当するマニュアルページを参照してください。
Solaris 2 および Solaris 7 では、一部の NIS コマンドだけがサポートされています。NIS サーバーコマンドは、Solaris 2 および Solaris 7 では提供されません。NIS クライアントコマンドだけがこのリリースに含まれています。これらの NIS コマンドが実行されるかどうかも、Solaris 2 または Solaris 7 の NIS クライアントが、NIS サーバーまたは NIS 互換モードの NIS+ サーバーにサービスを要求するかどうかによって決まります。NIS クライアントは、NIS 互換モードで実行されている NIS+ サーバーに更新を依頼することができません。たとえば、このようなクライアントは、chkey、newkey の各コマンドを実行することができません。表 4-2 は、Solaris 2 および Solaris 7 でサポートされている NIS コマンドの一覧です。
表 4-2 Solaris 2 および Solaris 7 オペレーティング環境でサポートされる NIS コマンド
コマンドの種類 |
Solaris 2 および 7 でサポートされる NIS コマンド |
Solaris 2 および 7 でサポートされない NIS コマンド |
---|---|---|
ユーティリティ |
ypinit ypxfr ypcat ypmatch yppasswd ypset ypwhich |
yppush yppoll ypchsh ypchfn ypmake |
デーモン |
ypbind |
ypserv ypxfrd rpc.ypupdated rpc.yppasswdd |
NIS API |
yp_get_default_domain() yp_bind() yp_unbind() yp_match() yp_first yp_next() yp_all() yp_master() yperr_string() ypprot_err() |
yp_order() yp_update() |
この節で示す 2 つの表には、NIS コマンドと、それに相当する NIS+ コマンドを示してあります。これらのコマンドは、2 つのカテゴリに分けられます。表 4-3 では、ネームサービスクライアントからネームサービスサーバーへのコマンドを示しています。 表 4-4 では、ネームサービスサーバーからネームサービスサーバーへのコマンドを示しています。
表 4-3 では、ネームクライアントからネームサーバーへのコマンドを示しています。これらのコマンドを、ネームサービスのクライアントマシン上で入力してネームサービスサーバーの情報を要求します。表の 1 列目のコマンドは、Solaris 1 の NIS サーバーに接続されている、 Solaris 1、Solaris 2 または Solaris 7 の NIS クライアントで実行されます。表の 2 列目のコマンドは、 NIS 互換モードで実行されている Solaris 2 または Solaris 7 の NIS+ サーバーに接続されている、 Solaris 1、Solaris 2 または Solaris 7の NIS クライアント上で実行されます。表の 3 列目のコマンドは、 Solaris 1 または Solaris 7 の NIS+ サーバーに接続されている、Solaris 2 または Solaris 7 の NIS+ クライアント上でのみ実行されます。1 つの行に示されたコマンドは、ほぼ同じ機能を持ちます。「なし」は、対応するコマンドがないことを示しています。
表 4-3 NIS クライアントコマンドと対応する NIS+ コマンド
SunOS 4.x NIS サーバー |
NIS 互換モードの NIS+ サーバー |
NIS+ サーバー |
---|---|---|
ypwhich -m |
ypwhich -m |
niscat -o org_dir |
ypcat |
ypcat |
niscat |
ypwhich |
ypwhich |
なし |
ypmatch |
ypmatch |
nismatch/nisgrep |
yppasswd |
passwd |
passwd |
ypbind |
ypbind |
なし |
yppoll |
なし |
なし |
ypset |
ypset |
なし |
なし |
ypinit -c |
nisclient -c |
以下の点に注意してください。
Solaris 2.5 では、passwd コマンドは NIS または NIS+ の状態に関係なく使用できます。以前 nispasswd および yppasswd コマンドによって実行していた機能は、このリリースでは passwd コマンドに含まれました。
ypinit -c コマンドは、Solaris 2 または Solaris 7 の NIS クライアント上でのみ使用できます。
ypcat コマンドは、netgroup テーブルに対する照会ではサポートされません。NIS クライアントの要求は、応答が返される前に時間切れになります。これは、このテーブルの形式が、netgroup
NIS マップの形式と大幅に異なるためです。
表 4-4 では、ネームサーバーからネームサーバーへのコマンドを示しています。 NIS サーバーコマンドは、Solaris 2 または Solaris 7 に含まれていないため、NIS+ サーバーにも NIS 互換モードの NIS+ サーバーにも使用できません。また、NIS サーバーは、NIS+ サーバーに変更を依頼することができません。この逆もできません。このテーブルの 3 番目の列には、最初の列の NIS サーバーコマンドに対応する NIS+ サーバーコマンドが示されています。NIS 互換モードはクライアントコマンドだけを参照するため、NIS 互換モードのサーバーには同じ機能を提供するコマンドはありません。
表 4-4 NIS サーバーコマンドと対応する NIS+ コマンド
SunOS 4.x NIS サーバー |
NIS 互換モードの NIS+ サーバー |
NIS+ サーバー |
---|---|---|
ypxfr |
なし |
なし |
makedbm |
なし |
nisaddent |
ypinit -m ypinit -s |
なし |
nisserver |
ypserv |
rpc.nisd -Y |
rpc.nisd |
ypserv -d |
rpc.nisd -Y -B |
DNS 転送は不要、/etc/nsswitch.conf を使用すること |
ypxfrd |
なし |
なし |
rpc.ypupdated |
なし |
なし |
rpc.yppasswd |
rpc.nispasswdd |
rpc.nispasswdd |
yppush |
なし |
nisping |
ypmake |
なし |
nissetup、nisaddent |
ypxfr |
なし |
なし |
サイトを完全に NIS+ に移行するには、ネームサービスを変更するだけでなく、すべてのアプリケーションを NIS+ に移植する必要があります。NIS の呼び出しを行う、サイトの内部で作成されたアプリケーションはすべて、NIS+ の呼び出しを実行するように変更しなければなりません。そうしないと、常に NIS 互換モードで NIS+ サーバーを実行しなければならず、このモードの欠点をすべて抱えることになります。サイトの外部で作成されたアプリケーションでは、必要な変更が行われるまで、NIS 互換モードで名前空間を管理しなければならないことがあります。
表 4-5 では、NIS API 機能と、それに対応する NIS+ API 機能を示しています。
表 4-5 NIS の API の関数と NIS+ の API の関数の対応
NIS API の関数 |
NIS API の関数 |
---|---|
yp_get_default_domain() |
nis_local_directory() |
ypbind() |
なし |
ypunbind() |
なし |
ypmatch() |
nis_list() |
yp_first() |
nis_first_entry() |
yp_next() |
nis_next_entry() |
yp_all() |
nis_list() |
yp_master() |
nis_lookup() |
yperr_string() |
nis_perror() nis_sperrno() |
ypprot_err() |
nis_perror() nis_sperrno() |
yp_order() |
なし |
yp_update() |
nis_add_entry()、nis_remove_entry()、nis_modify_entry() |