Solaris のシステム管理 (第 2 巻)

第 3 章 ネットワーク上でのプリンタの計画方法の概要

ネットワーク上のプリンタを設定する目的は、ユーザーが 1 つまたは複数のプリンタにアクセスできるようにすることです。この章では、最も効率よくネットワーク間でプリンタを分散する方法とプリンタ設定を計画する方法について説明します。

印刷管理作業の手順については、次の章を参照してください。

ネットワーク上でのプリンタの分散

管理者として、各プリンタを 1 台のシステム専用にするのが効率がよいか、多数のシステムが利用できるようにするのがよいかを判断しなければなりません。ネットワーク環境では、複数のプリンタサーバー上にプリンタを分散するのが通常は最もよい方法です。複数のプリンタサーバーを設定する利点は、あるプリンタサーバーに問題が発生しても、別のプリンタサーバーに印刷要求を振り替えられることです。

集中化した印刷構成を採用した場合も、使い勝手をよくしたり、応答時間を短縮したりするために、プリンタをユーザーのシステムに接続できます。ユーザーのシステムに接続されたプリンタも、ネットワーク上の他のシステムから利用できます。

図 3-1 は、集中化印刷構成を採用した場合もプリンタをユーザーのシステムに接続できる例を示しています。

図 3-1 ネットワーク上でプリンタを分散する方法

Graphic

プリンタサーバーと印刷クライアントを割り当てる

どのシステムにローカルプリンタを接続し、どのシステムでは他のシステム上のプリンタを使用するかを決定する必要があります。ローカルプリンタを接続し、そのプリンタをネットワーク経由で他のシステムでも利用できるようにしているシステムを「プリンタサーバー」と呼びます。プリンタサーバーに印刷要求を送るシステムを「印刷クライアント」と呼びます。

LP 印刷サービスは、Solaris 環境で印刷サービスを管理するソフトウェアです。プリンタをシステムに物理的に接続するだけではなく、LP 印刷サービスに対してプリンタの特性を定義し、システムをプリンタサーバーにしなければなりません。プリンタサーバーを設定し終わったら、他のシステムを印刷クライアントとして設定できます。

プリンタサーバーと印刷クライアントは、それぞれ異なるバージョンの SunOS オペレーティングシステム上で実行できます。SunOS 5.8 またはその互換バージョンのオペレーティングシステムを稼動しているシステムから、SunOS 4.1 オペレーティングシステムを稼動している既存のプリンタサーバーに印刷要求を送ることができ、またその逆も可能です。


注 -

SunOS 5.8 は Solaris 8 オペレーティング環境に含まれます。


図 3-2 は、SunOS 5.8 および互換バージョンと SunOS 4.1 のオペレーティングシステムが動作しているシステムからなるネットワーク上の印刷構成の例を示しています。

図 3-2 SunOS 5.8 システムと SunOS 4.1 システムからなる印刷構成の例

Graphic

プリンタサーバーの必要事項と推奨事項

プリンタは、スタンドアロンシステムまたはネットワーク上の任意のシステムに接続できます。ネットワークに接続されていて、プリンタを備えているシステムは、印刷負荷を管理できる十分な資源があれば、どれでもプリンタサーバーとして使用できます。

スプーリング空間

「スプーリング空間」とは、印刷待ち行列内で要求を格納し、処理するためのディスク空間です。スプーリング空間は、どのシステムをプリンタサーバーとして指定するかを決定する場合の唯一重要な要素です。ユーザーがファイルの印刷要求を出すと、それらのファイルは印刷が完了するまで /var/spool/lp ディレクトリに格納されます。/var ディレクトリのサイズは、ディスクのサイズとディスクのパーティション分割方法によって異なります。スプーリング空間は、プリンタサーバーのハードディスク上の /var ディレクトリに割り当てられるか、ファイルサーバーからマウントされてネットワーク上でアクセスされます。


注 -

/var が別のスライスとして作成されていない場合、/var ディレクトリはルート (/) ファイルシステムの空間を使用します。これは、不十分な空間になる可能性があります。


