MAKEDBM(8) — NEWS-OS Programmer’s Manual
名称
makedbm − NIS の dbm ファイルを作る
形式
makedbm [ −i yp_input_file ] [ −o yp_output_name ] [ −d yp_domain_name ] [ −m yp_master_name ] infile outfile makedbm [ −u dbmfilename ]
解説
makedbm は infile を入力し、 dbm(3X) 形式の一対のファイル、 outfile.pag と outfile.dir に変換します。入力ファイルの各行は、 dbm の 1 レコードに変換されます。 最初に見つかるタブ、またはスペースまでのすべての文字はキーで、 その行の残りの部分はデータです。行が \ で終わる場合は、そのレコードのデータは次の行に続きます。 # を解釈する作業は NIS のクライアントに残され、 makedbm 自体は、コメントキャラクタのようにそれを扱いません。 infile は − にすることが可能で、その場合は標準入力が読み出されます。 makedbm は、NIS 用の dbm ファイルを生成するために使われることを意図しており、 infile の日付 (infile が − ならば現在の時間)で、 yp_last_modified のキーの付いた、特別なエントリを生成します。
オプション
−i yp_input_file のキーの付いた特別なエントリを作る。
−o yp_output_name のキーの付いた特別なエントリを作る。
−d yp_domain_name のキーの付いた特別なエントリを作る。
−m yp_master_name のキーの付いた特別なエントリを作る。 マスタホスト名が何も指定されていなければ、 yp_master_name がローカルホスト名にセットされる。
−u dbm ファイルを解く。つまり、 dbm ファイルを 1 行につき 1 エントリで出力する。 キーと値は 1 つのスペースで分けて出力される。
例
/etc/passwd のような標準ファイルを、 makedbm に使われるキー値の形式に変換するシェルスクリプトを書くのは簡単です。 例えば、
#!/bin/awk -f
BEGIN { FS = ":"; OFS = "\t"; }
{ print $1, $0 }
は、 /etc/passwd ファイルを入力し、NIS ファイル passwd.byname を作るために makedbm が読める形式に変換します。つまり、キーはユーザ名で、値は /etc/passwd ファイル中の行の残りです。
関連事項
NEWS-OSRelease 4.2.1R