解説
nscd ユーティリティは、システムキャッシュデーモンです。それは、ほとんどすべてのタイプのデータをキャッシュすることができ、
nsswitch サブシステムで使用されることを基本的に目的にしています。キャッシュは、実際にユーザ毎です。これは、各ユーザが自分たち自身でキャッシュされたキャッシュデータでのみ動作することができ、他のユーザのキャッシュに毒を入れることができないことを意味します。
nscd ユーティリティは、キャッシュの 2 つのタイプをサポートします:
-
タイプ
-
説明
-
共通のキャッシュ
-
各キャッシュされた要素は、キー+値の組です。このキャッシュのタイプは、キャッシュされた要素の最大数が超えるとき、適用されるポリシをサポートします。 3 つのポリシが利用可能です:
FIFO (ファーストイン - ファーストアウト)、
LRU (最も最近使用される) と
LFU (最も頻繁に使用される)。このキャッシュのタイプは、
getXXXbyname() 関数ファミリで使用されます。
-
マルチパートキャッシュ
-
各キャッシュされた要素は、要素シーケンスの部分です。このキャッシュのタイプは、
getXXXent() 関数ファミリで使用されることを目的としています。
nscd ユーティリティは、要素をキャッシュするためだけに利用可能ですが、それ自体による実際の nsswitch 検索を実行することができます。この機能を有効にするには、 nscd.conf(5) の perform-actual-lookups パラメータを使用します。
nscd ユーティリティは、次の実行時オプションを認識します:
-
-n
-
デーモン化しません。
nscd は、端末からそれ自体を fork しないし、または切断しません。
-
-s
-
シングルスレッドモード。すべての処理目的のために 1 つのスレッドのみを使用することを強制します (それは
nscd.conf(5) ファイルの
threads パラメータを上書きします)。
-
-t
-
トレースモード。すべてのトレースメッセージは、標準出力 (stdout) に書き込まれます。通常、このモードは
-n で使用され、
-s フラグは、デバッグ目的に使用されます。
-
-i
cachename
-
プライベートなキャッシュを無効にします。指定されるとき、
nscd は、管理ツールとして動作します。呼び出しているユーザのキャッシュの指定された部分を無効にするように既に実行している
nscd に依頼します。例えば、時々、利用者の“
hosts
”のキャッシュを無効にしたいかもしれません。利用者の個人的なキャッシュをまとめて無効にするために
cachename として“
all
”を指定することができます。
perform-actual-lookups オプションが有効にされる
cachename に、このオプションを使用することはできません。
-
-I
cachename
-
すべてのユーザのキャッシュを無効にします。指定されるとき、
nscd は、管理ツールとして動作します。すべてのユーザのためのキャッシュの指定された部分を無効にするために既に実行している
nscd に依頼します。全体のキャッシュを無効にするために
cachename として“
all
”を指定することができます。 root だけが、このオプションを使用することができます。