ディスク空間

システムをプリンタサーバーの候補として評価するときは、利用できるディスク空間を考慮してください。大きなスプールディレクトリでは、600M バイトのディスク空間を消費することもあります。プリンタサーバーとして指定できるシステム上で、ディスク空間のサイズと分割設定を調べてください。

また、印刷のニーズと印刷クライアントシステムの利用パターンを慎重に調べてください。小さなグループのユーザーが短い電子メールメッセージ、つまり複雑なフォームを必要としない単純な ASCII ファイルだけを印刷する場合は、20〜25M バイトのディスク空間を /var に割り当てたプリンタサーバーで十分でしょう。ただし、多数の印刷クライアントユーザーが長い文書、ビットマップ、またはラスタイメージファイルを印刷する場合は、スプーリング空間が頻繁にフルになります。ユーザーがジョブを印刷待ち行列に入れることができないと、作業の流れは中断してしまいます。より多くのスプーリング空間を要求すると、システム管理者はスプーリング用のディスク空間を追加するか、異なるシステムをグループのプリンタサーバーとして指定しなくてはならない場合があります。

プリンタサーバーが使用する/var ディレクトリが小さなパーティション上にあり、大きなディスク空間がディスク上の他の場所で利用可能な場合は、そのディスク空間をプリンタサーバーの /var ディレクトリにマウントすることにより、スプーリング空間として使用できます。ファイルシステムのマウントと vfstab ファイルの編集方法については、『Solaris のシステム管理 (第 1 巻)』の「ファイルシステムのマウントとマウント解除 (手順)」を参照してください。

メモリー

Solaris 環境で実行するには、少なくとも 64M バイトのメモリーが必要です。プリンタサーバー用にメモリーを追加する必要はありません。ただし、メモリーが多ければ、印刷要求のフィルタリング処理が高速になります。

スワップ空間

プリンタサーバー上のスワップ空間は、LP 印刷サービスを処理するのに十分な量を割り当ててください。スワップ空間を増やす方法については、『Solaris のシステム管理 (第 1 巻)』の「追加スワップ空間の構成 (手順)」を参照してください。

ハードディスク

最適の性能を発揮させるには、プリンタサーバーにハードディスクとローカル /var ディレクトリが必要です。プリンタサーバー用のスプーリング空間をローカルのハードディスク上にマウントしてください。プリンタサーバーに専用のハードディスクとローカルの /var ディレクトリがあれば、印刷処理ははるかに高速になり、印刷要求の処理に必要な時間をより正確に予測できます。

プリンタ設定の計画

この節では、Solaris 環境で印刷するための計画の立て方の概要を説明します。

プリンタの定義の設定

ネットワーク上でのプリンタの定義は、より効率的な印刷環境をユーザーに提供するための継続的な作業です。この作業によって、たとえばユーザーがプリンタの位置を見つけやすいようにすべてのプリンタのパラメタを設定したり、プリンタのクラスを定義して印刷要求への応答時間を短縮したりできます。

lpadmin コマンドを使用すると、すべての印刷定義を設定できます。一方、Solaris プリンタマネージャを使用すると、プリンタのインストールまたは変更時に印刷定義の一部だけを設定できます。表 3-1 は、印刷定義と、その定義を Solaris プリンタマネージャで割り当てることができるかどうかを示しています。

表 3-1 Solaris プリンタマネージャで設定される印刷定義

印刷定義 

Solaris プリンタマネージャで設定できるか 

プリンタ名

設定できる 

プリンタの説明

設定できる 

プリンタポート

設定できる 

プリンタタイプ

設定できる 

ファイル内容形式

設定できる。ただし lpadmin コマンドより機能は少ない

障害通知

設定できる。ただし lpadmin コマンドより機能は少ない

デフォルトプリンタ

設定できる 

バナーページの印刷

設定できる。ただし lpadmin コマンドより機能は少ない

プリンタへのユーザーアクセスの制限

設定できる。ただし lpadmin コマンドより機能は少ない

