/var/yp で提供されたデフォルトの Makefile を更新することにより、NIS 管理者のニーズを満たすことができます。 マップを追加したり削除したり、一部のディレクトリの名前を変更できます。
将来の参照のために、変更していない、元の Makefile のコピーを保存しておいてください。
新しい NIS マップを追加するには、マップの ndbm ファイルのコピーをドメインに存在する各 NIS サーバーの /var/yp/domainname ディレクトリに転送する必要があります。 通常これは、Makefile によって行われます。 どの NIS サーバーがマップのマスターサーバーであるかを決定したら、マップを容易に作成し直せるようにマスターサーバーの Makefile を更新してください。 異なるサーバーを異なるマップのマスターサーバーとして設定することも可能ですが、このようにするとたいていの場合、管理上の混乱を招きます。 したがって、1 つのサーバーだけをすべてのマップのマスターサーバーとして設定するようにしてください。
一般に、人が読めるテキストファイルは、makedbm に対する入力として適したものにするために awk、sed、grep でフィルタリングされます。 デフォルトの Makefile を参照してください。 make コマンドの概要については、make(1S) のマニュアルページを参照してください。
make が認識する従属性の作成方法を決定する際には、Makefile にすでに備わっているメカニズムを使用してください。 make では、従属ルール内の行の始まりにタブが存在するか否かが重要であることに注意してください。 他の設定が正しくても、タブが存在しないというだけでエントリが無効になることがあります。
Makefile にエントリを追加する場合は、次の作業を行ってください。
データベース名を all ルールに追加する
time ルールを作成する
データベースのルールを追加する
たとえば、Makefile をオートマウンタ入力ファイルで動作させるには、auto_direct.time および auto_home.time マップを NIS データベースに追加してください。
これらのマップを NIS データベースに追加するには、Makefile を修正する必要があります。
Makefile の先頭で定義されている変数の設定値を変更するには、等号 (=) の右側の値を変更します。
たとえば、マップへの入力として /etc に存在するファイルではなく、別のディレクトリに存在するファイル
(たとえば /var/etc/domainname など) を使用する場合は、DIR
を DIR=/etc から DIR=/var/etc/domainname に変更します。 また、PWDIR を PWDIR=/etc から PWDIR=/var/etc/domainname
に変更します。
変数は次のとおりです。
DIR=。passwd と shadow を除くすべての NIS 入力ファイルが存在するディレクトリ。 デフォルト値は /etc です。 マスターサーバーの /etc ディレクトリのファイルを NIS 入力ファイルとして使用することは望ましくないので、この値は変更しなければなりません。
PWDIR=。NIS 入力ファイル passwd と shadow が存在するディレクトリ。 マスターサーバーの /etc ディレクトリのファイルを NIS 入力ファイルとして使用することは望ましくないので、この値は変更しなければなりません。
DOM=。NISドメイン名。 DOM のデフォルト値は、domainname コマンドで設定されます。 ただし、大部分の NIS コマンドでは現在のマシンのドメイン(現在のマシンの /etc/defaultdomain ファイルに設定されている)が使用されます。