More from: lpc

lpdでプリンタに接続できない

linuxで運用しているサーバにプリンタを追加してlpdサービスを再起動したらネットワークプリンタに接続できなくなってしまった。
印刷にはlpdを使用しているので、/etc/printcapに新しいプリンタの定義を追加して、/etc/rc.d/init.d/lpd restartをして、/usr/sbin/lpc restart プリンタ名を実行したところ、
/usr/sbin/lpc: connect: Connection refused
couldn’t start daemon
となってしまいプリンタに印刷データを送れなくなってしまった。
追加したプリンタだけならまだしも、定義しているプリンタ全てに対して同様のメッセージが出て印刷できない。
このサーバは印刷の為だけに使っているサーバなのでrebootもしてみたが症状に変化は無かった。
何故なのか判らないので悩んでいたら、一部のプリンタから印刷が出始めたと連絡があり、その後順次復旧した。
以前にも同じ現象が他のサーバで発生したことがあり、その時はlpdプロセスが余分に動いていたので止めたところネットワークプリンタに接続できるようになったことを思い出した。
今回も同じだったのではないかと思うが、なにもしないで復旧したので確かなことは判らない。
次回は余分なlpdを止めることから始めてみよう。

←クリックしてくれると嬉しいです。

Linuxでプリンタのステータスが正しく表示されない(?)

Linux上で使われている印刷システムは現在CUPSが主流だと思うが、未だにlpdを使っているサーバが少なからずある。
印刷キューの状態は「lpc status ”プリンタ名”」で見ることが出来るが、ちょっと面白い現象に出くわした。
プリンタサーバ側にトラブルがあって複数のキューが溜まってしまったプリンタのステータスを見たら、
queuing is enabled
printing is enabled
21 entries in spool area
no daemon present
と出ていた。まぁこの表示自体には問題が無い(no daemon presentとなっているがプリンタサーバの応答が無いのでdaemonが止まっているため)。
止まっていたプリンタサーバを再起動し、lpc restart ”プリンタ名”で印刷を再開させてから再度ステータスを見ると、相変わらず「no daemon present」となっている。
ところがプリンタサーバ側にはデータが送られていて印刷が始まっている。
他の端末でステータスを見ると「sending to ”プリンタサーバ名”」となっていて正常に印刷データを送っていることになっている。
同じサーバの同じプリンタのステータスを見ているのに違う結果が表示されている。
不思議に思ったがこの違いは一般ユーザーで見ているかスーパーユーザーで見ているかというところにあった。
一般ユーザーで見ると「no daemon present」と表示され、スーパーユーザーで見ると「sending to ”プリンタサーバ名”」と正しく表示される。
/etc/printcapで指定するスプールディレクトリ(一般的には「/var/spool/lpd/”プリンタ名”/」)にあるstatusというファイルの内容もsending to ”プリンタサーバ名”となっていたが、一般ユーザーだときちんと読み取れなかったらしい。
パーミッションも644になっているので何故読み取れなかったは不明。こんなこともあるんだなぁ?

←クリックしてくれると嬉しいです。