印刷ソフトウェアは、特定の資源に基づいてプリンタ名やプリンタ構成情報を特定します。プリンタソフトウェアは、ネームサービスを使ってプリンタを公開するように設定することができます。ネットワーク上のすべてのプリンタのプリンタ構成情報を格納するためにネームサービスを利用できます。 ネームサービス (LDAP、NIS、または NIS+) は、プリンタ構成情報の管理を簡単にします。プリンタをネームサービスに追加すると、ネットワーク上のすべての印刷クライアントがそのプリンタにアクセスできます。
ネームサービススイッチファイル /etc/nsswitch.conf 内の printers データベースは、ネットワーク上の印刷クライアントに、一元化したプリンタ構成情報を提供します。
ネームサービススイッチファイルに printers データベースとそれに対応する情報源を指定すると、印刷クライアントからプリンタ構成情報に自動的にアクセスできるようになるため、この情報を自分のシステムに追加する必要はありません。
ファイル、LDAP、NIS、または NIS+ 環境に対応した /etc/nsswitch.conf ファイル内のデフォルトの printers エントリについて、次の表で説明します。
ネームサービスタイプ |
デフォルトの printers エントリ |
---|---|
files |
printers: user files |
ldap |
printers: user files ldap |
nis |
printers: user files nis |
たとえば、ネームサービスが NIS の場合、印刷クライアントのプリンタ構成情報は次のソースから次に記載する順に検索されます。
user - ユーザーの $HOME/.printers ファイルを表します。
files - /etc/printers.conf ファイルを表します。
nis - printers.conf.byname テーブルを表します。
詳細は、nsswitch.conf(4) のマニュアルページと『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照してください。
プリンタ情報をネームサービスに追加すると、ネットワークのすべてのシステムからプリンタにアクセスできるようになります。そうすればプリンタに関するすべての情報が一元化されるため、プリンタの管理が簡単になります。
ネームサービス構成 |
プリンタ情報を一元化する方法 |
---|---|
ネームサービスを使用する |
プリンタを LDAP、NIS、または NIS+ データベースのどれかに追加すると、プリンタはネットワーク上のすべてのシステムからアクセスできるようになります。 |
ネームサービスを使用しない |
プリンタを追加しても、プリンタ情報は印刷サーバーの構成ファイルにしか追加されません。したがって、印刷クライアントがそのプリンタを自動的に認識することはできません。 プリンタを必要とする印刷クライアントにはプリンタ情報を追加する必要があります。 |
LDAP ネームサービスでプリンタ情報を管理する場合は、次の事項に留意してください。
Solaris 印刷マネージャーは、 ldapclient コマンドを使用してデフォルトの LDAP サーバーを決めます。複数のサーバーが指定されている場合は、最初のサーバーが自動的に選択されます。詳細は、ldapclient(1M) のマニュアルページを参照してください。
Solaris 印刷マネージャーは、常にプリンタエントリを現在の LDAP サーバーから表示します。現在の LDAP サーバーがドメインの LDAP マスターサーバーでない場合は、表示されるプリンタのリストが最新でない可能性があります。LDAP 複製サーバーはマスターサーバーによって更新されていない可能性があるため、マスターと同期していないことがあります。複製サーバーは、さまざまな更新複製規約を持つことができます。たとえば、マスターに変更があった場合に、複製サーバーがただちに更新されるようにしたり、一日に一回更新されるようにしたりすることができます。
選択した LDAP サーバーが LDAP 複製サーバーである場合、あらゆる更新はマスターサーバーを参照し、そこで行われます。この場合も、プリンタのリストがマスターサーバーと同期していない可能性があります。たとえば、複製がマスターサーバーから更新されるまで、削除したプリンタがプリンタリストに表示される可能性があります。
ユーザーは、LDAP コマンド行ユーティリティー、ldapadd および ldapmodify を使用して、ディレクトリ内のプリンタエントリを更新できます。しかし、この方法は推奨しません。これらのユーティリティーを使用する場合、ユーザーは printer-name 属性値が ou=printers コンテナ内で一意であることを確かめる必要があります。printer-name 属性値が一意でない場合、Solaris 印刷マネージャーや lpset コマンドによる修正の結果が予測できないものになることがあります。
次の図に、印刷手順の中で、印刷ソフトウェアがプリンタ構成資源の階層をチェックして印刷要求の送信先を決定する処理を示します。
ユーザーは lp コマンドまたは lpr コマンドを使用して、印刷クライアントから印刷要求を出します。ユーザーは、次の 3 つの形式のいずれかを使用して、送信先のプリンタ名またはプリンタクラスを指定できます。
単独名形式。次の例に示すように、lpコマンドとオプションの後にプリンタ名またはプリンタクラスが続きます。
% lp -d neptune filename |
POSIX 形式。次の例に示すように、印刷コマンドとオプションの後に server: printer が続きます。
% lpr -P galaxy:neptune filename |
コンテキストベース形式。次の例に示します。
% lpr -d thisdept/service/printer/printer-name filename |
印刷コマンドは、次の手順でプリンタとプリンタ構成情報を見つけます。
ユーザーが送信先のプリンタ名またはプリンタクラスを 3 つの有効な形式のいずれかで指定しているかどうかをチェックします。
ユーザーがプリンタ名またはプリンタクラスを有効な形式で指定していない場合、ユーザーの PRINTER 環境変数または LPDEST 環境変数にデフォルトプリンタ名が指定されていないか調べます。
どちらの環境変数にもデフォルトプリンタが指定されていない場合は、 /etc/nsswitch.confファイルに printers データベースとして設定された資源を調べます。ネームサービス資源は、次のうちの 1 つである可能性があります。
ドメインの ou=printers コンテナ内の LDAP ディレクトリ情報ツリー
NIS printers.conf.byname マップ
NIS+ printers.conf_dir マップ