プリンタクラス

設定できない 

障害回復

設定できない 

プリンタ名

システムにプリンタを追加するときは、その「プリンタ名」を指定します。プリンタ名は、次の規則に従ってください。

サイトに合った命名規則を設定してください。たとえば、ネットワーク上で異なるタイプのプリンタを使用する場合は、プリンタ名の一部にプリンタタイプを含めると、ユーザーは適切なプリンタを選択しやすくなります。たとえば、PostScript プリンタは文字 PS で識別できます。ただし、サイトのプリンタがすべて PostScript プリンタである場合は、PS というイニシャルをプリンタ名の一部として含める必要はありません。

プリンタの説明

lpadmin -D コマンドまたは Solaris プリンタマネージャを使用すると、プリンタに説明を割り当てることができます。プリンタに割り当てる説明には、ユーザーがプリンタを識別できるような情報を含める必要があります。プリンタが設置されている部屋番号、プリンタのタイプやメーカー、印刷に問題がある場合に連絡する担当者名などを含めることができます。

次のコマンドでプリンタの説明を調べることができます。

$ lpstat -D -p printer-name

プリンタポート

プリンタのインストール時、またはその設定を後から変更するときに、lpadmin -p printer-name -v device-name コマンドまたは Admintool を使用して、プリンタの接続先となるデバイス、つまり「プリンタポート」を指定できます。

ほとんどのシステムが、2 つのシリアルポートと 1 つのパラレルポートを持っています。システムにポートを追加しないかぎり、3 台以上のシリアルプリンタおよび 2 台以上のパラレルプリンタを直接接続することはできません。

Solaris プリンタマネージャを使用すると、/dev/term/a または /dev/term/b を選択するか、「その他 (Other)」を選択してプリンタサーバーで認識されるポート名を指定できます。これらのオプションには、lpadmin コマンドと同じ柔軟性があります。

LP 印刷サービスは、標準プリンタインタフェースプログラムからの設定を使用してプリンタポートを初期設定します。プリンタインタフェースプログラムの詳細は、「印刷フィルタの管理」を参照してください。デフォルト設定で機能しないパラレルプリンタやシリアルプリンタがある場合は、「プリンタポート特性の調整」のポート設定をカスタマイズする方法を参照してください。


注 -

IA 搭載システムで複数のポートを使用している場合、デフォルトでは最初のポートだけが有効です。2 番目以降のポートはデフォルトでは無効です。複数のポートを使用するためには、追加の asy (シリアル) ポートや lp (パラレル) ポートごとに、デバイスドライバのポート構成ファイルを手作業で編集しなければなりません。IA ポート構成ファイルのパスは、次のとおりです。

/platform/i86pc/kernel/drv/asy.conf

/platform/i86pc/kernel/drv/lp.conf

IA 搭載システム上のシリアルポートとパラレルポートを構成する方法については、『Solaris 8 デバイスの構成 (Intel 版)』を参照してください。


プリンタタイプ

プリンタタイプとは、プリンタの種類を表す一般名です。プリンタタイプは、プリンタの様々な制御シーケンスが入っている terminfo データベースエントリを識別します。通常、プリンタタイプはメーカーのモデル名からとります。たとえば、DECwriter のプリンタタイプ名は decwriter です。ただし、共通プリンタタイプ PS はこの規則に従いません。PS は Apple LaserWriter I や Apple LaserWriterII プリンタなど、多くの PostScriptTM プリンタモデルのプリンタタイプとして使用されます。

lpadmin -T コマンドまたは Solaris プリンタマネージャを使用すると、プリンタタイプを指定できます。

Solaris プリンタマネージャを使用すると、メニューからプリンタタイプを選択するか、「その他 (Other)」を選択して terminfo データベース内でプリンタタイプを指定できます。この方法には、lpadmin コマンドと同じ機能があります。

terminfo データベース内のプリンタ名

各プリンタタイプに関する情報は、terminfo データベース (/usr/share/lib/terminfo) に格納されています。この情報には、プリンタの機能と初期設定制御データが含まれます。インストールするプリンタは、terminfo データベース内のエントリに対応していなければなりません。


