連載
» 2008年11月04日 00時00分 公開

実践でも役立つLPICドリル(7):Linux印刷システムの仕組みと設定 (1/4)

本連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。

[大竹龍史,ナレッジデザイン]

今回のディストリビューション:CentOS 5.2

問題を解く鍵 【1】【2】【3】

 このトピックに関連した設定や試験問題を解く際には、以下の項目がポイントになります。

【1】BSD系のLPD印刷システムの設定ファイルとコマンドを把握しておく

 新しい印刷システムのCUPS(Common Unix Printing System)が開発されるまで、Linuxでは標準の印刷システムとしてLPDが使われてきました。その設定ファイルとコマンドの使用方法を把握しましょう。

 今回対象としたCentOS 5.2をはじめ、最近のLinuxディストリビューションではCUPSが採用されることが多く、LPD印刷システムは提供されなくなりました。ですが、LPD印刷システムのコマンドが、CUPSのコマンドラインインターフェイスとして、ほとんど同じ形で提供されています。

 テキストファイルが非PostScriptプリンタに送られるまでの処理は次のようになります。

テキストファイル
/etc/printcapで指定されたフィルタ(例:magicfilter、lpdomaticなど)。ファイルタイプをマジックナンバーで判定して、対応する処理プログラムを呼び出す)
テキストファイルをPostScriptに変換するフィルタ(mpage、a2ps、enscriptなど )
GhostScript(/usr/bin/gs。PostScriptインタプリタ)
gsに組み込まれているプリンタドライバ
プリンタ
GhostScript はPostScriptのインタプリタであり、GhostScriptに組み込まれたドライバを介して、PostScriptプログラムを対象デバイス(主としてプリンタ)に対応した形式で出力します

非PostScriptプリンタにPostScriptプログラムを出力する際に利用されます

設定ファイル: /etc/printcap
サーバプロセス: lpd
スプールディレクトリ: /var/spool/lpd/プリンタ名
管理コマンド: lpc、lpq、lprm
プリントコマンド: lpr


 スプールディレクトリはプリンタへの出力が完了するまで、一時的に印刷ジョブをキューイングしておくディレクトリです。印刷ジョブはデータファイル(出力ファイル自身)とコントロールファイル(印刷要求を発行したホストのホスト名やユーザー名が記録されている)から構成されます。

/etc/printcapの設定例(ローカルプリンタの場合)
lp1:\
        :mx=0:\
        :sd=/var/spool/lpd/lp1:\
        :sh:\
        :lp=/dev/lp0:\
        :if=/usr/share/printconf/util/mf_wrapper:

mx#0: ファイルサイズの最大サイズを制限。#0 は制限なし
sd=/var/spool/lpd/lp1: スプールディレクトリを/var/spool/lpd/lp1 に指定
sh: バナーページを打ち出さない設定
lp=/dev/lp0: 出力デバイスをパラレルポート/dev/lp0に指定
if=/usr/share/printconf/util/mf_wrapper: フィルタプログラムの指定


/etc/printcapの設定例(リモートプリンタサーバを利用する場合)
lp:\
        :mx=0:\
        :sd=/var/spool/lpd/lp:\
        :sh:\
        :rm=linux0:\
        :rp=lp1:\

rm=linux0: リモートプリンタサーバのホスト名をlinux0に指定
rp=lp1: リモートプリンタサーバのプリンタ名をlp1に指定


 クライアントからのアクセスを許可するために、リモートプリンタサーバの/etc/hosts.equivまたは/etc/hosts.lpdファイルに、クライアント名あるいはすべてのクライアントを表す+を記述しておきます。

 CUPSにおいても、CUPS設定時にLPD対応アプリケーションの互換のためにツールが/etc/printcapを自動生成します。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。