Solaris ネーミングの管理

nisrmdir コマンド

nisrmdir コマンドでは、ディレクトリを削除したり、ディレクトリと複製サーバーを切り離すことができます。ディレクトリを削除、またはディレクトリと複製サーバーを切り離すと、その NIS+ ドメインに対しては、マシンは NIS+ 複製サーバーとしては機能しなくなります。

ディレクトリの削除では、まずマスターサーバーと複製サーバーをディレクトリから切り離し、次にそのディレクトリを削除します。

nisrmdir コマンドの実行で問題が生じる場合は、「複製の失敗からの NIS+ ディレクトリの削除または分離」を参照してください。

ディレクトリを削除する

ディレクトリ全体を削除し、そのマスターサーバーと複製サーバーを切り離すには、nisrmdir コマンドをオプションなしで実行します。


nisrmdir directory-name
nisping  domain

次の例では、doc.com. ディレクトリの下の manf.doc.com. ディレクトリを削除します。


rootmaster% nisrmdir manf.doc.com.
rootmaster% nisping doc.com.

複製サーバーをディレクトリから切り離す

複製サーバーをディレクトリから切り離すには、まず、ディレクトリの org_dirgroups_dir サブディレクトリを削除します。その時は、nisrmdir コマンドに -s オプションを付けて実行します。サブディレクトリが削除されたら、親ドメインに戻って nisping を実行してください。


nisrmdir -s replicaname org_dir  domain
nisrmdir -s replicaname groups_dir .domain
nisrmdir -s replicaname domain
nisping domain 

次の例では、manfreplica1 サーバーを manf.doc.com. ディレクトリから切り離します。


rootmaster% nisrmdir -s manfreplica1 org_dir.manf.doc.com. 
rootmaster% nisrmdir -s manfreplica1 groups_dir.manf.doc.com.
rootmaster% nisrmdir -s manfreplica1 manf.doc.com.
rootmaster% nisping manf.doc.com.

nisrmdir -s コマンドを実行したが、切り離し対象の複製サーバーがダウンしていた、または通信が途絶していたという場合、「Cannot remove replica name: attempt to remove a non-empty table」というエラーメッセージが出されます。このような場合は、マスターサーバー上で nisrmdir -f -s replicaname コマンドを実行すれば、強制的に切り離すことができます。ただし、nisrmdir -f -s コマンドでダウン状態の複製サーバーを切り離した場合、その複製サーバーがオンラインに復帰したらただちに nisrmdir -f -s コマンドを再実行して複製サーバーの /var/nis ファイルシステムの中を整理する必要があります。この nisrmdir -f -s replicaname コマンドの再実行を怠ると、複製サーバーに古い情報が残り、問題が生じる原因にもなりかねません。