この節で示す表を見ると、Solaris 1.x の NIS コマンド、Solaris 2.x の NISコマンド、およびそれに対応する NIS+ コマンドの間の違いがわかります。
表 4-2は、Solaris 2.x リリースでサポートされている NIS コマンドを示しています。
表 4-5には、NIS アプリケーションプログラマ用のインタフェース関数と、それに対応する NIS+ API が示されています。詳細については、該当するマニュアルページを参照してください。
Solaris 2.x リリースでは、一部の NIS コマンドだけがサポートされています。NIS サーバコマンドは、Solaris 2.x リリースでは提供されません。NIS クライアントコマンドだけがこのリリースに含まれています。これらの NIS コマンドが実行されるかどうかも、Solaris 2.x NIS クライアントが、NIS サーバまたは NIS 互換モードの NIS+ サーバにサービスを要求するかどうかによって決まります。NIS クライアントは、NIS 互換モードで実行されている NIS+ サーバに更新を依頼することができません。たとえば、このようなクライアントは、chkey、newkey の各コマンドを実行することができません。50 ページの表 4-2は、Solaris リリース 2.x でサポートされている NIS コマンドの一覧です。
表 4-2 Solaris 2.x リリースでサポートされる NIS コマンド
コマンドの種類 |
Solaris 2.x リリースでサポートされる NIS コマンド |
Solaris 2.x リリースでサポートされない 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.x の NIS サーバに接続されている、 Solaris 1.x または 2.x の NIS クライアントで実行されます。表の 2 列目のコマンドは、 NIS 互換モードで実行されている Solaris 2.x の NIS+ サーバに接続されている、 Solaris 1ox または 2.x の NIS クライアント上で実行されます。表の 3 列目のコマンドは、 Solaris 2.x NIS+ サーバに接続されている、Solaris 2.x 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 |
N/A |
なし |
ypinit -c |
nisclient -c |
以下の点に注意してください。
Solaris 2.5 リリースでは、passwd コマンドは NIS または NIS+ の状態に関係なく使用できます。以前 nispasswd および yppasswd コマンドによって実行していた機能は、このリリースでは passwd コマンドに含まれました。
ypinit -c コマンドは、Solaris 2.x NIS クライアント上でのみ使用できます。
ypcat コマンドは、netgroup テーブルに対する照会ではサポートされません。NIS クライアントの要求は、応答が返される前に時間切れになります。これは、このテーブルの形式が、netgroup
NIS マップの形式と大幅に異なるためです。
表 4-4 では、ネームサーバからネームサーバへのコマンドを示しています。 NIS サーバコマンドは、Solaris 2.x リリースに含まれていないため、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() |