$ pwd
/usr/share/lib/terminfo
$ ls
1  3  5  7  9  B  H  P  a  c  e  g  i  k  m  o  q  s  u  w  y
2  4  6  8  A  G  M  S  b  d  f  h  j  l  n  p  r  t  v  x  z
$ 

各サブディレクトリには、端末またはプリンタに関してコンパイル済みのデータベースエントリが入っています。各エントリは、プリンタまたは端末のタイプの頭文字別に編成されています。たとえば、Epson プリンタがある場合は、/usr/share/lib/terminfo/e 内を探すと、Epson プリンタの特定のモデルが見つかります。


$ cd /usr/share/lib/terminfo/e
$ ls
emots           ep2500+high   ep48            ergo4000      exidy2500
env230          ep2500+low    epson2500       esprit
envision230     ep40          epson2500-80    ethernet
ep2500+basic    ep4000        epson2500-hi    ex3000
ep2500+color    ep4080        epson2500-hi80  exidy
$ 

上記のように、Epson プリンタのエントリがあります。

NEC プリンタがある場合は、/usr/share/lib/terminfo/n ディレクトリ内を探すと、使用中の NEC プリンタモデルが見つかります。


$ cd /usr/share/lib/terminfo/n
$ ls
ncr7900        ncr7900iv      netronics      network        nuc
ncr7900-na     ncr7901        netty          netx           nucterm
ncr7900i       nec            netty-Tabs     newhp
ncr7900i-na    net            netty-vi       newhpkeyboard
$ 

上記のように、このディレクトリには、NEC のエントリが含まれています。

プリンタタイプの選択

ローカル PostScript プリンタの場合は、プリンタタイプとして PostScript (PS) または Reverse PostScript (PSR) を使用します。使用するプリンタが PostScript をサポートしていれば、プリンタタイプが terminfo データベースに含まれていても、PS または PSR を選択してください。

PostScript プリンタでページの印刷面を上にして印刷すると、文書は逆方向に印刷されます。1 ページ目はスタックの 1 番下になり、最終ページは 1 番上になります。プリンタのタイプを PSR として指定すると、LP 印刷サービスはプリンタに送る前にページの順序を逆転させます。つまり、最終ページが最初に印刷され、各ページは正順にスタックされます。ただし、LP 印刷サービスがページ順を確実に変更できるのは、『PostScript Language Reference Manual』(Adobe Systems Incorporated 制作、Addison-Wesley 社、1990 年刊) の付録 C の Adobe Document Structuring 規格に準拠する PostScript ファイルの場合だけです。

プリンタで複数の種類のプリンタをエミュレートできる場合は、lpadmin -T コマンドを使用して複数のタイプを割り当てることができます。複数のプリンタタイプを指定すると、LP 印刷サービスは各印刷要求に適したタイプを使用します。

該当する terminfo ディレクトリ内でプリンタタイプが見つからないことがあります。プリンタのタイプは、そのプリンタのメーカー名に対応しているとは限りません。たとえば、PostScript プリンタのタイプによっては、メーカーや製品名に固有のエントリの代わりに、PS または PSR エントリ (/usr/share/lib/terminfo/P ディレクトリに入っています) を使用できます。

例外的なタイプのプリンタを使用する場合は、さまざまなエントリを試してみなければ、プリンタのモデルに使用できる特定の terminfo エントリを判断できないことがあります。できれば、プリンタに使用できるエントリを terminfo データベース内で見つけてください。その方が、新しくエントリを作成するよりもはるかに簡単です。独自のエントリを作成しなければならない場合は、「サポートされていないプリンタの terminfo エントリを追加する」を参照してください。役立つヒントが掲載されています。

ファイル内容形式の選択

印刷フィルタはファイルの内容を、目的のプリンタが受け付けることができる形式に変換します。「ファイル内容形式」は、フィルタを通さずに直接印刷できるファイル内容の形式を LP 印刷サービスに通知します。フィルタなしに印刷するには、必要なフォントをプリンタ上でも利用できなければなりません (他のファイルタイプにはフィルタを設定して使用しなければなりません)。

