Solaris のシステム管理 (上級編)

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

この章では、最も効率よくネットワーク間でプリンタを分散する方法とプリンタの構成を計画する方法について説明します。

この章で説明する主な内容は次のとおりです。

プリンタ関連作業の情報の参照箇所

プリンタ関連作業 

参照箇所 

Solaris プリンタマネージャと lp コマンドによるプリンタのセットアップ  

第 4 章「プリンタの設定手順 (手順)」

セットアップ後の lp コマンドによるプリンタの管理 

第 5 章「プリンタの管理 (手順)」

文字セット、フィルタ、フォーム、フォントの管理 

第 6 章「文字セット、フィルタ、フォーム、フォントの管理 (手順)」

LP 印刷サービスのカスタマイズ 

第 7 章「LP 印刷サービスのカスタマイズ (手順)」

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

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

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

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

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

ネットワーク例。複数の印刷クライアント、1 つのプリンタサーバーに接続したリモートプリンタ、クライアントの 1 つに接続したローカルプリンタからなります。

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

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

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

プリンタサーバーと印刷クライアントは、 Solaris リリースのさまざまなバージョンと UNIX オペレーティングシステムのさまざまなバージョンで実行することができます。Solaris 9 リリースとその互換バージョンを実行する印刷クライアントは、SunOS 4.1、BSD UNIX、Linux などの lpd をベースにした印刷サービスを実行するプリンタサーバーに印刷することができます。さらに、 lpd をベースにした印刷サービスを実行する印刷クライアントは、Solaris 9 リリースとその互換バージョンを実行するプリンタサーバーに印刷することができます。

以下の図は、Solaris リリースと lpd をベースにした印刷サービスを実行するシステムを備えたネットワークの印刷構成を示しています。Solaris の印刷機能が異機種システム混在環境 でどのように動作するのかについては、リモート印刷の処理スケジュールを参照してください。

図 3–2 Solaris と lpd をベースにしたシステムの印刷構成

lpd ベースの BSD 印刷クライアントと BSD 印刷サーバー、および Solaris 印刷クライアントと Solaris 印刷サーバーが混在しています。

プリンタサーバーの要件と推奨

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

スプーリング空間

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


注 –

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


ディスク空間

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

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

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

メモリー

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

スワップ空間

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

ハードディスク

最適のパフォーマンスを発揮させるには、プリンタサーバーにハードディスクとローカル /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 コマンドまたは Solaris プリンタマネージャを使用して、プリンタの接続先となるデバイス、つまり「プリンタポート」を指定できます。

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

Solaris プリンタマネージャを使用すると、以下のプリンタポートタイプを選択することができます。これらのオプションには、lpadmin コマンドと同じ柔軟性があります。

プリンタポートタイプ 

対応するデバイス名のオプション 

シリアル 

/dev/term/a

シリアル 

/dev/term/b

パラレル 

/dev/printers/0 —> /dev/ecpp0

USB 

/dev/printers/[1–9]

プリンタサーバーが認識するポート名を指定 

Other

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


x86 のみ –

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

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

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


プリンタタイプ

プリンタタイプとは、プリンタの種類を表す一般名です。プリンタタイプは、プリンタのさまざまな制御シーケンスが入っているterminfo データベースエントリを識別します。通常、プリンタタイプはメーカーのモデル名からとります。たとえば、DECwriterTMのプリンタタイプ名は 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 リファレンスマニュアル (PostScript Language Reference Manual)』(Adobe Systems Incorporated 制作、Addison-Wesley 社、1990 年刊) の付録 C の Adobe® Document Structuring Conventions に準拠する PostScript ファイルの場合だけです。

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

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

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

ファイル内容形式の選択

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

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

ほとんどのプリンタは、以下のファイルタイプを直接印刷することができます。

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

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

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

ファイル内容形式 

LP 印刷サービス名 

説明 

PostScript 

postscript

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

ASCII 

simple

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

PostScript と ASCII 

simple, postscript

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

なし 

""

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

任意 

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 エントリを追加する方法を参照してください。