lpadmin -I コマンドまたは Solaris プリンタマネージャを使用すると、プリンタのファイル内容形式を指定できます。Solaris プリンタマネージャを使用すると、メニューからファイル内容形式を選択できます。一部のファイル内容形式はメニューにありません。lpadmin コマンドを使用して、Solaris プリンタマネージャメニューにないファイル内容形式を指定してください。

多くのプリンタでは、次の 2 種類のファイルを直接印刷できます。

ユーザーがファイルの印刷要求を出すときは、そのファイルの内容形式を指定します (lp -T content-type)。要求を出すときにファイルの内容形式を指定しないと、LP サーバーは要求の最初のファイルを見て内容形式を判定します。ファイルが ^D%! または %! で始まっている場合、印刷要求は PostScript データと見なされます。それ以外の場合、ファイルは simple (ASCII) テキストと見なされます。LP 印刷サービスはファイル内容形式を使用して、ファイル内容をプリンタで処理できる形式に変換するためのフィルタを決めます。

Solaris プリンタマネージャではファイル内容形式のリストが表示されるので、ローカルプリンタをインストールまたは変更するときに、そこから形式を選択できます。選択結果は LP 印刷サービスが使用する名前に変換されます。表 3-2 は、Solaris プリンタマネージャで選択できるファイル内容形式を示しています。

表 3-2 Solaris プリンタマネージャによるファイル内容形式の選択

ファイル内容形式 

LP 印刷サービス名 

説明 

PostScript 

postscript

PostScript ファイルはフィルタを通す必要がない 

ASCII 

simple

ASCII ファイルはフィルタを通す必要がない 

PostScript と ASCII 

simple,postscript

PostScript ファイルも ASCII ファイルもフィルタを通す必要がない 

None 

""

プリンタのタイプに一致するもの以外は、すべてのファイルがフィルタを通す必要がある 

Any 

any

フィルタは使用されない。プリンタがファイル内容形式を直接処理できなければ、そのファイルは印刷されない 

プリンタの機能に最も適合するファイル内容形式を選択してください。PostScript は、Solaris プリンタマネージャのデフォルトの選択で、通常はほとんどこのまま使用できます (PostScript ファイルには、フィルタ処理が不要なことを示します)。

通常使用するプリンタ

この節では、Solaris ソフトウェアで最も一般的に使用されるプリンタのプリンタタイプとファイル内容形式について説明します。掲載されていませんが、ここで説明するプリンタの多くは、simple 内容形式のファイルも直接印刷できます。

PostScript プリンタがある場合は、プリンタタイプ PS または PSR と内容形式 postscript を使用してください。PSR はページの順序を逆転させ、各ページを逆順で印刷してバナーページを最後に印刷します。

表 3-3 は、PostScript 以外の他のプリンタと、各プリンタの構成に使用するプリンタタイプを示しています。これらのプリンタでは、ファイル内容形式は simple です。


注 -

Sun では表 3-3 のプリンタをサポートしていませんが、フィルタ処理を行うか、プリンタがファイル内容形式を直接印刷できれば、サポートしていないプリンタを使用できます。以下の製品に不明な点がある場合は、製造元に問い合わせてください。


表 3-3 Sun がフィルタを提供していない PostScript 以外のプリンタ

プリンタ 

プリンタタイプ 

Daisy 

daisy

Datagraphix 

datagraphix

DEC LA100 

la100

DEC LN03 

ln03

DECwriter 

decwriter

Diablo 

diablo

 

diablo-m8

Epson 2500 系列 

epson2500

 

epson2500-80

 

epson2500-hi

 

epson2500-hi80

Hewlett-Packard HPCL printer 

hplaser

IBM Proprinter 

ibmproprinter

terminfo データベースにないプリンタを設定したい場合は、「サポートされていないプリンタの terminfo エントリを追加する方法」を参照してください。